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.
KPI · Logistiek
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.
Aantal orders afgeleverd op of vóór de beloofde datum én volledig ÷ totaal aantal afgeleverde orders × 100%
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.
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.
SQL & 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.
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;Delivered Orders = DISTINCTCOUNT(OrderDelivery[OrderID])
OTIF % = DIVIDE(CALCULATE(DISTINCTCOUNT(OrderDelivery[OrderID]), OrderDelivery[OnTime] = TRUE(), OrderDelivery[InFull] = TRUE()), [Delivered Orders])In ENABLE
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.
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.
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.
Met de ingebouwde app Targets leg je per maand een doel voor de KPI vast, zodat je realisatie en doel naast elkaar ziet.
FAQ
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.
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.
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.
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.