OTIF i pozostałe wskaźniki terminowości
OTIF jest najczęściej cytowanym wskaźnikiem w logistyce dostaw i najczęściej liczonym na cztery różne sposoby w tej samej firmie. Poniżej wzory, pułapki w definicjach i to, z których zdarzeń w systemie awizacji biorą się dane.
OTIF (On Time In Full) to odsetek dostaw zrealizowanych jednocześnie w uzgodnionym terminie i w pełnej zamówionej ilości. Liczy się go jako iloraz dostaw spełniających oba warunki przez liczbę wszystkich dostaw w okresie, wyrażony w procentach. Wynik rozstrzyga definicja słowa „terminowo”: w awizacji oznacza ono wjazd w zarezerwowanym oknie czasowym, a nie samą datę dostawy.
Wzór i jego dwa człony
OTIF rozkłada się na dwa niezależne wskaźniki, które warto liczyć osobno, bo psują się z innych powodów. OT (On Time) to udział dostaw, które dotarły w uzgodnionym terminie. IF (In Full) to udział dostaw kompletnych ilościowo i asortymentowo. OTIF jest iloczynem warunków, nie średnią: dostawa spóźniona o godzinę, ale kompletna, liczy się do OTIF jako nieudana.
Konsekwencja jest arytmetyczna i bywa zaskakująca. Przy OT na poziomie 90% i IF na poziomie 90% OTIF nie wynosi 90%, tylko co najwyżej 90% i w praktyce mniej, bo część opóźnień i braków dotyczy tych samych dostaw. Raportowanie samego OTIF bez rozbicia ukrywa, po której stronie leży problem - u przewoźnika czy u dostawcy.
Reguła pomiaru. Dostawa wchodzi do licznika OTIF tylko wtedy, gdy spełnia oba warunki naraz. Jeżeli raport pokazuje OTIF wyższy niż niższy z dwóch składników, to znaczy, że gdzieś liczona jest średnia zamiast iloczynu - i wynik nie opisuje niczego.
Co znaczy „na czas”
Tu rozjeżdża się większość pomiarów. Te same dostawy dają zupełnie inne wyniki zależnie od przyjętej definicji, a różnica bywa większa niż roczna poprawa, o którą walczy cały dział.
| Definicja | Co uznaje za spóźnienie | Kto zwykle jej używa |
|---|---|---|
| Uzgodniony dzień dostawy | Przyjazd innego dnia niż w zamówieniu | Zakupy i rozliczenia z dostawcami |
| Zarezerwowane okno czasowe | Wjazd przed początkiem albo po końcu okna | Magazyn i system awizacji |
| Przyjęcie przed końcem zmiany | Dostawa przeciągnięta na następną zmianę | Kierownik przyjęć |
| Wjazd w oknie z tolerancją | Odchylenie większe niż przyjęty margines | Obiekty z wysoką rotacją ramp |
Do definicji dochodzi moment pomiaru. Czy dostawa jest „na czas”, gdy pojazd zgłosi się na bramie, gdy podjedzie pod rampę, czy gdy magazyn zakończy przyjęcie? Różnica między tymi punktami potrafi wynosić więcej niż długość samego okna czasowego. Bez jednej, zapisanej definicji porównywanie miesiąca do miesiąca nie ma sensu. Zasady wyznaczania samych okien opisuje planowanie okien czasowych.
Wskaźniki, które trzeba czytać razem z OTIF
- Trafność awizacji - odsetek pojazdów, które wjechały w swoim oknie. To OT widziany oczami magazynu; rozjazd między nim a OT dostawcy zwykle oznacza, że okna są rezerwowane na wyrost.
- Dock-to-dock - czas od wjazdu na teren do wyjazdu. Rośnie, gdy siatka okien obiecuje więcej, niż plac potrafi obsłużyć, nawet przy dobrym OTIF. To wskaźnik przepustowości, nie punktualności.
- Czas oczekiwania na bramie - od zgłoszenia się pojazdu do wjazdu. Jeśli rośnie przy stałej liczbie dostaw, problem jest w obsłudze bramy, a nie w liczbie transportów. Przekłada się wprost na koszt przestoju pojazdu.
- Fill rate - udział pozycji zrealizowanych w stosunku do zamówionych. To IF w rozbiciu na linie zamówienia, przydatny tam, gdzie jedna dostawa obejmuje wiele indeksów.
Skąd biorą się dane
Każdy z tych wskaźników potrzebuje znaczników czasu, których nie da się odtworzyć z pamięci. System awizacji zapisuje je przy okazji normalnej pracy, bez żadnego dodatkowego raportowania po stronie magazynu. Co jeszcze daje się z nich policzyć, pokazuje optymalizacja dostaw.
- Okno od-do - granice rezerwacji przyjęte w chwili awizowania, nie przesuwane po fakcie.
- Zgłoszenie na bramie - moment, w którym pojazd fizycznie dojechał na teren obiektu.
- Podstawienie pod rampę - początek obsługi; różnica względem zgłoszenia to czas oczekiwania.
- Wyjazd - zamknięcie transportu; różnica względem zgłoszenia to dock-to-dock.
Te cztery wartości w jednym wierszu wystarczają do policzenia OT, dock-to-dock i czasu oczekiwania. Widok, w którym termin awizowany zestawiony jest z faktycznym wjazdem, wygląda tak:

