Manufacturing · Inventory

Safety Stock Calculator

Size the buffer that protects your service level. This uses the full Z-score formula — accounting for both demand and lead-time variability, not just demand like most calculators.

Inputs & Results Full Z-score · demand + lead-time variability
 
Excel/Sheets: use STDEV.S on recent daily demand.
 
Use actual supplier lead times; enter 0 if lead time is fixed.
 
Safety stock
units to hold as buffer
Service factor Z
Demand during lead time
From demand variability
From lead-time variability
vs. demand-only formula (the common shortcut)
Safety stock, demand variability only
Extra buffer the full formula adds

Method — statistical safety stock with normally-distributed demand and lead time (assumed independent); the service level is converted to a Z-score via the inverse normal distribution.

What is safety stock?

Safety stock is the buffer inventory you hold on top of expected demand during lead time. Its job is to absorb the two things that go wrong between reorders: demand comes in higher than forecast, or replenishment takes longer than planned. Size it right and you hit your target service level without drowning in working capital.

The full safety stock formula

SS = Z × √( L × σd²  +  d² × σL² ) Z = service-level factor (from your target fill rate)  ·  L = average lead time (days)
σd = std dev of daily demand  ·  d = average daily demand  ·  σL = std dev of lead time (days)
Most free calculators only use Z × σd × √L — they assume lead time is perfectly stable. The moment your supplier or production lead time varies, that term d² × σL² kicks in, and it is often the bigger driver. This tool includes it, so you don't silently under-buffer.

Turning a service level into Z

You don't need a Z-table — enter the service level you want and the calculator converts it with the inverse normal distribution. But if you want to look the value up or sanity-check a number someone handed you, here is the full table. "Stockout risk" is simply 100% minus the service level: the chance of running out during any one replenishment cycle.

Cycle service levelZ-scoreStockout risk per cycle
50%0.0050%
75%0.6725%
80%0.8420%
85%1.0415%
90%1.2810%
95%1.645%
96%1.754%
97%1.883%
98%2.052%
99%2.331%
99.5%2.580.5%
99.9%3.090.1%

Look at what happens above 95%: going from 95% to 99% raises Z from 1.64 to 2.33, so the buffer grows by about 42% to buy back just four points of risk. Going to 99.9% nearly doubles the 95% buffer. This is why blanket "99% on everything" policies quietly consume working capital — set high service levels on the items where a stockout actually costs you, not across the whole catalogue.

Safety stock formula variations (and which to use)

There is no single canonical safety stock formula. Which one is correct depends entirely on which sources of variability you can actually measure. Here are the three you will meet, weakest to strongest.

1. Max/average method (no statistics needed)

SS = (Max daily usage × Max lead time) − (Avg daily usage × Avg lead time)

Popular because it needs no standard deviations — just the worst case you have seen. The catch is that it has no service level: you cannot dial the risk up or down, and the answer depends on how extreme your single worst historical observation happened to be. One freak event permanently inflates the buffer. Use it when you have too little history to compute a standard deviation.

2. Demand-variability only

SS = Z × σd × √L

This is what most free calculators implement. It has a real service level, which makes it a genuine improvement — but it assumes lead time never varies. If your supplier is reliable to the day, it is correct and simple. If not, it under-buffers, sometimes badly.

3. Demand and lead-time variability (what this calculator uses)

SS = Z × √( L × σd²  +  d² × σL² )

The complete form. It adds the d² × σL² term for lead-time variability, and treats the two sources as independent — which is why they combine as a root-sum-of-squares rather than a simple sum.

Which method fits your data

Your situationUse
No usable history, just a known worst caseMax/average method
Demand varies, lead time is reliable to the dayZ × σd × √L
Both demand and lead time varyFull formula (this tool)
Lead time varies a lot, demand is steadyFull formula — the lead-time term will dominate

Safety stock worked example

A distributor sells an average of 480 units a day with a standard deviation of 60. Replenishment takes 7 days on average, with a standard deviation of 2 days. The target is a 95% cycle service level.

