Your scorecard says OTIF 94%. The retailer cuts your slot. Who is lying? Almost never the GPS. Almost always the definition: someone measured “on time or complete,” accepted partials as In Full, or measured gate arrival while the SLA bills unload start.

This guide goes past dictionary definitions. You leave with:

  • The correct formula and a Mexico worked example
  • OTIF vs fill rate/OTD
  • Industry benchmarks
  • Seven operating causes that break OTIF in road freight
  • A 6-step method to calculate it without creative Excel
Definition

OTIF (On Time In Full) is the percentage of orders delivered inside the agreed window with the full quantity, SKU, and condition. A late or incomplete order fails OTIF , even if the other half of the KPI was met.

What is OTIF in logistics?

OTIF is the service KPI that answers one business question: Did the customer get what they ordered, when we promised?

It grew in retail and CPG (appointment-driven DCs) and is now required by 3PLs, shippers, and B2B e-commerce platforms in Mexico.

Unlike “trips on time” or “route compliance %,” OTIF anchors to the customer order, not the tractor. A trip can arrive on time and still break OTIF if 12 pallets of SKU A are missing.

For foundational language, also read fill rate (completeness ≠ OTIF), OTD (on-time delivery), perfect order, proof of delivery (POD), and the hub distribution KPIs. OTIF is the outcome; visibility and evidence are the inputs. For the execution stack: TMS vs OCL.

OTIF formula (and the logical AND)

OTIF (%) = (Orders On Time AND In Full ÷ Total orders) × 100

  • On Time: delivery inside the window (date/appointment ± tolerance) for the event you defined.
  • In Full: 100% of what was ordered (lines, quantities, correct SKU, acceptable condition).
  • AND: both must be true. They are not averaged. They do not “offset.”

Line-level variant: some companies compute OTIF at order-line level. It is stricter and useful in multi-SKU retail. The critical rule is not mixing order and line units in the same executive report.

Worked example: Mexico DC week

A 3PL ships 200 orders to a retailer in a week. Raw outcomes:

Order outcomeCountCounts for OTIF?
On time and complete156Yes
On time, incomplete22No
Late, complete14No
Late and incomplete8No

True OTIF = 156 ÷ 200 × 100 = 78%.

If someone reports On Time = (156+22)/200 = 89% and In Full = (156+14)/200 = 85%, then “averages”–87%. Almost acceptable.

The AND says 78%. That 9-point gap is why Finance sees green and the customer sees red.

OTIF vs fill rate vs OTD vs OT/IF

KPIMeasuresTypical failure it ignores
OTD / On TimePunctualityIncomplete order
Fill rate / IFCompletenessLate delivery
OTIFPunctuality AND completenessNeither (requires both)
OT or IF (wrong)Either conditionThe other half of customer pain

Use each KPI for its job:

  • Fill rate: inventory/picking diagnosis
  • OTD: network and appointment diagnosis
  • OTIF: customer scorecard (perfect order adds docs/damage)

All three can coexist; only one defines whether you kept the commercial promise. The full distribution board (service, cost, control, and cash) is in distribution KPIs.

Containers and port yard — OTIF is defended with arrival and completeness evidence, not Excel alone
The AND is proven at the dock and in the file: window, quantity, and POD bound to the same ID.

Why your OTIF lies (AND vs OR)

OR / average (inflates)

“Arrived on time or complete.” Or worse: (OT% + IF%) / 2. The deck looks better. The retailer fine does not care.

AND (real)

Counts only if both conditions are true on the same order. It hurts more. It is the number the customer already uses against you.

Other makeup tricks:

  • Excluding “force majeure” without a code catalog
  • Moving the window after the fact
  • Counting a backorder as a new “perfect” order
  • Measuring the first leg only, not final DC delivery

If documentation lives in chats, the KPI inherits the chaos. See why carriers do not document.

OTIF benchmarks by industry (Mexico)

