EnableYourData.com

KPI · Logistiek

OTIF (on time in full): formule en voorbeeld.

OTIF (on time in full) is het percentage orders dat op tijd én volledig bij de klant wordt afgeleverd. Een order telt alleen mee als beide voorwaarden kloppen. Daarmee combineert OTIF leverbetrouwbaarheid en leveringsgraad in één strengere maatstaf.

Formule voor OTIF (on time in full)

Aantal orders afgeleverd op of vóór de beloofde datum én volledig ÷ totaal aantal afgeleverde orders × 100%

Rekenvoorbeeld

In mei 2026 leverde Acme Groothandel 3.000 orders af. Daarvan waren er 2.820 op tijd, en van die 2.820 waren er 2.700 ook volledig. De OTIF is 2.700 ÷ 3.000 × 100% = 90,0%.

Fictieve cijfers van Acme Groothandel.

Zo lees je deze KPI

Een hogere OTIF betekent dat klanten vaker precies krijgen wat ze verwachten, wanneer ze het verwachten. Kijk bij een daling welk deel misgaat: op tijd of compleet, want de oorzaken liggen bij verschillende afdelingen. Vergelijk met de OTIF-afspraak die je met grote klanten hebt en per klant, vervoerder of productgroep.

Valkuilen bij OTIF (on time in full)

  • Klant en leverancier gebruiken een andere definitie van op tijd, bijvoorbeeld de dag of het tijdslot.
  • Orders die de klant zelf liet splitsen als niet volledig tellen.
  • Het percentage op zendingen berekenen terwijl de klant op orders afrekent.

SQL & DAX

OTIF (on time in full) berekenen in SQL en DAX

Twee voorbeelden op een fictief datawarehouse van Acme Groothandel: een query in PostgreSQL en een measure voor een Power BI-model. Pas tabel- en kolomnamen aan je eigen model aan.

SQL · PostgreSQL
WITH per_order AS (
  SELECT order_id,
         MIN(promised_date) AS promised_date,
         MAX(delivered_at)::date AS delivered_date,
         BOOL_OR(complete) AS delivered_complete
  FROM shipments
  WHERE delivered_at IS NOT NULL
  GROUP BY order_id
)
SELECT date_trunc('month', delivered_date) AS month,
       COUNT(*) AS orders,
       COUNT(*) FILTER (WHERE delivered_date <= promised_date) AS on_time,
       ROUND(100.0 * COUNT(*) FILTER (WHERE delivered_date <= promised_date AND delivered_complete)
             / NULLIF(COUNT(*), 0), 1) AS otif_pct
FROM per_order
GROUP BY 1
ORDER BY 1;
DAX · Power BI
Delivered Orders = DISTINCTCOUNT(OrderDelivery[OrderID])
OTIF % = DIVIDE(CALCULATE(DISTINCTCOUNT(OrderDelivery[OrderID]), OrderDelivery[OnTime] = TRUE(), OrderDelivery[InFull] = TRUE()), [Delivered Orders])

In ENABLE

Deze KPI volgen in ENABLE

Vragen in gewone taal

Vraag naar OTIF (on time in full) per maand, klant of product in de SQL Explorer met AI. De AI schrijft de SQL, jij ziet de query en voert hem zelf uit; de AI krijgt alleen metadata.

Lees meer →

In je Power BI-dashboard

Leg de KPI vast als measure in je Power BI-model en toon hem in het portaal, met "Laatst ververst" erbij. Toegangsprofielen en optioneel row-level security bepalen wie welke cijfers ziet.

Lees meer →

Eigen dashboards (pilot)

Zet de KPI als tegel in een eigen dashboard, met vergelijking met vorig jaar. De Dashboard Builder is een pilot en per klant aan te zetten.

Lees meer →

Doelen per maand

Met de ingebouwde app Targets leg je per maand een doel voor de KPI vast, zodat je realisatie en doel naast elkaar ziet.

Lees meer →

FAQ

Veelgestelde vragen

Hoe bereken je OTIF?

Tel het aantal orders dat zowel op of vóór de beloofde datum als volledig is afgeleverd. Deel dat door het totaal aantal afgeleverde orders in dezelfde periode. Een order die op tijd maar onvolledig is, telt dus niet mee.

Waarom is OTIF lager dan leverbetrouwbaarheid?

OTIF stelt twee voorwaarden tegelijk: op tijd én compleet. Elke order die wel op tijd maar niet volledig is, valt bij OTIF af. Daardoor is OTIF altijd gelijk aan of lager dan zowel leverbetrouwbaarheid als leveringsgraad.

Wordt OTIF per order of per orderregel gemeten?

Beide komen voor. Grote retailers meten vaak per orderregel of zelfs per eenheid, en rekenen soms boetes af bij een te lage score. Vraag bij een klantafspraak altijd na welke variant en welk tijdvenster ze gebruiken.

AI gebruiken op je eigen data. Veilig, en zonder hoofdpijn.

In een online demo laten we zien hoe ENABLE je data veilig beschikbaar maakt en hoe je erop bouwt: een app beschrijven in de AI Builder, vragen in gewone taal, dashboards en API's. En hoe wij het voor je inrichten en beheren.