safety-stock-review
Installation
SKILL.md
Safety Stock Review
The textbook formula assumes roughly normal demand. Real portfolios contain SKUs where that assumption fails badly - the skill's job is to compute the number AND say where it can be trusted.
Required data
Per-SKU demand history (sku, period, qty, 12+ periods), lead time (with variability if available), and the service target. Clarify early which service the target means: cycle service (probability of no stockout per cycle) or fill rate (share of units served) - contracts usually mean fill rate, formulas usually compute cycle service.
Workflow
- Classify first. Compute CV and zero-period share per SKU. For CV >= 1.0 or intermittent demand, state up front that the normal-formula result will be optimistic.
- Compute the formula result: SS = z * sigma_d * sqrt(LT), ROP = mu_d * LT + SS (demand-period units consistent with LT). If lead time varies, use the extended form with the sigma_LT term - ignoring lead-time variance is the most common silent understatement.
- Stress-test empirically. Set stock at mu + SS and replay the actual history: report both achieved cycle service (share of periods fully covered) and achieved fill rate (units served / units demanded). Zero-demand periods pass cycle service for free - fill rate is the honest one on intermittent items.
- Show the cost of nines. SS at 90/95/98/99% targets for the SKUs in question - service targets are pricing decisions, and the curve makes that visible.
- Recommend per class, not globally: formula fine for X-class; formula + empirical check for Y; for Z-class recommend empirical/quantile-based sizing or a policy change (MTO, lead-time reduction) instead of a bigger z.
- Validate. Reconcile the stress-test denominator (total units demanded) against the raw data sum before presenting.