406. Stockout Rate

The measured frequency of stockouts. A KPI for assessing how well an inventory system is actually performing — distinct from the target service level used to design the policy.

Three common formulations:

VariantFormulaWhat it measures
Cycle stockout rate(cycles with stockout) / (total cycles)Frequency of stockout events
Time stockout rateTime out of stock / total timeFraction of time out of stock
Item stockout rate(SKUs out of stock at moment 𝑡) / (total SKUs)Snapshot view across the catalog

406.0.1. Cycle stockout rate (target = 𝛼)

Tracks the fraction of replenishment cycles that hit stockout at least once. Measures the same quantity that cycle service level (CSL) targets:

Cycle stockout rate=# cycles with stockouttotal cycles=1CSLactual

Use when designing policies around the target 𝛼 and verifying you hit it in operation.

406.0.2. Time stockout rate (target ≈ 1𝛾)

Tracks time fraction out of stock. Equivalent to 1 ready rate (see [ready_rate.typ](../service_levels/ready_rate.typ)).

Time stockout rate=Days out of stockTotal days

Easy to compute from ERP data — just sum the duration of zero-on-hand periods.

406.0.3. Item stockout rate (catalog-level)

Snapshot of how many SKUs are out of stock at a given moment, expressed as a fraction:

Item stockout rate(𝑡)=# SKUs with on-hand=0# active SKUs

Tracked over time as a daily / weekly time series. Common retail KPI, sometimes called out-of-stock rate or fill-rate-on-shelf.

406.0.4. Why measure it

The target service level (CSL = 95%, fill rate = 99%) is what you aim for during policy design. Actual stockout rate tells you whether the system is performing as designed. Common reasons for divergence:

If actual stockout rate >> target, the physical operation is breaking, not the design. Different remedy.

406.0.5. Connection to other metrics

MetricCountsStockout-rate equivalent
CSL (𝛼)CyclesCycle stockout rate
Fill rate (𝛽)Units1 - Fill rate (unit stockout rate)
Ready rate (𝛾)TimeTime stockout rate

Different denominators measuring “how often things go wrong” — choose what your stakeholders care about.

406.0.6. Diagnostic combinations

Example

Given (one quarter of inventory data):

  • 100 SKUs, monitored daily for 90 days.
  • Combined: 27 stockout events. Total stockout days: 45 (across all events and SKUs).
  • Average number of active SKUs: 100. Snapshot at end of each day shows on average 1.2 SKUs out of stock.

Step 1 — cycle stockout rate

Total cycles: each SKU experiences  12 cycles per quarter (assuming monthly replenishment). Across 100 SKUs:  1200 cycles.

Cycle stockout rate=2712002.25%

Equivalent: actual CSL = 97.75%. If the target CSL was 95%, the operation exceeds its target.

Step 2 — time stockout rate

Each SKU has 90 SKU-days; total SKU-days = 9,000. Stockout SKU-days = 45.

Time stockout rate=459000=0.5%

Equivalent: actual ready rate = 99.5%.

Step 3 — item stockout rate

Average daily snapshot: 1.2 SKUs out of 100 are out of stock.

Item stockout rate=1.2100=1.2%

Step 4 — interpret

Cycle rate (2.25%) is higher than time rate (0.5%) — the stockouts are short. On average, 45271.7 days each. The team responds quickly.

Item rate of 1.2% means at any given snapshot, about 1 SKU in 100 is unavailable. For 100 SKUs that’s noticeable; for a 100,000-SKU retailer, that’s 1,200 missing items.

Step 5 — drill down

Which SKUs account for the 27 stockout events? If concentrated in 5 SKUs (each stockout 5–6 times), they have policy issues — investigate forecasting, safety stock, lead time. If spread across all 100, the problem is systemic.

Always cross-tab stockout rate against ABC and VED: an A or V class item being out is much more costly than a C or D class.