PSCM House
Inventory Management

What is a good out-of-stock rate?

By Marco Koehler · August 17, 2026 · 9 min read

Most answers to this question come from grocery retail, where 2% is the standard and the shelf gets replenished twice a week. D2C does not work that way, and copying those numbers is how brands end up with a warehouse full of cash they cannot spend.

The real answer: most D2C brands run somewhere between 8% and 12%. A well-run one targets 5% overall. Below that, you are usually not looking at better planning. You are looking at inventory you paid for to buy down a risk you could have accepted.

This page is the benchmark and the trade-off. Not the sales pitch.


The short answer

For a D2C brand between €10M and €80M:

That last point is the one that gets missed. A very low out-of-stock rate is not automatically good news. It is a number you bought, and the receipt is in your inventory line.


Why D2C cannot hit retail benchmarks

This is not a discipline gap. It is arithmetic, and it comes down to three things.

1. Marketing writes the demand curve, and it does not tell planning first

In grocery, demand is a slow-moving statistical object. In D2C, a creative that lands can triple a SKU’s velocity in 48 hours. One well-performing campaign, one affiliate post, one product moment, and the SKU that was covered for six weeks is covered for nine days.

You cannot forecast that from history, because it did not come from history. It came from an ad account.

2. The only defense is inventory, and inventory is cash

The standard response is to hold more. But safety stock sized for a 3x demand spike is not safety stock, it is a warehouse of dead capital that sits there in every month the spike does not happen.

And it does not even work reliably. Hold enough for a 3x spike and you are exposed the day a campaign does 5x. Hold enough for 5x and you have built a business that finances inventory instead of growth.

At some point you are paying real money to avoid a stockout that would have cost you less than the coverage did.

3. Your lead time is longer than your spike

The spike lasts days. Your replenishment cycle is weeks, sometimes months. You cannot react inside the window. By the time the reorder lands, the campaign is over and the demand it created has moved on.

This is the actual constraint. Not planning quality, not software. The gap between how fast demand can move and how fast supply can.


The number is a decision, not a score

Every point of out-of-stock reduction costs something, and the cost is not linear.

The job is not to minimise the number. It is to know which range you are buying, and to buy it deliberately.


Where you accept it, and where you do not

Averages hide the only decision that matters. A 10% out-of-stock rate can be excellent or fatal depending entirely on which products it lands on.

Your top SKUs get the capital. The products carrying your revenue and your repeat purchase get protected: tighter reorder points, real buffer, an alert the moment they drop, and first call on cash when it is tight.

The tail absorbs the variance. A slow-moving SKU going out for two weeks is not a failure. It is the system working. That is where you take the stockout, on purpose, so the top has cover.

Which means the goal is not a flat 5% everywhere. It is closer to 2–3% on the products that pay for the business and 15%+ on the tail, averaging to 5%. Two brands can both report 5% and one of them is running a completely different company.


How to measure it honestly

The two formulas

The simple one counts unavailable SKUs against total SKUs:

OOS rate = SKUs out of stock / total SKUs

The useful one weights by what each SKU actually earns:

Revenue-weighted OOS = revenue of unavailable SKUs / total expected revenue

Track both, because the gap between them is the diagnosis.

If SKU-level is 10% and revenue-weighted is 4%, your inventory is pointed at the right products. The stockouts are landing in the tail, where you want them. That is a well-run operation, not a problem to fix.

If SKU-level is 5% and revenue-weighted is 9%, you have it backwards. Your bestsellers are the ones going out, your catalogue average is flattering you, and the number to act on is the second one.

The number nobody tracks: recovery time

If you cannot prevent the spike, the honest performance measure is how fast you come back.

A bestseller out for three days is a bad week. The same SKU out for 20 days is a different category of problem: the customer bought elsewhere, the campaign got deprioritised, and your forecast is about to learn that the product is weak.

Track days-out-of-stock per SKU. On your top 20, anything past a week is structural.

Two ways your dashboard under-reports

Daily snapshots. Most systems check inventory overnight. A SKU that sold out at 11am and was restocked at 6pm never registers.

Variant-level reality. One unit left is “in stock.” Available in XS and XXL but not S, M, L is “in stock.” Availability at variant level is the only version a customer experiences.


What it costs, both ways

You need both sides of this to set the number, so here is the honest version of each.

What a stockout costs

The order you did not get. The obvious one, and usually the smallest.

The ad spend still running. Your campaigns do not know the product is gone. On a top SKU with budget behind it, a nine-day stockout burns real money driving traffic to a greyed-out button, and the collapsed conversion rate teaches the ad platform to deprioritise the campaign. You pay for the recovery too.

The first-time customer. They do not reschedule. They buy the competitor’s version, and if it works, that is their brand now. For consumables this is the expensive one: you paid acquisition cost to lose a two-year repeat cycle.

The forecast damage. A SKU that sold nothing for nine days because it was unavailable reads as reduced demand. Your forecast orders less next cycle, so it stocks out again. Bestsellers get demoted to mid-tier purely as an artefact of their own stockouts. Correct your demand history for unavailability or the forecast keeps learning the wrong lesson.