There is no single SAT-published standard. These bands are operating references from shipper/3PL service-level agreements (SLAs) and scorecards (compass, not law). Sibling context: the 4th National Logistics Indicators Study 2026 (#SoyLogístico / LDM / EGADE) reports customer-delivery fill rate ~93% average in its sample (sectors ~93–96% in press coverage) — calibrate to your operation; do not copy it as a blind OTIF target.

ContextTypical required / healthy OTIFAlarm signal
Retail / CPG to DC95–98%< 92% sustained
B2B / industrial distribution90–95%< 88%
E-commerce / B2B last mile85–92% (short window)< 80% + high dispute rate
Project / special haulMilestone agreement (not a blind %)Promises with no lead-time buffer

A “high” OTIF built on renegotiated partials is fragile. A “lower” OTIF with a strict AND definition and month-over-month improvement is more credible in a procurement committee.

7 OTIF failure causes in Mexico transport

1

Poorly defined appointment / window

You arrived at 10:05 for a 10:00 slot. Is it Late? Without a written rule (gate vs dock vs unload start), every team invents its own truth.

Fake-high OT or unfair carrier blame

2

Accepted partials without reclassifying

The DC takes 80 of 100 cases “to keep the slot.” Operations marks Complete. The retailer sees store outs later. True OTIF: 0.

Inflated IF; real OTIF fails on the customer scorecard

3

Wrong picking / inventory

The shipment leaves “complete” in the TMS but SKUs are missing. The break started in the warehouse; transport still eats the shipper OTIF hit.

In Full fails before the tractor moves

4

Dwell and saturated docks

The trip was On Time to the gate and lost 4 hours in queue. If your window measures “unload start,” OTIF breaks on receiver capacity, not the carrier.

OT destroyed by dock bottlenecks

5

Reactive WhatsApp tracking

The customer reports the delay. No T−2h alert. Without early exception handling there is no plan B (another trip, split, reschedule).

You miss On Time while margin still existed

6

Ambiguous POD / evidence

Illegible signature, photo with no count, packing list vs order mismatch. In a dispute, “In Full” cannot be proven - the KPI becomes opinion.

Disputes and unauditable OTIF

7

Promising dates without capacity

Sales confirms “tomorrow 8:00” without validating carrier, load, or dock. OTIF is dead on arrival: bad promise, not bad execution.

Unreal lead time to structurally low OTIF

How to calculate OTIF in 6 steps

  1. 1

    Define the unit of measure

    Choose customer order (recommended), order line, or shipment. Mixing units makes OTIF incomparable across plants or 3PLs.

  2. 2

    Lock the On Time window

    Document promised date, appointment ± tolerance (e.g. 30 min), and measured event (gate arrival / unload start). Without this, OTIF is a story, not a KPI.

  3. 3

    Lock the In Full rule

    100% of lines and quantities, correct SKU, acceptable condition. Decide whether partial backorders count as a new order or a failure of the original.

  4. 4

    Choose sources of truth

    Arrival timestamp (GPS/portal/dock) + quantity evidence (POD, packing list, WMS). WhatsApp is a channel, not the official clock.

  5. 5

    Compute the AND per order

    For each order: OT = yes/no, IF = yes/no. OTIF_order = 1 only if both are yes. Sum and divide by orders in the period.

  6. 6

    Segment and act

    Break OTIF by customer, lane, carrier, and cause (late vs incomplete). Fix the real bottleneck; do not raise the average by gaming OR.

How to improve OTIF without gaming the KPI

On Time

Realistic appointments, lead-time buffer, T−2h / T−30min alerts, carrier plan B before the miss.

In Full

Inventory accuracy, verified picking, never close a shipment with an invisible shortage.

Evidence

Structured POD, timestamps, quantities. Without evidence, OTIF cannot be defended in a chargeback.

The most underestimated lever in Mexico: stop learning late. A track & trace agent that alerts exceptions in minutes (as in OCL Cargo) does not “invent” OTIF. It buys time to reschedule, split, or warn the DC before the AND breaks.

The 3PL audit case ($3.6M MXN in 6 weeks) shows the same principle in finance: 100% coverage beats sampling. In service, 100% visibility beats reactive WhatsApp.

Key takeaways6 points
  1. OTIF = On Time In Full: only orders that arrive on time AND complete count. It is an AND, not an average of two KPIs.
  2. Formula: (OTIF orders ÷ total orders) × 100. Late or incomplete = 0 for that order.
  3. The costliest mistake: reporting “on time or complete” (OR). It inflates the number 5–15 points while the customer still penalizes you.
  4. In Mexico, retail/CPG often requires 95%+; B2B 90–95%. The 2026 National Study cites ~93% average delivery fill rate in its sample — In Full context, not a blind OTIF target.
  5. Typical failures are not “the truck”: bad appointment definitions, dwell, incomplete picking, ambiguous POD, and WhatsApp tracking without timestamps.
  6. Sibling board: distribution KPIs.

Is your OTIF a true AND or a slide?

In a 48-hour demo we review delivery exceptions, evidence, and where the KPI gets inflated — on your operation, not generic decks.

Related reading

Frequently asked questions