The question "which costs more, a stockout or overstock?" has no catalog-wide answer. It has a per-SKU answer, and you can calculate it. Price one unit short (the underage cost) and one unit left over (the overage cost), and the ratio between them gives the in-stock probability that SKU should target. In the worked example below, that ratio puts a durable high-margin SKU at about 92% and a short-life trend SKU at about 36%. A single 95% target across all three example SKUs costs more than twice as much in expected terms as setting each one from its own ratio.
This article does not repeat the cash-cycle mechanics in the inventory cash-flow trap or the model-selection logic in inventory forecasting models. Those cover how much cash inventory ties up and which forecasting math fits which SKU class. This article covers the step in between: deciding how much protection each SKU deserves, given what it costs to be wrong in each direction.
Why there is no catalog-wide answer
Many operators set one service-level target, such as "95% in stock," and apply it to every SKU. Others tier the target by ABC class, as inventory forecasting models recommends: 97–99% on A-SKUs and 90% or lower on C-SKUs. Tiering is a good first cut, but a SKU's rank by revenue contribution and its cost asymmetry measure different things: an A-SKU can be seasonal and expensive to mark down, and a C-SKU can be durable with a high margin. The cost ratio below refines the target within each tier. A single target is a hidden claim about costs. It says that, for every product, being one unit short costs about 19 times as much as being one unit over. (A 95% target corresponds to a ratio of 0.95, and 0.95 ÷ 0.05 = 19.)
That claim holds for some SKUs and is badly wrong for others. A replenishable product with a 50% contribution margin and almost no risk of obsolescence loses a lot when it runs out and very little when it sits for an extra month. A seasonal or trend-driven product with a thin margin and a steep end-of-season markdown is the opposite. One number cannot be right for both.
The decision has a well-established formal answer: the newsvendor model, taught in operations courses as the first stocking formula. MIT's supply-chain course notes define the two costs it compares. The overage cost is "the incremental per-unit cost for any items that cannot be sold," and the underage cost is "the incremental per-unit cost for not meeting demand" (MIT OpenCourseWare). You stock up to the quantity where the probability of covering demand equals:
Critical ratio = underage cost ÷ (underage cost + overage cost)
When demand is roughly normal, the order quantity is the mean demand plus z × the standard deviation, where z is the standard normal value at the critical ratio (NORMSINV in Excel) (MIT OpenCourseWare).
The formula itself is old and simple. The hard part, and where most operators go wrong, is pricing the two costs honestly.
Pricing a stockout: the underage cost
The textbook underage cost is the margin on the sale you missed. The Stitch Fix data science team describes it as the "cost of being one unit short (typically the margin per unit)" (Stitch Fix Multithreaded). For an operator, the relevant margin is contribution margin: price minus landed cost minus the variable costs of fulfilling the order (pick-pack, shipping subsidy, payment fees). Gross margin overstates it.
Not every stocked-out customer is lost, though. A study of shopper responses to out-of-stocks covering 661 retail outlets and 71,000 consumers in 29 countries found that 31% of shoppers said they go to another store, 26% said they substitute a different brand and 9% said they buy nothing at all (FMI). The same study put the world average out-of-stock rate at 8.3% and the typical retailer's loss at 4% of sales (FMI).
These are stated intentions, not observed behaviour, so treat them as an estimate. For a single-brand store, a shopper who switches to a different brand has left you, just like a shopper who goes to another store. Adding those three groups gives 31% + 26% + 9% = 66% of stocked-out demand lost. The release does not itemise the remaining 34%. Treat 66% as a working loss share for a single-brand store, then adjust it for your situation:
- Lower it if customers have no close substitute and you take backorders that convert. A backorder that ships in ten days loses little.
- Raise it for commodity-like products where a competitor is one search away.
- Keep the caveat in view. The survey is from grocery and consumer goods in 2002 and is not an online-specific measurement. If you have backorder and waitlist data, your own conversion rate from "out of stock" sessions is a better input.
Two costs sit outside the lost margin and are worth adding where they apply. The first is lost future orders: a customer who leaves on a stockout may not come back, and the value of that relationship is covered in the economics of churn. The second is paid acquisition still running against an out-of-stock product page, which spends money on traffic that cannot convert. Neither has a reliable industry average. Estimate them from your own repeat-rate and ad data, and add them to the underage cost only when you have a number you can defend.
Pricing an overstock: the overage cost
The overage cost depends on what happens to the unit you did not sell. MIT's notes define it as cost minus salvage value: what you paid, less what you recover (MIT OpenCourseWare). For products that keep selling next period, Stitch Fix notes it can instead be "the estimated cost of carrying inventory for another period" (Stitch Fix Multithreaded).
That gives two regimes:
- Replenishable, durable SKUs. The extra unit sells next cycle. The overage cost is the cost of carrying it until then: capital tied up, storage and handling, and a small allowance for damage and shrink.
- Seasonal, perishable or trend SKUs. The extra unit has to be cleared. The overage cost is landed cost minus the net amount you recover in clearance, liquidation or return-to-vendor, plus carrying cost until it clears.
For the capital piece, use your actual cost of funds: the rate on your inventory line or what that cash would otherwise earn. As a reference point, the bank prime loan rate was 7.00% on November 3, 2026 (Federal Reserve H.15). The example below assumes 7.00% for simplicity; if your inventory line or card financing costs more, use that rate. Capital cost per unit is landed cost × annual rate × months held ÷ 12.
The common mistake on this side is pricing overstock as storage alone. For a durable SKU, storage often is most of the overage cost. For a seasonal SKU, the markdown loss is usually much larger than storage.
Worked example: three SKUs, one demand forecast
The figures below are illustrative assumptions, not benchmarks. Each SKU has the same forecast for the replenishment cycle: mean demand of 300 units with a standard deviation of 90. Capital cost is 7.00% a year. Storage is assumed at $0.50 per unit per month. The underage cost uses the 66% loss share from above.
SKU A: durable core product. Price $60, landed cost $20, variable order costs $8, so contribution is $60 − $20 − $8 = $32.
- Underage: 0.66 × $32 = $21.12.
- Overage: the unit sells next cycle, about three months later. Capital $20 × 0.07 × 3 ÷ 12 = $0.35. Storage $0.50 × 3 = $1.50. Total $1.85.
- Critical ratio: 21.12 ÷ (21.12 + 1.85) = 21.12 ÷ 22.97 = 0.92.
SKU B: seasonal product. Price $40, landed cost $18, variable costs $7, contribution $15.
- Underage: 0.66 × $15 = $9.90.
- Overage: cleared at an assumed net recovery of $12. Markdown loss $18 − $12 = $6.00. Two months to clear: capital $18 × 0.07 × 2 ÷ 12 = $0.21; storage $1.00. Total $7.21.
- Critical ratio: 9.90 ÷ (9.90 + 7.21) = 9.90 ÷ 17.11 = 0.58.
SKU C: short-life trend product. Price $50, landed cost $25, variable costs $9, contribution $16.
- Underage: 0.66 × $16 = $10.56.
- Overage: assumed net recovery $8 in liquidation, so markdown loss $25 − $8 = $17.00. Three months to clear: capital $25 × 0.07 × 3 ÷ 12 = $0.44; storage $1.50. Total $18.94.
- Critical ratio: 10.56 ÷ (10.56 + 18.94) = 10.56 ÷ 29.50 = 0.36.
Converting each ratio to a z-value and an order quantity (Q = 300 + z × 90):
| SKU | Underage cost | Overage cost | Critical ratio | z | Order quantity | |---|---|---|---|---|---| | A: durable core | $21.12 | $1.85 | 0.92 | 1.40 | 426 | | B: seasonal | $9.90 | $7.21 | 0.58 | 0.20 | 318 | | C: short-life trend | $10.56 | $18.94 | 0.36 | −0.36 | 267 |
SKU C should be stocked below its mean forecast. That feels wrong to most buyers, and it is the correct answer. Stitch Fix makes the same point: for goods such as fashion, "the critical ratio may well be below .5," and these are cases where the decision maker should plan to sell out (Stitch Fix Multithreaded).
What a uniform 95% target costs
To compare policies, compute expected units short and expected units left over with the standard normal loss function, L(z) = φ(z) − z × (1 − Φ(z)). Expected units short = σ × L(z). Expected units left over = σ × (z + L(z)). Expected cost = overage cost × units left over + underage cost × units short. A 95% target sets z = 1.645 and Q = 448 for all three SKUs.
| SKU | Policy | Units short | Units left over | Expected cost | |---|---|---|---|---| | A | Own ratio (Q 426) | 3.3 | 129.4 | $309 | | A | 95% (Q 448) | 1.9 | 149.9 | $317 | | B | Own ratio (Q 318) | 27.7 | 45.5 | $602 | | B | 95% (Q 448) | 1.9 | 149.9 | $1,100 | | C | Own ratio (Q 267) | 54.6 | 21.9 | $991 | | C | 95% (Q 448) | 1.9 | 149.9 | $2,859 |
For SKU A, 95% is close to right and costs only $8 more per cycle. For SKU C, the same target multiplies the expected cost by nearly three. Across the three SKUs, the per-SKU policy costs $309 + $602 + $991 = $1,902 per cycle against $317 + $1,100 + $2,859 = $4,276 for the uniform target. That is about 2.2 times as much.
The error runs the other way too. Set SKU A to a lean 50% target (z = 0, Q = 300) to save cash, and expected shortage and leftover are both 35.9 units. Expected cost becomes $1.85 × 35.9 + $21.12 × 35.9 ≈ $825, against $309 at its own ratio. Cutting inventory on the SKU with the cheapest overage is the most expensive way to save cash.
The mistakes this prevents
- One service level for the whole catalog. It overstocks low-ratio SKUs and, if set low to save cash, understocks high-ratio ones. The example shows both errors in money.
- Using gross margin as the stockout cost. Contribution margin after fulfillment and payment costs is what you lose. Gross margin overstates the underage cost and pushes ratios too high.
- Assuming every stocked-out customer is lost, or none is. Survey responses suggest about two-thirds are lost in a single-brand context (FMI), and your backorder data can refine that.
- Pricing overstock as storage only. For anything that has to be marked down, the recovery value drives the overage cost.
- Cutting the wrong SKUs when cash is tight. When cash constrains you, as described in the inventory cash-flow trap, cut from the lowest-ratio SKUs first. Raising your capital rate to your real borrowing cost will lower every ratio a little, and the ranking still tells you where each dollar does the most good.
When the opposite choice is right
The ratio responds to the inputs, so the right answer changes when the economics do:
- A seasonal SKU you can return to the supplier has a high salvage value and a small overage cost. Its ratio rises toward that of a durable product, and stocking deeper is correct.
- A hero SKU carrying your paid acquisition has an underage cost well above its own margin, because a stockout also wastes the ad spend pointed at it. Add that spend to the underage cost and the ratio can approach 1.
- A durable SKU with a falling sales trend behaves more like a seasonal one. Next cycle's demand may not absorb the leftover unit, so price the overage cost at a markdown, not at one cycle of carrying cost.
- Long or unreliable lead times do not change the ratio, but they widen the demand uncertainty over the cycle. A larger σ makes the gap between policies bigger in units and dollars. The input-quality issues behind that are covered in inventory forecasting models.
A decision rule you can apply this week
- For each SKU with meaningful volume, write down contribution margin, landed cost, expected recovery value if unsold, months to sell or clear a leftover unit, and your real cost of capital.
- Underage = loss share × contribution margin (start at 0.66 for a single-brand store and adjust with your backorder data), plus any defensible acquisition or relationship cost.
- Overage = carrying cost to next sale for replenishables, or landed cost − recovery + carrying cost to clearance for everything else.
- Critical ratio = underage ÷ (underage + overage). Use it as the SKU's in-stock target.
- Review the ratios when price, cost, recovery value or lead time changes, not on a fixed annual cycle.
Grouping SKUs into three or four ratio bands is usually precise enough. The gain comes from abandoning a single target, not from the third decimal place.
FAQ
Is a stockout always worse than overstock for high-margin products?
Usually, when the product is durable and replenishable, because a high margin raises the underage cost and a durable product keeps the overage cost low. Stitch Fix notes that non-perishable products "will have a high critical ratio, especially if the margins are high" (Stitch Fix Multithreaded). A high-margin product that loses most of its value at season end can still have a ratio below 0.5.
What share of customers do I lose when a product is out of stock?
In a 29-country survey of 71,000 consumers, 31% of shoppers said they go to another store, 26% said they switch brands and 9% said they buy nothing (FMI). For a single-brand store that totals 66%. It is a grocery-era benchmark, so replace it with your own backorder conversion data once you have it.
Should I ever order less than my demand forecast?
Yes, when the critical ratio is below 0.5. That happens when an unsold unit costs more than a missed sale, typically short-life products with low recovery values. In the example, SKU C's ratio of 0.36 gives an order of 267 units against a mean forecast of 300.
How does this relate to safety stock?
Safety stock is the z × σ part of the order quantity. The critical ratio tells you which z to use for each SKU. Most safety-stock calculations pick z from a fixed service level, so the ratio is the missing step that sets that level from costs.
What cost of capital should I use?
Use the rate you actually pay on inventory financing, or the return the cash would earn elsewhere if you are self-funded. The bank prime rate, 7.00% on November 3, 2026 (Federal Reserve H.15), is a reference point; if you borrow to fund inventory, use the rate on that facility instead.