What avoiding it costs

Capital that cannot be deployed. Every unit of coverage is cash sitting in a warehouse instead of funding acquisition, product, or hiring.

Expiry and obsolescence. For consumables and anything seasonal, coverage bought for a spike that did not come gets written off.

Markdowns. The other way inventory leaves: at a discount, taking your margin with it.

Storage and handling. Real, recurring, and rising with volume.

The brands that get this wrong in the second direction are quieter about it, because a warehouse full of stock does not feel like a failure the way an out-of-stock bestseller does. It is often the more expensive mistake.


The four causes, in the order they show up

1. Marketing and supply are not in the same conversation

The dominant cause in D2C, and the most fixable. The campaign calendar exists. The planning cycle exists. They are in different tools, owned by different people, reviewed in different meetings.

The tell: your biggest stockouts follow your best campaigns.

2. Lead times treated as fixed

Your reorder points assume 45 days. Your actual receipts last year ranged from 38 to 71. You are planning against the contract instead of the distribution in your own data.

The tell: stockouts cluster after your longest-lead-time supplier ships, and it gets called bad luck every time.

3. One blanket policy across a catalogue that needs three

Two weeks of cover for everything, or a flat unit buffer per SKU. This ignores the two things that should drive it: how variable that SKU’s demand is, and how variable its supply is.

Predictably expensive in both directions at once. Stable SKUs carry too much, volatile bestsellers carry too little, and the average looks fine.

The tell: you are overstocked in cash terms and stocked out on the products that matter, in the same month.

4. Nobody owns the number

Marketing owns demand. Ops owns purchase orders. Finance owns the cash that limits both. Availability sits between all three and belongs to none of them.

The tell: ask why the bestseller went out and you get three explanations that are each individually true.


How to fix it, in order

Aimed at 5%, not at zero.

1. Measure honestly. Revenue-weighted, at variant level, with days-out per SKU. If you do nothing else, do this. You cannot make a capital trade-off against a number you are flattering.

2. Segment the catalogue. Top SKUs by revenue get a different policy from the tail. Decide explicitly where you are willing to stock out.

3. Put the campaign calendar into the planning cycle. The single highest-value change for most D2C brands. Planning needs to see what marketing is about to launch, with enough lead time to do something about it. This is a meeting, not a system.

4. Plan lead times from your own data. Twelve months of actual receipt dates against order dates, per supplier. Use the 80th percentile, not the average and not the quoted number.

5. Differentiate safety stock by variability. Volatile demand or supply gets more cover, stable gets less. This will not save you from a 5x campaign, and it should not be sized as if it could. It handles ordinary variance so your capital is aimed at the right SKUs.

6. Pause ads on unavailable products automatically. Cheap, fast, and it usually pays for the rest of the work on its own.

7. Track recovery time. Since you cannot prevent every spike, make speed back the number your team is measured on.


What good looks like

None of this needs new software. Most brands doing it well are doing it in the systems they already have, with the trade-offs made deliberately instead of inherited.

If you want the wider frame this sits in, start with what Supply Chain actually covers beyond logistics.

See your own number.

The free Shopify store analysis scans your live store and returns your current out-of-stock picture: which products are unavailable, which of them are still being discounted or advertised, and where the pipeline risk sits. No admin access, no credentials, public store data only.

Analyze my store

Frequently Asked Questions

What is a good out-of-stock rate for a D2C brand?

Around 5% overall. Most brands run 8–12%, including well-run ones. The 1–2% figures you see quoted come from grocery retail, where demand is stable and replenishment is fast, and they do not transfer to a business where marketing can triple demand for a SKU in 48 hours.

Is a 10% out-of-stock rate bad?

Not by itself. It depends entirely on which products. Ten percent concentrated in your long tail while your top SKUs stay available is a functioning operation. Ten percent that includes your bestsellers is a revenue problem. Check the revenue-weighted number before you judge the headline one.

Why can’t I just hold more safety stock?

You can, and to a point you should. But safety stock sized for an unpredictable 3x campaign spike is dead capital in every month the spike does not come, and it still leaves you exposed when a campaign does 5x. Past a certain point you are paying more for coverage than the stockouts would have cost.

How do you calculate out-of-stock rate?

The simple version divides unavailable SKUs by total SKUs. The useful version weights each SKU by revenue contribution, measures at variant level, and tracks days unavailable per SKU rather than a point-in-time count.

Should I aim for 0% out of stock?

No. For a D2C brand, defending a full catalogue against unforecastable demand spikes costs more in capital, expiry and markdowns than the stockouts it prevents. Aim to choose where your stockouts happen, not to eliminate them.

Why do my bestsellers stock out first?

They sell faster than the forecast assumed, so they hit the reorder point first, and most brands apply one blanket safety stock rule across a catalogue with wildly different demand variability. It is also where marketing spend is pointed, which is exactly the demand you cannot forecast.

Can I fix this without new software?

Usually yes. Most of the fix is decisions: honest measurement, segmented policies, lead times from real data, the campaign calendar reaching planning, and a named owner. Software helps once those exist and buries you when they do not.