406. Fill Rate

406.1. Fill Rate (Type II, )

The expected fraction of demand satisfied directly from on-hand inventory. Counts units, not events.

406.1.1. Why fill rate, not CSL?

Cycle service level (CSL) treats every stockout — small or large — as a single failure. Fill rate is unit-weighted: a cycle that’s 1 unit short is treated very differently from a cycle that’s 100 units short. Most operational service-level promises to customers (e.g., “we fulfill 99% of unit demand”) refer to fill rate.

CSL → frequency of stockout incidents. Fill rate → fraction of demand met.

406.1.2. Computing fill rate (continuous demand)

For a (Q, r) policy with normal lead-time demand:

where and is the standard normal loss function (see [newsvendor expected_profit](../newsvendor/expected_profit.typ) for the derivation).

Each cycle covers units of demand on average. So:

Equivalently:

To hit fill rate , choose such that .

406.1.3. Why fill rate is usually higher than CSL

For the same :

Whenever is much larger than , the fill rate exceeds the CSL. Reason: most cycles run no stockout at all (contributing 100% fill); the few that do stock out are usually short by only a few units (each contributing > 99% fill on its own cycle).

Practical ranges:

406.1.4. Setting for target fill rate

Iterative or table-based. Algorithm:

  1. Given target , solve for .
  2. Use a normal loss function table (or numerically solve ).
  3. Set .

Most software does this automatically.

Example

Given (same params as CSL example):

  • , ,
  • Target fill rate: (more demanding than CSL = 95%)

Step 1 — required loss-function value

Step 2 — invert the loss function

Looking up: , , , .

So gives . (For high fill rate, we’d usually expect — but since is much larger than , even a small safety stock yields high fill rate. In some cases even goes negative for moderate fill rates.)

Step 3 — reorder point

Almost no safety stock! Setting achieves 99% fill rate because the order quantity 775 is so large compared to lead-time variability 18.7 that stockouts are rare and small.

Step 4 — same setup, target CSL = 95%

Compare: CSL 95% would set (safety stock 31). Fill rate at :

Implication: setting CSL to 95% gives a fill rate of essentially 100% in this regime. The CSL target is much more demanding than the fill-rate target for moderate-Q regimes.

This explains why retailers usually quote fill rate (99%) rather than CSL (which would have to be e.g. 70% to give the equivalent operational meaning).