Kolor wiersza nie jest ozdobą - koduje odchylenie od zarezerwowanego okna, więc dyspozytor widzi problem przed otwarciem raportu. Więcej ekranów pokazuje galeria zrzutów, a szerszy kontekst pomiaru opisuje efektywność procesów logistycznych.
Danych o kompletności dostawy system awizacji nie zna - to informacja z przyjęcia towaru, czyli z WMS lub ERP. Dlatego pełny OTIF wymaga zestawienia obu źródeł, a integracja przestaje być dodatkiem do wdrożenia. Zob. integrację z ERP i WMS.
Jak to wygląda po stronie bazy
Wskaźnik liczy się na zdarzeniach, a nie na statusach. Status „dostarczono” zmienia się w miejscu,
a zdarzenie zostaje - to różnica, która decyduje o tym, czy raport sprzed kwartału da się odtworzyć.
W praktyce oznacza to tabelę zgłoszeń z kolumnami OknoOd, OknoDo,
DataZgloszenia i DataWyjazdu typu datetime2, uzupełnianą przez
procedurę zapisującą stan, a nie nadpisującą poprzedni.
OT dla okresu sprowadza się wtedy do jednego przejścia po tabeli: warunek
DataZgloszenia BETWEEN OknoOd AND OknoDo zliczony przez SUM(CASE WHEN ... THEN 1 ELSE 0 END)
i podzielony przez liczbę wierszy. Czas oczekiwania liczy
funkcja DATEDIFF
na parze znaczników. Dwie rzeczy warto ustawić z góry: indeks nieklastrowany na dacie zgłoszenia z kolumnami
włączonymi przez INCLUDE, żeby raport nie czytał całej tabeli, oraz
READ COMMITTED SNAPSHOT dla bazy, żeby długie zapytanie raportowe nie blokowało zapisu na bramie.
Ostrzeżenie konfiguracyjne. Raport uruchamiany na tej samej bazie co obsługa bramy potrafi zatrzymać wjazdy. Zapytanie skanujące pół roku historii trzyma blokady współdzielone dostatecznie długo, żeby zapis nowego zgłoszenia czekał. Wersjonowanie wierszy rozwiązuje to bez zmiany kodu aplikacji.
Okres raportowania i wielkość próby
Tydzień to za krótko, rok to za długo. Przy kilkunastu dostawach tygodniowo jeden spóźniony transport zmienia wynik o kilka punktów procentowych, więc wykres tygodniowy pokazuje głównie szum. Miesiąc jest sensownym kompromisem dla obiektu o kilkuset dostawach, a dla mniejszych - kwartał z równoległym podaniem liczby dostaw, bo procent bez mianownika nie znaczy nic.
Osobna zasada dotyczy rozbicia na dostawców. Dopóki dostawca nie ma kilkudziesięciu dostaw w okresie, jego OTIF jest ciekawostką, a nie podstawą rozmowy handlowej. Zestawienie warto wtedy prowadzić narastająco i podawać razem z liczbą zdarzeń, na których się opiera.
Cztery błędy, które unieważniają pomiar
Po pierwsze: liczenie OTIF tylko dla dostaw awizowanych. Transport, który przyjechał bez zgłoszenia, nie znika z rzeczywistości - znika tylko z raportu, a bywa najbardziej kosztowny. Po drugie: zmiana definicji „na czas” w trakcie okresu porównawczego. Po trzecie: uśrednianie po dostawcach o skrajnie różnej liczbie dostaw, przez co jeden duży dostawca zasłania wszystkich pozostałych. Po czwarte: brak pomiaru sprzed wdrożenia - bez punktu odniesienia każda poprawa jest opowieścią, a nie liczbą. Metodę pomiaru bazowego opisuje efektywność łańcucha dostaw, a narzędzie do zbierania zdarzeń - system awizacji dostaw.
Najczęściej zadawane pytania
Czy OTIF liczy się jako średnia OT i IF
Nie. OTIF jest iloczynem warunków, a nie ich średnią - dostawa wchodzi do licznika tylko wtedy, gdy była jednocześnie terminowa i kompletna. Przy OT 90% i IF 90% wynik OTIF jest zawsze równy 90% lub niższy, zwykle niższy, bo część dostaw łamie oba warunki naraz.
Od którego momentu mierzyć terminowość dostawy
Od zdarzenia, które system rejestruje automatycznie i zawsze tak samo. W praktyce jest to zgłoszenie pojazdu na bramie, porównane z granicami zarezerwowanego okna. Pomiar od podstawienia pod rampę miesza terminowość przewoźnika z przepustowością magazynu, a pomiar od zakończenia przyjęcia - z tempem pracy brygady.
Skąd wziąć dane o kompletności dostaw
Z systemu magazynowego albo ERP, bo tylko tam powstaje dokument przyjęcia z faktycznymi ilościami. System awizacji rejestruje czasy, nie zawartość naczepy. Pełne OTIF wymaga więc zestawienia dwóch źródeł po wspólnym identyfikatorze dostawy - najczęściej numerze zamówienia.
Jak liczyć OTIF dla transportów nieawizowanych
Wliczać je do mianownika jako dostawy nieterminowe i raportować osobno ich udział. Wykluczenie ich z pomiaru podnosi wynik, ale ukrywa najdroższą kategorię ruchu - pojazdy, które przyjeżdżają bez zapowiedzi i zajmują rampę zarezerwowaną dla kogoś innego.
Czy długie zapytania raportowe mogą spowolnić pracę bramy
Tak, jeżeli raport czyta tę samą bazę w domyślnym poziomie izolacji. Skanowanie kilku miesięcy historii utrzymuje blokady współdzielone, a zapis nowego zgłoszenia czeka na ich zwolnienie. Włączenie wersjonowania wierszy dla bazy albo odsunięcie raportów do repliki usuwa ten efekt.
Słownik pojęć
Pozostałe pojęcia z obsługi transportu zbiera słownik YMS.
- OOTIF
- On Time In Full - odsetek dostaw zrealizowanych jednocześnie w uzgodnionym terminie i w pełnej zamówionej ilości, liczony jako iloczyn obu warunków.
- TTrafność awizacji
- Udział pojazdów, które wjechały na teren obiektu w granicach zarezerwowanego okna czasowego, w stosunku do wszystkich awizowanych transportów.
- DDock-to-dock
- Czas liczony od wjazdu pojazdu na teren obiektu do jego wyjazdu, obejmujący oczekiwanie, podstawienie pod rampę i samą obsługę.
- FFill rate
- Udział pozycji zamówienia zrealizowanych w dostawie w stosunku do zamówionych, liczony na liniach dokumentu, a nie na całych dostawach.
- PPomiar bazowy
- Wynik wskaźnika zmierzony przed wdrożeniem systemu, stanowiący punkt odniesienia dla późniejszych porównań.
- RREAD COMMITTED SNAPSHOT
- Poziom izolacji w SQL Server, w którym odczyt korzysta z wersji wiersza sprzed modyfikacji, dzięki czemu zapytania raportowe nie blokują zapisu.