The King Equation is perhaps the most well known safety stock formula in existence and is commonly taught in APICS/ASCM classes and operations and supply chain classrooms around the world. But making just one small modification can reduce working capital requirements while still maintaining service level.
The standard King Equation is:
Safety Stock = Z * √( (PC/T_i * σ_D^2) + (σ_LT * D_avg)^2 )
where:
Z= Z-score corresponding to desired service levelPC/T_i= Lead time normalized into the same time period that forecasting is done in (i.e. turn lead times into months if forecasting is done in monthly buckets)σ_D= Standard deviation of demandσ_LT= Standard deviation of lead time (in the appropriate time buckets)D_avg= Average demand
But there’s an unstated assumption in the equation that forces increased working capital that is not required if you have a well-functioning S&OP and demand planning process and are running MRP from a forecast.
The standard deviation of demand is used because the intrinsic assumption is that forecast can best be stated as average demand. However, that is not true for many businesses. Most businesses have seasonality and/or trend in their demand. A business that sells 100 units the first two months of each quarter and 200 in the final month of the quarter as the sales team pushes hard does not need extra safety stock to cover the “variance in demand” in the final month of the quarter. They know it is coming and can forecast it, and the forecast drives their MRP. Thus, they do not need increased safety stock.
What then drives the need for safety stock to be increased? This gets to the root of why safety stock is needed at all in a forecast driven MRP environment.
Safety stock exists due to forecast error (and lead time variance), not variation in demand.
Then we can improve the result by replacing the standard deviation with the standard deviation of forecast error (Actual - Forecast).
One interesting branch of this is: How much safety stock does a company need if they are running forecast driven MRP and over-forecast every month? Zero. Their forecast will cover all their needs and then some.
So it would be tempting to say we don’t need to consider when forecast exceeds actuals and can instead use the standard deviation of demand over forecast only (i.e. max(0, (Actual - Forecast))). However, this fails because the Z-score is already a one-sided tail and the working assumption is we have a robust demand planning process - persistent bias will be eliminated, at which point the forecast error is the source of variance and we cannot net bias out of safety stock safely.
In our quest for working capital optimization we cannot lose sight of the need to maintain service levels.
This leads to an optimized modified King Equation of:
Safety Stock = Z * √( (PC/T_i * σ_FE^2) + (σ_LT * D_avg)^2 )
where:
Z= Z-score corresponding to desired service levelPC/T_i= Lead time normalized into the same time period that forecasting is done in (i.e. turn lead times into months if forecasting is done in monthly buckets)σ_FE= Standard deviation of forecast error (Actual - Forecast)σ_LT= Standard deviation of lead time (in the appropriate time buckets)D_avg= Average demand
Making this one small change in safety stock calculations can significantly improve working capital for companies running MRP off forecast with a robust demand planning process in place, and it can be done without impact to service levels.
Summary
- Safety stock calculation
- Setting safety stock from forecast error instead of demand variability
- Working capital optimization
- Evolving the King Equation