How much safety stock? Service level and the cost of the last few points
1. Before you start
Safety stock is the extra inventory you hold on top of your expected need, to cover the days when demand runs high or a delivery runs late. Service level is the promise it buys: the probability you do not run out during a replenishment cycle. A 95% service level means that, in a typical cycle, you expect to be in stock about 95 times out of 100.
Here is the tiny worked example the whole course turns on. If demand wobbles by about 360 units
over a lead time, then covering 95% of cycles takes roughly 1.65 × 360 ≈ 594 units of safety
stock, and covering 99% takes roughly 2.33 × 360 ≈ 839. That multiplier — 1.65, then 2.33 — is a
z-score, and it climbs faster than the service level it buys. The last few points are the
expensive ones.
Three honest statements before you start:
- This is a Decide course. You read a situation, learn the idea, and make a call. You do not write or run any code.
- The company below, Meadowbrook Home, is composite — an invented consumer-goods brand built from ordinary figures so the arithmetic is clean. No number is a claim about any real company.
- This is not a certification. It shows, to you, that you can defend a safety-stock call.
You need only arithmetic and one square root. The hard part is judgment, not maths.
2. The Situation
Meadowbrook Home sells a flagship body wash through grocery and drug retail, and its supply chief has issued a blanket rule: “99% service level on everything — we never want an empty shelf.” The planner pushing back has run the numbers and found that the rule quietly parks a large amount of cash in the warehouse for a single SKU, most of it buying the last four points of service.
You have to make the call: what service level should this SKU actually run at, and is “99% on everything” a policy or a reflex? The answer turns on how much demand wobbles and on what a unit of held stock costs you.
3. What you’ll be able to do
After this course you will be able to:
- Compute safety stock from demand variability, lead time, and a target service level using
safety stock = z × σ, and read the z-score off a service-level table. - Explain the z-curve: why raising service from 95% to 99% costs far more stock per point than 90% to 95%, and name the number that makes each point expensive.
- Decide whether pushing a SKU to a higher service level is worth the extra holding cost, and say what would flip that call.
- Spot when the cheaper move is to cut the variability (shorter, steadier lead time) instead of buying more stock.
4. Prerequisites & time box
Prerequisites: arithmetic and one square root. Helpful but not required: the idea of a reorder point and of a standard deviation as a measure of “how much a number wobbles” (both recapped in section 6). No spreadsheet, no statistics background. This is a read-and-decide course in the browser — there is no code to set up.
Time box: about 20 minutes of reading (measured), plus your own thinking time on the call. That is under the 25-minute cap for a concept course.
Difficulty: 5 / 8 — a manager-level decision: several factors move at once and the naive reading points the wrong way, so you have to reason past it.
Free-tier honesty: no signup, no paid tools, requires_gpu: false. Everything here is
arithmetic you can check by hand.
5. The case & where the numbers come from
Meadowbrook Home is a composite consumer-goods brand: its demand and cost figures are built from ordinary numbers a mid-size household-products planner would recognise, chosen for clean arithmetic and not drawn from or claimed about any real firm. The definitions and the z-values — safety stock, service level, the z-score for each service level — are standard and cited in section 11. Every figure below is either an in-course assumption or computed from these inside the course; the z-values come from a standard normal table (section 11).
| Item | Figure | Origin |
|---|---|---|
| Average daily demand | 400 units/day | in-course assumption |
| Demand standard deviation (σ per day) | 120 units/day | in-course assumption |
| Replenishment lead time (fixed) | 9 days | in-course assumption |
| Holding cost | $4 per unit per year | in-course assumption |
| z-score for 90% / 95% / 99% service | 1.28 / 1.65 / 2.33 | standard normal table (cited, §11) |
| Estimated annual value of moving this SKU 95% → 99% | $600 / year | in-course assumption |
6. The Concepts
Service level and the z-score
Service level is the probability you stay in stock through a replenishment cycle — the fraction of cycles that end without a stockout. It is a choice, not a fact of nature: you buy a higher service level with more safety stock.
Demand over a lead time is not one number; it varies. If you model that variation as a normal (“bell”) curve, the z-score is how many standard deviations above the average demand you must stock to cover a given fraction of cases. A z-table maps each service level to its z:
| Service level | z-score |
|---|---|
| 90% | 1.28 |
| 95% | 1.65 |
| 97.5% | 1.96 |
| 99% | 2.33 |
| 99.9% | 3.09 |
The two columns are the crux of the whole course: the service level climbs in even steps, but the z-score that buys it does not. Notice the jump from 95% to 99% (1.65 → 2.33, a rise of 0.68) is nearly twice the jump from 90% to 95% (1.28 → 1.65, a rise of 0.37) — even though 90%→95% covers more percentage points. Hold that thought.
Safety stock: z times the variability
Safety stock is the z-score times the amount demand can wobble over a lead time:
safety stock = z × σ_LT, where σ_LT = σ_daily × √(lead time).
The square root appears because variability accumulates over independent days, not day-by-day in a
straight line: over 9 days the spread grows by √9 = 3, not by 9. For Meadowbrook’s body wash,
σ_LT = 120 × √9 = 120 × 3 = 360 units. So:
- At 90% service:
1.28 × 360 = 461units of safety stock. - At 95% service:
1.65 × 360 = 594units. - At 99% service:
2.33 × 360 = 839units.
Each of these sits on top of the average lead-time demand (400 × 9 = 3,600 units); the safety
stock is the buffer, and it is the part the service-level choice controls.
(An interactive calculator sits here — enter your own demand variability, lead time, holding cost, and the two z-values, and watch the extra stock and its cost, and the accept/decline decision, flip.)
The z-curve: why each service point costs more
Line the three levels up and watch the marginal cost of a point of service:
| Move | z rises | Safety stock rises | Points of service | Stock per point |
|---|---|---|---|---|
| 90% → 95% | 1.28 → 1.65 | 461 → 594 (+133) | 5 points | ~27 units/point |
| 95% → 99% | 1.65 → 2.33 | 594 → 839 (+245) | 4 points | ~61 units/point |
Buying a point of service in the 95%–99% band costs about 2.3× as much stock as a point in the 90%–95% band — 61 units versus 27. At $4 per unit per year that is roughly $245 of holding cost per point up top versus $106 per point below. The reason is the shape of the bell curve: covering the thin, far tail (the rare high-demand cycle) takes disproportionately more buffer than covering the fat middle. This is the z-curve, and it is exactly why “aim for 99% everywhere” quietly ties up cash — the policy spends its most expensive stock on the SKUs that may least need it.
Holding cost versus stockout cost: setting the level
So what level should the SKU run at? The right level is where the cost of one more point of service stops being worth what that point buys you. Two numbers meet here:
- The cost of the upgrade — the extra safety stock times the holding cost. Going 95% → 99% for
Meadowbrook’s body wash is
(839 − 594) = 245extra units × $4 = $980/year. - The value of the upgrade — the lost margin you avoid by stocking out less often. For this SKU the planner estimates that moving from 95% to 99% is worth about $600/year in avoided lost sales (it is a staple with close substitutes on the shelf, so a rare stockout mostly delays a purchase rather than losing it).
$980 spent to save $600 is a bad trade: hold this SKU at 95%. The blanket 99% rule would spend $980/year to buy $600/year of protection. The call flips, though, the moment the inputs change — a higher-margin SKU where stockouts truly lose the sale (upgrade worth more), a cheaper-to-hold item (lower holding cost), or steadier demand (smaller σ, so fewer extra units per point) can all make 99% the right answer. That is what the calculator is for: change one input and the decision moves.
Cutting the variability instead of raising the level
There is a third lever the service-level debate hides. Safety stock scales with σ_LT = σ_daily × √(lead time), so you can lower the stock you need at any service level by shrinking either term.
Halving the lead time from 9 to about 4 days cuts √(lead time) from 3 to 2 — a one-third
reduction in σ_LT, and therefore in safety stock, at every service level, with no service given up.
Often the cheapest way to hit a high service level is not to buy more buffer but to make demand or
supply less variable: a nearer supplier, a steadier promotion calendar, a shorter, more reliable
lead time. When stock is expensive or space is capped, reach for this lever before you reach for a
bigger z.
7. Your Call
You have seen how the z-score, the square-root-of-lead-time, and the holding-versus-stockout trade decide Meadowbrook’s call. Now a different one lands on your desk.
Tidewater Beverages bottles a sports drink, ElectroFizz, sold through convenience and grocery retail — a different company in a different consumer-goods sector from Meadowbrook’s body wash. Its figures are different: average demand 900 units/day, demand standard deviation 200 units/day, lead time 16 days, holding cost $3 per unit per year. Today it runs at 90% service (z = 1.28). Marketing wants 99% service (z = 2.33) ahead of a summer push. And there is a new wrinkle: the warehouse can hold at most 1,200 units of safety stock for this SKU — a hard capacity cap. Your job is not a simple accept/decline: it is to say how to hit a high service level under that cap, and whether raising z alone can even do it.
How this differs from the taught case (the transfer): this is a different company and consumer-goods sector (a beverage, not a body wash), the numbers are different so σ_LT and the safety stock must be recomputed from scratch, the decision type is different (fit a service goal under a constraint, not a yes/no upgrade), and there is an added constraint — a hard warehouse cap the taught case never had. The core concept is the same: safety stock is z × σ_LT, and the z-curve makes the top points expensive. (Four dimensions differ; the rule requires two.)
8. Self-check
Before you write the memo, make sure you can say each of these in one line:
- Why does safety stock scale with the square root of lead time, not the lead time itself?
- What makes a point of service in the 95%–99% band cost more stock than a point in the 90%–95% band?
- What are the two numbers you weigh to set a SKU’s service level, and which way does each push it?
- When would you cut the lead time instead of raising the z-score?
If any is fuzzy, reread section 6 — the z-score, σ_LT, the z-curve, the holding-versus-stockout trade, and the variability lever are the whole course.
9. Stretch
Push the decision further on your own:
- Back at Meadowbrook: at what holding cost per unit does the 95% → 99% upgrade become worth its
$600/year of value? (Solve
245 × h = 600, then say whether a real body wash lands above or below that.) - For ElectroFizz, suppose the co-packer cuts the lead time to 9 days and a steadier promotion calendar cuts σ_daily from 200 to 150. What safety stock does full 99% service now need, and does it finally fit the 1,200-unit cap? (The genuinely harder one: recompute σ_LT from both changes.)
- Write the one sentence you would say to a supply chief who insists “99% on everything, no exceptions.”
10. Ship it — your decision memo
Write a one-page memo to Meadowbrook’s supply chief. State the call (do not run the body wash at 99%; hold it at 95%, because the 95% → 99% upgrade costs about $980/year in holding to buy roughly $600/year of avoided lost sales). Show the two-line arithmetic (σ_LT = 120 × √9 = 360; safety stock 594 at 95% versus 839 at 99%; 245 extra units × $4). Name what you rejected (“99% on everything” as a reflex; treating service level as a linear scale) and why. Name the one thing that would change your mind (a higher-margin SKU where a stockout truly loses the sale, a lower holding cost, or steadier demand). Keep it to a single page a supply chief grasps in two minutes. This memo is your own argued claim — not a credential.
11. Sources
Meadowbrook Home and Tidewater Beverages, and every unit and dollar figure attached to them, are composite — invented from ordinary, realistic figures for clean teaching arithmetic, not drawn from or claimed about any real company. What is cited below are the standard definitions and the z-values the course uses; every other figure the learner sees is an in-course assumption or computed from those assumptions inside the course.
| Concept / claim | Source (publisher) | URL | Accessed |
|---|---|---|---|
| Safety stock definition and z × σ formula | Wikipedia — Safety stock | https://en.wikipedia.org/wiki/Safety_stock | 2026-07-19 |
| Service level as probability of no stockout in a cycle | Wikipedia — Service level | https://en.wikipedia.org/wiki/Service_level | 2026-07-19 |
| z-score for each service level (1.28 / 1.65 / 1.96 / 2.33 / 3.09) | Wikipedia — Standard normal table | https://en.wikipedia.org/wiki/Standard_normal_table | 2026-07-19 |
| Normal distribution underlying the z-curve | Wikipedia — Normal distribution | https://en.wikipedia.org/wiki/Normal_distribution | 2026-07-19 |
| Lead time as the driver of variability over a cycle | Wikipedia — Lead time | https://en.wikipedia.org/wiki/Lead_time | 2026-07-19 |
| Reorder point that safety stock sits on top of | Wikipedia — Reorder point | https://en.wikipedia.org/wiki/Reorder_point | 2026-07-19 |
Next up
Finished this call? Continue the Supply Chain & Procurement track:
One supplier or two? Single vs dual sourcing when the part is critical → · Browse all courses