Safety stock is the extra inventory a company holds to protect against uncertainty in demand and lead time. The higher the variability and the higher the desired service level, the more safety stock is required. This page explains the major formulas used in supply chain analytics and includes multiple numerical examples.
1. What Safety Stock Protects Against
Safety stock absorbs uncertainty in:
- Demand variability — daily or weekly demand fluctuates around a forecast.
- Lead‑time variability — suppliers or production processes take longer than expected.
- Service‑level goals — the probability of avoiding a stockout during lead time.
Different environments require different formulas depending on whether demand, lead time, or both are variable.
2. Standard Safety Stock Formula (Variable Demand, Fixed Lead Time)
This is the most widely used formula when demand varies but lead time is constant:
\[ \text{Safety Stock} = Z \cdot \sigma_d \cdot \sqrt{L} \]
- \(Z\) = service‑level factor (e.g., 1.65 for 95% service level)
- \(\sigma_d\) = standard deviation of demand per period
- \(L\) = lead time in periods
Numerical Example
A retailer faces:
- Average daily demand = 100 units
- Standard deviation of daily demand = 20 units
- Lead time = 5 days
- Service level = 95% → \(Z = 1.65\)
\[ \text{Safety Stock} = 1.65 \cdot 20 \cdot \sqrt{5} \] \[ = 1.65 \cdot 20 \cdot 2.236 = 73.8 \approx 74 \text{ units} \]
3. Safety Stock When Both Demand and Lead Time Vary
When both demand and lead time fluctuate, use:
\[ \text{Safety Stock} = Z \cdot \sqrt{L\sigma_d^2 + D^2\sigma_L^2} \]
- \(D\) = average demand per period
- \(\sigma_L\) = standard deviation of lead time
Numerical Example
- Average daily demand \(D = 80\)
- Std dev of demand \(\sigma_d = 15\)
- Average lead time \(L = 7\) days
- Std dev of lead time \(\sigma_L = 2\)
- Service level = 90% → \(Z = 1.28\)
\[ L\sigma_d^2 = 7(15^2) = 1575 \] \[ D^2\sigma_L^2 = 80^2(2^2) = 25600 \] \[ \text{Total variance} = 27175 \] \[ \text{Safety Stock} = 1.28 \cdot \sqrt{27175} = 211 \text{ units} \]
4. Safety Stock Based on Fill Rate (β‑Service Level)
Fill rate focuses on the percentage of demand filled, not the probability of avoiding stockouts. A common approximation:
\[ \text{Safety Stock} = \sigma_{DL} \cdot \sqrt{2\ln\left(\frac{1}{1-\beta}\right)} \]
- \(\sigma_{DL}\) = standard deviation of demand during lead time
- \(\beta\) = target fill rate (e.g., 0.95)
Numerical Example
- \(\sigma_{DL} = 50\) units
- Fill rate target = 95%
\[ \text{Safety Stock} = 50 \cdot \sqrt{2\ln(20)} = 122 \text{ units} \]
5. Safety Stock for Intermittent or Highly Variable Demand
When demand is lumpy or sporadic (e.g., spare parts), normal‑distribution formulas fail. Two alternatives are common:
- Poisson‑based safety stock — used when demand per period is low and random.
- Croston’s method — uses forecast error for intermittent demand.
Poisson Example
If average demand per week is \(\lambda = 4\) units and service level requires \(Z = 1.5\):
\[ \text{Safety Stock} = \lambda L (Z – 1) \]
For \(L = 3\) weeks: \[ \text{Safety Stock} = 4 \cdot 3 \cdot (1.5 – 1) = 6 \text{ units} \]
6. Choosing the Right Formula
| Environment | Best Formula | Reason |
|---|---|---|
| Variable demand, fixed lead time | \(Z\sigma_d\sqrt{L}\) | Simple and accurate for stable lead times |
| Variable demand & variable lead time | \(Z\sqrt{L\sigma_d^2 + D^2\sigma_L^2}\) | Captures both sources of uncertainty |
| Fill‑rate targets | \(\sigma_{DL}\sqrt{2\ln(1/(1-\beta))}\) | Matches service goals for high‑volume items |
| Intermittent demand | Poisson or Croston‑based | Normal assumptions do not hold |
7. Practical Tips for Using Safety Stock
- Use actual historical variability, not forecast error alone.
- Recalculate safety stock when lead times change.
- Use higher service levels for critical items.
- Use lower service levels for low‑value or non‑critical items.
- Review safety stock quarterly to avoid overstocking.
This idea connects directly to:
Speak Directly to a Tutor — Send Your Message Below
No call centers. No delays. Your message goes straight to the tutor.
- Call/Text: 510-398-0006
- Email: tutor@californiagraduatetutor.com
- WhatsApp: Send Files