Czas obrotu pojazdu (truck turn time) to czas od zgłoszenia pojazdu pod bramą do jego wyjazdu z terenu. Składa się z czterech odcinków: oczekiwania pod bramą, oczekiwania na rampę, obsługi przy rampie i wyjazdu, a każdy z nich wyznacza para statusów z godziną zapisu.
Dwa pojazdy rozładowywane tyle samo czasu mogą mieć zupełnie różny czas obrotu: jeden stał pod bramą kwadrans, drugi wjechał od razu, ale czekał na rampę. Sama obsługa przy rampie nie pokazuje, gdzie ginie czas, więc wskaźnik trzeba rozłożyć na odcinki.
Strona opisuje, jak liczyć czas obrotu ze statusów awizacji, od którego punktu go mierzyć i dlaczego zamiast średniej używa się mediany oraz percentyla P90. Pokazuje też, jak zebrać dane przed wdrożeniem systemu. Definicje pozostałych wskaźników zawiera strona o KPI systemu awizacji.
Cztery odcinki wizyty i statusy graniczne
Każdy status zapisuje godzinę i autora zmiany, więc odcinki wizyty to różnice między godzinami kolejnych statusów. Tabela pokazuje, które statusy ograniczają każdy z czterech odcinków i co zwykle go wydłuża.
| Odcinek | Statusy | Co mierzy | Typowa przyczyna długiego odcinka |
|---|---|---|---|
| Oczekiwanie pod bramą | 20 do 40 | czas od zgłoszenia przybycia do wjazdu na teren | spiętrzenie przyjazdów i wolna odprawa |
| Oczekiwanie na rampę | 40 do 50 | czas od wjazdu do rozpoczęcia obsługi | brak wolnej rampy albo obsady przy zbyt gęstych oknach |
| Obsługa przy rampie | 50 do 60 | czas rozładunku lub załadunku | zaniżona liczba palet w awizacji i brak dokumentów |
| Wyjazd | 60 do 90 | czas od zakończenia obsługi do opuszczenia terenu | oczekiwanie na dokumenty i ważenie przy wyjeździe |
Statusy 42W i 65Y (waga przy wjeździe i wyjeździe) wydłużają odcinki 40-50 i 60-90, jeśli obiekt je włączył. Pełną listę statusów i osoby, które je ustawiają, opisuje strona o statusach w programie awizacyjnym, a przebieg wizyty - strona o awizacjach transportu.
Od którego punktu liczyć czas obrotu
Ten sam pomiar daje trzy różne czasy, zależnie od punktu początkowego. Dla przykładu z wykresu pobyt na terenie trwa 48 minut, a czas od zgłoszenia pod bramą 54 minuty. Wybór nie jest techniczny: decyduje o tym, kogo obciąża oczekiwanie.
| Wariant | Od - do | Kto go używa | Zastrzeżenie |
|---|---|---|---|
| Pobyt na terenie | status 40 do 90 | obiekt, do analizy operacji na placu | nie uwzględnia oczekiwania pod bramą |
| Od zgłoszenia do wyjazdu | status 20 do 90 | przewoźnik i rozliczenia postojów | zawiera czas przed wjazdem, na który obiekt wpływa tylko częściowo |
| Obsługa przy rampie | status 50 do 60 | planowanie długości okien | nie opisuje całej wizyty |
Zapis w umowie lub regulaminie powinien wskazywać punkt początkowy, bo spór o postój zwykle dotyczy tego, od którego statusu liczyć. Przykład z godzinami i podział odpowiedzialności zawiera artykuł o rozliczaniu postojów przewoźników, a wzór klauzuli - regulamin dostaw i awizacji.
Mediana i percentyl P90 zamiast średniej
Średnia z czasów obrotu jest wrażliwa na pojedyncze skrajne wizyty. Jeden pojazd z awarią naczepy, który spędził na terenie ponad trzy godziny, podnosi średnią całego dnia, choć pozostałe wizyty przebiegły normalnie. Mediana, czyli wartość środkowa, opisuje typową wizytę, a percentyl P90 - czas, którego nie przekracza dziewięć na dziesięć wizyt.
Przykład ma dane fikcyjne: dziesięć wizyt trwało 38, 41, 44, 45, 47, 48, 50, 52, 55 i 190 minut.
| Miara | Wynik (dziesięć wizyt) | Co mówi |
|---|---|---|
| Średnia | 61 minut | zawyżona przez jedną wizytę trwającą 190 minut |
| Mediana | 47,5 minuty | czas typowej wizyty |
| Percentyl P90 | 68,5 minuty | dziewięć na dziesięć wizyt jest krótszych |
Zestawienie tygodniowe jest stabilniejsze niż dzienne, a rozbite na rampy i godziny przyjazdu pokazuje wzorce, które średnia z całego obiektu zaciera.
Przykład zapytania SQL do pomiaru
Poniższe zapytania pokazują wzorzec obliczeń na tabeli zdarzeń wizyt. Nazwy tabel i kolumn są umowne i nie odpowiadają strukturze bazy Studio VSS.net, a raporty systemu liczą te czasy bez pisania zapytań. Wzorzec przydaje się, gdy dane o wizytach pochodzą z arkusza lub z innego źródła.
-- Zdarzenia wizyt: jeden wiersz na zmianę statusu (nazwy umowne)
SELECT VisitId,
Rampa,
DATEDIFF(SECOND, MIN(CASE WHEN StatusCode = 20 THEN EventTime END),
MIN(CASE WHEN StatusCode = 40 THEN EventTime END)) / 60.0 AS PodBrama_min,
DATEDIFF(SECOND, MIN(CASE WHEN StatusCode = 40 THEN EventTime END),
MIN(CASE WHEN StatusCode = 50 THEN EventTime END)) / 60.0 AS NaRampe_min,
DATEDIFF(SECOND, MIN(CASE WHEN StatusCode = 50 THEN EventTime END),
MIN(CASE WHEN StatusCode = 60 THEN EventTime END)) / 60.0 AS Obsluga_min,
DATEDIFF(SECOND, MIN(CASE WHEN StatusCode = 40 THEN EventTime END),
MIN(CASE WHEN StatusCode = 90 THEN EventTime END)) / 60.0 AS Pobyt_min
FROM dbo.ZdarzeniaWizyt
GROUP BY VisitId, Rampa;
-- Mediana i P90 pobytu na rampę (widok CzasyWizyt = wynik zapytania powyżej)
SELECT DISTINCT Rampa,
PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY Pobyt_min) OVER (PARTITION BY Rampa) AS Mediana_min,
PERCENTILE_CONT(0.9) WITHIN GROUP (ORDER BY Pobyt_min) OVER (PARTITION BY Rampa) AS P90_min
FROM dbo.CzasyWizyt
WHERE Pobyt_min IS NOT NULL;
Funkcja DATEDIFF zlicza przekroczone granice jednostki, więc przy jednostce MINUTE wizyta trwająca 4 minuty i 1 sekundę może dać wynik 5. Dlatego zapytanie liczy różnicę w sekundach i dzieli ją przez 60. Percentyle zwraca PERCENTILE_CONT. W PostgreSQL ten sam wynik daje agregat percentile_cont z GROUP BY, a różnicę czasów - wyrażenie EXTRACT(EPOCH FROM t2 - t1) / 60.
Funkcja MIN wybiera pierwszą godzinę danego statusu. Jeśli status bywa poprawiany, trzeba zdecydować, czy liczyć pierwszy zapis, czy ostatni (MAX), i trzymać się tej decyzji w każdym okresie, bo inaczej porównania między tygodniami przestają mieć sens.
Pomiar przed wdrożeniem - dwa tygodnie na placu
Czasy obrotu da się zmierzyć jeszcze przed wdrożeniem systemu, w arkuszu. Wynik staje się punktem odniesienia dla oceny wdrożenia, więc pomiar warto zrobić starannie. Cztery zasady ograniczają błędy.
- Ustal, kto i gdzie zapisuje godziny: ochrona przy bramach, magazyn przy rampie, a zegary mają pochodzić z jednego źródła czasu.
- Zbieraj dane przez dwa pełne tygodnie, tak aby każdy dzień tygodnia wystąpił dwa razy; krótszy okres nie pokaże różnic między poniedziałkiem a piątkiem.
- Zapisuj każdą wizytę, także dostawy nieawizowane, bo to one najczęściej wydłużają kolejkę, a pominięte zaniżają czasy oczekiwania.
- Licz medianę i P90 osobno dla każdej rampy i godziny przyjazdu, a nie dla całego obiektu.
| Kolumna arkusza pomiarowego | Skąd bierze się godzina |
|---|---|
| Numer rejestracyjny | ochrona przy bramie wjazdowej |
| Zgłoszenie pod bramą (status 20) | godzina zgłoszenia kierowcy w kiosku lub u ochrony |
| Wjazd na teren (status 40) | godzina otwarcia szlabanu |
| Początek obsługi (status 50) | magazynier przy rampie |
| Koniec obsługi (status 60) | magazynier przy rampie |
| Wyjazd (status 90) | ochrona przy bramie wyjazdowej |
| Rampa i typ dostawy | magazyn: numer rampy oraz informacja, czy dostawa była awizowana |
Szablon harmonogramu awizacji w Excelu planuje okna, ale nie rejestruje godzin bramy, więc do pomiaru trzeba dopisać kolumny z tabeli. Liczbę ramp i długość okna szacuje kalkulator okna czasowego i liczby ramp.
Jak czytać wynik pomiaru
Rozkład czasu między odcinkami wskazuje źródło problemu lepiej niż sama suma. Tabela łączy cztery typowe objawy z przyczyną i pierwszą reakcją.
| Objaw w danych | Możliwa przyczyna | Pierwsza reakcja |
|---|---|---|
| Długi odcinek pod bramą przy krótkim na rampę | przyjazdy skupiają się w kilku godzinach | rozłożyć okna lub otworzyć dodatkowe w godzinach szczytu |
| Długi odcinek na rampę mimo wolnych ramp | brak obsady lub opóźnione przywołanie pojazdu | sprawdzić obsadę zmiany i reguły przywołania |
| Obsługa dłuższa niż okno | zaniżona liczba palet w awizacji lub brak dokumentów | poprawić długość okna albo wymagania co do danych zgłoszenia |
| Długi odcinek wyjazdu | oczekiwanie na dokumenty lub kolejka przy wadze | przenieść wydawanie dokumentów przed zakończenie obsługi |
Czas obrotu w raportach systemu
Studio VSS.net zapisuje godziny statusów bramy i rampy, więc raporty pokazują średni czas obsługi pojazdu, czas oczekiwania na parkingu i czas pobytu na terenie, z eksportem do Excela i PDF. Medianę i percentyl P90 można policzyć na wyeksportowanych danych, na przykład funkcjami MEDIANA i PERCENTYL.INC.

Historia zakończonych awizacji przewoźnika
Portal pokazuje przewoźnikowi zakończone awizacje z danymi obiektu i numerem rejestracyjnym. Ten sam zapis widzi magazyn, więc obie strony rozmawiają o tych samych godzinach.
Wskaźniki opisuje strona o KPI systemu awizacji, a gotowe zestawienia - artykuł o raportach w programie awizacyjnym. Wzory pozostałych dokumentów zbiera strona wzory dokumentów awizacji.