Qeasy Cloud
Get Started

How to Calculate Safety Stock: Balancing Service Level Against Demand Variability

· 系统管理员· Smart Replenishment· 5 views· 2 min read
Safety StockReplenishment ModelDemand Forecast

What safety stock actually protects against

Safety stock does not hedge against slow sales — it hedges against uncertainty: demand coming in above forecast, or the supplier arriving later than promised. If the future were certain, no safety stock would be needed at all. That makes safety stock a statistics problem: given observed variability, how much buffer keeps the stockout probability within an acceptable band?

The classic formula

The most widely used form, covering demand variability only:

SS = z × σ_d × √L

where z is the service-level factor (a quantile of the standard normal distribution), σ_d is the standard deviation of daily demand, and L is the replenishment lead time in days. The reorder point follows as ROP = d̄ × L + SS: average demand sets the base, variability sets the insurance.

z-scores per service level

  • 90% → z = 1.28 (long-tail, low-value items)
  • 95% → z = 1.645 (a common starting point for core items)
  • 97.5% → z = 1.96 (important items with high stockout cost)
  • 99% → z = 2.33 (strategic items)

The relationship is not linear: moving from 95% to 99% raises z from 1.645 to 2.33, about 42% more buffer. That is why service levels should be differentiated by SKU class rather than applied uniformly.

When lead time also varies

If supplier lead time has its own standard deviation σ_L, use the combined formula:

SS = z × √(L̄ × σ_d² + d̄² × σ_L²)

In practice this formula often reveals that unreliable lead times, not demand spikes, drive most stockouts — meaning supplier management can beat more inventory.

A worked example

Daily demand 40 units (σ_d = 12), average lead time 7 days (σ_L = 1.5), service level 95%: variance = 7×144 + 1600×2.25 = 4608, so SS = ceil(1.645 × √4608) ≈ 112 units, and ROP = 40×7 + 112 = 392 units.

Three operating rules

  1. Compute variability from daily data — weekly or monthly aggregation shrinks σ and undersizes the buffer.
  2. Clean anomalies first: promotion spikes and zero-sales days caused by stockouts (censored demand) distort σ_d.
  3. Audit realized service level quarterly — actual stockouts per cycle versus the target — and revisit assumptions when they drift apart.

Safety stock is a living parameter. Script it, parameterize it, and keep every computation traceable back to its σ and z.

Original content. Please credit the source when reposting: /insights/replenishment/safety-stock-calculation-guide

Comments