Omnichannel CPG: Who is OTIF? Issue 11

...and how OTIF drives CPG supply chains.

Have you heard about the OTIF concept?

First, let’s look at different levels of safety stock:

Different stages of safety stock:

Stage 1 - ‘Let’s get some safety days on our best sellers’
Stage 2 - ‘Let’s use ABC/XYZ so we can optimize for safety stock’
Stage 3 - ‘Let’s use our forecast error metric to guide us on safety stock’
Stage 4 - ‘Let’s use OTIF targets + forecast error values’ to drive safety stock

More advanced stages: Considering batch/lot expiration per warehouse, best-before-date requirements per channel, gross margin thresholds. More on that in the future.

In 2020, Walmart seriously started tracking the OTIF concept - starting with a 98% target - which they ended up driving down.

OTIF is defined as:

On-time = The delivery arrives at the agreed-upon time or within the specified delivery window.

In-full = The delivery contains all the items and quantities ordered, with no shortages or substitutions.

What does a 98% OTIF score mean?

If you, as a CPG brand, make 100 deliveries in a month, and 98 of those are both on-time and in-full, the OTIF score is 98%.

If it’s below that, you can lose multiple times:

First - they charge a fee if you can’t account for it. Worst case a delisting.

Second - you’ll lose out on revenue if you don’t have stock.

How to solve for different OTIF targets, with multiple warehouses in between?

1) Set retailer OTIF targets → assign the adequate Z-scores

2) Measure your weekly forecast error

Use MAE (average miss per week) per SKU × satellite.

3) Size satellite safety stock (per SKU, per retailer)

Satellite SS = ss_multiplier × weekly_error × √(weeks_to_refill)

Weeks_to_refill = review cadence (how often a TO is possible) + DC→satellite lead time (in weeks).

4) Set satellite reorder points

ROP = avg_demand × weeks_to_refill + Satellite SS

5) Give the Distribution center a tighter buffer to protect satellites

The more uncorrelated the weekly errors at the satellite are, the more buffer stock the DC needs. (More on that later)

6) Review monthly and rebalance

  • Refresh weekly_error and lead times.

  • Compare carrying cost vs. chargebacks/expedites.

  • Allow DC↔satellite rebalancing to avoid fines without overstock.

⚠️ This is not easily done in spreadsheets and requires good thinking and optimization skills.

Here’s what a future-state view of contribution margin vs. OTIF per channel could look like:

Simulating OTIF targets per customer and understanding how higher service levels affect margin contribution.

Best case, your solution helps you not only meet OTIF targets but also auto-assign target levels per channel.

Plus, it directly calculates the safety stock needed downstream for all warehouses, purchase orders, and transfer timings. Need help with that? Reach out to our team.

Key learnings today:
Customer-specific OTIF drives the whole supply chain, and all downstream warehouse connections are affected. Plan accordingly!

See you next time!
-Leon