InputValue
Average daily demand d480 units / day
Std dev of daily demand σd60 units
Average lead time L7 days
Std dev of lead time σL2 days
Cycle service level95%

Step 1 — convert the service level to Z. From the table above, 95% gives
Z = 1.645

Step 2 — compute the demand-variability term. Variance, not standard deviation, is what adds:
L × σd² = 7 × 60² = 7 × 3,600 = 25,200

Step 3 — compute the lead-time-variability term.
d² × σL² = 480² × 2² = 230,400 × 4 = 921,600

Step 4 — combine and take the square root.
25,200 + 921,600 = 946,800
√946,800 = 973.04
SS = 1.645 × 973.04 = 1,601 units

Step 5 — see what lead-time variability cost you. Had we used the demand-only formula, the answer would have been Z × σd × √L = 1.645 × 60 × √7 = 261 units. The full formula returns 1,601 — 1,339 units more. Look at where the variance actually comes from:

Source of variabilityVarianceShare of total
Demand (L × σd²)25,2003%
Lead time (d² × σL²)921,60097%

Almost all the risk on this item is the supplier, not the customer. A demand-only calculator would have told you to hold 261 units and you would have stocked out repeatedly — while the real fix is either a buffer of 1,601 units or a more reliable lead time. That diagnostic is the reason to carry both terms.

A tempting mistake: adding the two buffers instead of combining their variances. That would give 261 + 1,579 = 1,840 units — about 15% too much. Independent risks do not both peak at the same moment, which is why the correct combination is the square root of the summed variances.

From safety stock to reorder point

Safety stock on its own does not tell you when to reorder. The reorder point is expected demand during lead time plus the buffer:

ROP = d × L  +  SS

Continuing the example: expected demand during lead time is 480 × 7 = 3,360 units, so
ROP = 3,360 + 1,601 = 4,961 units

When stock on hand falls to 4,961 units, place the order. If demand and lead time both land on their averages you will receive the replenishment with the 1,601-unit buffer still intact; the buffer is there for the cycles that do not cooperate. Continue into the Reorder Point calculator to carry these numbers over, or start upstream with the EPQ calculator to size the production run itself.

Frequently asked questions

What is safety stock?
Extra inventory held to protect against variability in demand and lead time, so you don't stock out before the next replenishment arrives.
What is the safety stock formula with Z-score?
SS = Z × √(L × σd² + d² × σL²), where Z is the service-level factor, L is average lead time, σd is the std dev of daily demand, d is average daily demand, and σL is the std dev of lead time.
How do I choose a service level?
It's the probability of not stocking out during a cycle. Common targets: 90% (Z=1.28), 95% (Z=1.64), 99% (Z=2.33). Higher service levels need disproportionately more stock.
Why account for lead-time variability?
If lead time swings, that uncertainty often drives more safety stock than demand variability. Demand-only calculators understate the buffer whenever lead time isn't perfectly stable.
What is the Z-score for a 95% service level?
1.64 (1.645 to three decimals). Other common values: 90% → 1.28, 97% → 1.88, 98% → 2.05, 99% → 2.33, 99.9% → 3.09. The Z-score is the number of standard deviations of combined demand and lead-time variability you hold as buffer.
What are the different safety stock formulas?
Three are in common use. The max/average method, (Max usage × Max lead time) − (Avg usage × Avg lead time), needs no statistics but has no service level. The demand-only formula, Z × σd × √L, adds a service level but assumes lead time is constant. The full formula, Z × √(L × σd² + d² × σL²), accounts for variability in both demand and lead time and is what this calculator uses.
How do I calculate safety stock and reorder point together?
Calculate safety stock first, then add expected demand during lead time: ROP = d × L + SS. For example, with d = 480 units/day, L = 7 days and SS = 1,601 units, the reorder point is 480 × 7 + 1,601 = 4,961 units. Place the replenishment order when stock on hand reaches that level.
Can I just add the demand buffer and the lead-time buffer together?
No — that overstates the buffer. Independent sources of variability are combined as the square root of the sum of their variances, not as a sum of their standard deviations. In the worked example, adding them gives 1,840 units versus the correct 1,601, roughly 15% too much inventory.