The Newsvendor Model: How Much to Make for a One-Shot CPG Run
The Newsvendor Model: How Much to Make for a One-Shot CPG Run
You're staring at a run order for the holiday-pack SKU. Marketing wants it on shelf for a six-week window. Your co-packer needs a firm quantity by Friday. And you know the trap on both sides: overbuild and you're marking down or scrapping pallets in January; underbuild and you leave margin — and your buyer's confidence — on the table when the display goes empty in week four.
This is one of the most nerve-wracking calls a scheduler makes, and it is not the same problem as your everyday replenishment math. There's a clean, century-old tool built for exactly this decision. It's called the newsvendor model, and it hangs on a single number you can compute in about five minutes.
Why your reorder-point logic doesn't apply here
Most of the planning logic you use every day assumes the run repeats. Economic production quantity, every-product-every-interval wheels, reorder points and safety stock — they all live in a world where if you undershoot this cycle, you true it up next cycle. That's why we treat them as steady-state problems (see economic production quantity and cycle service level vs. fill rate).
A one-shot run breaks that assumption. There is no next cycle to save you. When the promo window closes or the fresh code expires, leftover units are worth their salvage value — a clearance markdown, a secondary-channel dump, or literally the cost of disposal. Underbuilt units are gone the moment the shelf empties.
That single-period, sell-it-or-lose-it structure is precisely what the newsvendor model (also called the newsboy or single-period model) was built for. It's characterized by fixed prices and uncertain demand for a perishable product, where unsold units are effectively worthless at the end of the period. The problem traces back to Edgeworth in 1888, with the classical formulation credited to Arrow, Harris, and Marschak in 1951 — this is settled, well-tested operations math, not a trend.
It fits CPG cleanly. The classic applications are short-shelf-life goods — baked goods, fresh produce, newspapers — plus seasonal, fashion, and promotional items that get a single selling window.
The core trade-off, in plain English
Everything in the model reduces to weighing two kinds of pain.
Overage cost (Co) is what you lose on each unit you make but don't sell at full price. It's your production/purchase cost minus whatever you recover in salvage or markdown. A shelf-stable item you can clear at a discount has a low Co. A fresh, short-code item you have to dump has a Co close to full cost.
Underage cost (Cu) is the margin you forfeit on each unit you could have sold but didn't make. It's the profit per unit — plus, honestly, the harder-to-quantify cost of a buyer seeing empty facings.
The whole decision is: which pain is worse, and by how much? If understocking hurts far more than overstocking, you build aggressively. If leftovers are expensive to eat, you build conservatively. The model just makes that instinct precise.
The one formula you need: the critical ratio
The target for your run is the critical fractile (also called the critical ratio):
Critical ratio = Cu / (Cu + Co)
Read it as the service level for this specific run. It answers: given how the two costs compare, what fraction of possible demand do I want to be able to cover?
- High-margin, low-scrap SKU (big Cu, small Co) → critical ratio pushes toward 1.0 → make more, cover deep into the demand distribution.
- Low-margin, high-perishability SKU (small Cu, big Co) → critical ratio drops → make less, protect yourself against expensive leftovers.
That's the entire strategic content of the decision, captured in one fraction. Revenue managers in airlines and hotels use the identical math under a different name — Littlewood's rule. Same logic, different industry.
Turning the ratio into a run quantity
The critical ratio is a target service level. To get an actual number of cases, you convert it into a demand quantile:
- Estimate demand for the window. You need a mean and a measure of variability (standard deviation, σ) for total demand across the whole selling period — not a weekly rate.
- Compute the critical ratio from Cu and Co.
- Read off the quantity as the demand value at that ratio — the inverse CDF (the quantile) of your demand distribution evaluated at the critical ratio. For normally distributed demand, that's
mean + z × σ, wherezis the z-score corresponding to the critical ratio.
One honest warning: the answer is sensitive to which distribution you assume. The Wikipedia worked examples take the same critical ratio and, depending on whether demand is modeled as uniform, normal, or lognormal, produce optimal quantities of roughly 59, 39, and 45 units. Same costs, same ratio — materially different builds. For skewed promo demand (a long right tail of upside), a lognormal assumption often beats a naive normal one. Don't over-engineer it, but do sanity-check the shape.
A worked CPG example
Say you're planning a limited-time seasonal snack SKU for a single retail window.
- Production cost: $3.00/unit
- Wholesale price: $5.00/unit → margin (Cu) = $5.00 − $3.00 = $2.00
- Salvage value if unsold: cleared to a discount channel at $2.50/unit
- Overage cost: Co = $3.00 − $2.50 = $0.50
Critical ratio = 2.00 / (2.00 + 0.50) = 0.80.
So you want to cover demand up to the 80th percentile. If your forecast says mean window demand is 10,000 units with σ = 2,000, the z-score for 0.80 is about 0.84:
Run quantity = 10,000 + 0.84 × 2,000 ≈ 11,680 units
You deliberately build above the mean because being short costs you four times as much per unit as being long.
Now watch what happens when the item is fresh and can't be salvaged — leftovers get dumped at $0.00. Co jumps to the full $3.00:
Critical ratio = 2.00 / (2.00 + 3.00) = 0.40. The z-score goes negative (about −0.25), so:
Run quantity = 10,000 + (−0.25) × 2,000 ≈ 9,500 units
Same demand forecast, same margin — but because the perishability makes leftovers expensive, you now deliberately build below the mean and accept some risk of selling out. That flip is the whole point: perishability is a lever on quantity, not just a scheduling constraint.
The "don't run it" case
The model has a built-in profitability gate worth knowing. If the effective selling price is below your production cost, the underage numerator goes negative, the critical ratio collapses, and the optimal quantity is zero. In plain terms: if a promo is so deeply discounted that you lose money on every unit even when it sells, the math tells you not to run it at all. That's a useful, unemotional check on marginal promotions that only exist because someone in sales asked nicely.
Where the model breaks — be honest about it
The classic newsvendor is a strictly single-period model. It assumes one build, one selling window, no mid-window replenishment, and worthless leftovers. Two situations strain that:
- Longer-but-limited shelf life. If your product survives across several periods and inventory of different ages accumulates, the single-period assumption can't fully capture the dynamics. That's a multi-period perishable problem, and it's why this tool pairs with — rather than replaces — shelf-life-constrained production scheduling. Researchers have built multi-period extensions rooted in the newsvendor logic for exactly these cases.
- You can re-make mid-window. If your line has slack and you can fire a second run when week-two sell-through comes in hot, you're closer to a repeating-replenishment problem, and cycle-service-level thinking applies.
The model also assumes linear overage and underage costs. If your markdown gets steeper the more you dump, or your understock penalty is a step function (a buyer drops the line entirely), the clean formula understates the true risk.
Use the newsvendor when the run really is one-and-done. Reach for dynamic lot-sizing or EPQ when it repeats.
Garbage in, garbage out: your demand inputs
The critical ratio is only as trustworthy as the mean and σ you feed it — and promotional and seasonal demand is exactly where forecasting is hardest. A promo lift on top of base velocity, cannibalization of your other SKUs, retailer POS patterns, and the promo calendar all shape the distribution.
This is where disciplined CPG demand forecasting earns its keep: build the window forecast net of cannibalization, anchor it to retailer point-of-sale data where you have it, and quantify the uncertainty, not just the point estimate — because σ drives your build cushion as much as the mean does. If your forecasting process only spits out a single number with no spread, you can't run the model honestly. For more on making forecasts that hold up on the floor, see forecasting that survives the floor.
Scheduler's checklist
Before you lock a one-shot run, walk this box:
- Confirm it's truly single-period. No practical mid-window re-run, leftovers salvage low. If not, use replenishment logic instead.
- Compute Co = production cost − salvage/markdown value.
- Compute Cu = full-price margin per unit lost when short.
- Critical ratio = Cu / (Cu + Co). If price < cost, stop — quantity is zero.
- Get the demand quantile at that ratio using your window mean and σ (pick a distribution that fits the demand shape).
- Sanity-check the resulting quantity against line capacity, rough-cut capacity feasibility, and shelf-life limits.
- Lock the run and record the assumptions so you can compare actuals to forecast afterward and sharpen the next promo.
The newsvendor model won't remove the uncertainty from a one-shot run — nothing does. But it replaces a gut number with a defensible one, tied directly to the costs you actually face. That's the difference between guessing at the holiday-pack quantity and being able to explain, on one line, exactly why you built what you built.
CPG Scheduler operationalizes this by carrying the single-run quantity decision into the master schedule — sizing the one-shot build against real capacity, changeover, and shelf-life constraints so the number you compute is the number you can actually make.
Sources
- Newsvendor model — core mechanics, critical fractile, worked examples, zero-order rule, Littlewood's rule, history: https://en.wikipedia.org/wiki/Newsvendor_model
- Newsvendor for short-shelf-life goods; overstock/understock trade-off: https://www.sciencedirect.com/science/article/abs/pii/S0925527310001453
- Single-period problem definition; seasonal/perishable applications and clearance pricing: https://www.sciencedirect.com/science/article/abs/pii/S0377221718300444
- Limitation: single/infinite-period assumption vs. perishables with shelf life: https://www.sciencedirect.com/science/article/pii/S1474034614001128
- Perishable inventory rooted in newsvendor; multi-period extensions: https://www.sciencedirect.com/science/article/abs/pii/S0167637720301437
- History (Edgeworth 1888, Arrow et al. 1951) and single-period definition: https://www.sciencedirect.com/science/article/abs/pii/S0959652621016851
- Demand-forecasting inputs feeding the decision: https://www.netstock.com/blog/demand-forecasting-for-supply-chains-how-to-predict-plan/
- CPG-specific demand forecasting for promos and seasonality: https://www.ascm.org/ascm-insights/beyond-the-shelf--the-cpg-demand-forecasting-edge/
More from the journal
The Bullwhip Effect on Your CPG Line: Why a 5% Shelf Wobble Becomes a Whipsawing Schedule
Your inbound order signal swings harder than consumers actually buy. That jumpiness is a structural amplification called the bullwhip effect. Here's how to name it, measure it, and dampen it from the plant floor.
Croston's Method for Intermittent SKUs: Forecasting the Slow Movers Your Average Keeps Getting Wrong
Standard moving averages and exponential smoothing quietly mis-forecast your sporadic SKUs. Croston's method forecasts demand size and demand interval separately — here's how it works, when to use SBA or TSB, and how to decide which SKUs need it.
Little's Law for CPG Schedulers: Predict Line Lead Time from WIP and Throughput
The line is running at rate, yet orders keep shipping late. Little's Law explains why: lead time is WIP divided by throughput. Learn to predict flow time, cap queues, and quote promise dates you can keep.