Prognoza popytu
Kucharz każdego ranka odpowiada na to samo pytanie: ile czego przygotować. Zaopatrzeniowiec — na sąsiednie: ile czego zamówić. Zwykle obaj odpowiadają z pamięci.
Otwórz Panel administracyjny → Magazyn → zakładka „Prognoza” (admin.cenaly.com/inventory). Zakładka bierze historię sprzedaży i zamienia ją w trzy konkretne artefakty. Kolejność na ekranie jest według pilności: na górze to, co może się skończyć przed końcem dnia, niżej — plan przygotowań, jeszcze niżej — szkic zamówienia do dostawcy. Jeśli nie ma pozycji zagrożonych, górnego bloku nie będzie wcale. Na samym dole, w zwiniętej pomocy, leży tabela „Prognoza według dań” — można na nią nie patrzeć, dopóki nie zechce się sprawdzić liczby.
Jak liczona jest prognoza#
Dokładnie dwie statystyki, obie możliwe do wyjaśnienia kucharzowi na głos:
- Ile tego dania zwykle sprzedaje się w ten dzień tygodnia. Okno historii — 8 tygodni (56 dni). Oszacowanie punktowe to mediana, a nie średnia: osiem wtorków, z których jeden był urodzinami na 40 osób, przy średniej mówi „przygotuj na 40” co tydzień, a mediana ten wtorek ignoruje. W tabeli pomocniczej „Prognoza według dań” obok liczby pokazany jest uczciwy rozrzut obserwacji (minimum–maksimum), ile obserwacji jest w próbie i szczyt — część doby z największym udziałem sprzedaży. W nagłówku zakładki zapisana jest podstawa obliczenia: „mediana tego samego dnia tygodnia za 56 dni · N dni roboczych historii”.
- Jak ten popyt rozkłada się w ciągu dnia — udziały według części doby: rano (6–11), obiad (11–16), wieczór (16–23), noc (23–6). Granice są takie same dla wszystkich lokali, a sam profil liczy się po wszystkich dniach historii naraz, nie osobno dla wtorków.
To, co uznaje się za obserwację, też zostało ustalone świadomie: anulowane zamówienia nie wchodzą do historii; dzisiejszy niezamknięty dzień nie trafia do próby; dni przed pierwszą sprzedażą dania nie są liczone jako zera (nowość nie dostaje „zera sprzedaży” za te tygodnie, gdy jeszcze nie było jej w menu); „dzień bez sprzedaży” różni się od „dnia, gdy lokal był zamknięty”. Doba liczona jest w strefie czasowej placówki. Do obliczenia bierze się top 500 pozycji placówki według obrotu — długi ogon menu jest odcinany.
Mniej niż trzy obserwacje jednego dnia tygodnia — liczby nie będzie. W tabeli zamiast cyfry stanie myślnik, a w kolumnie obserwacji — oznaczenie „mało”. Takie danie nie trafi wcale ani do planu przygotowań, ani do zakupu. Prognoza, której nie można wierzyć, jest gorsza od jej braku: według niej się gotuje i kupuje.
Przełącznik u góry wybiera, na który dzień zbudować prognozę — dzisiaj czy jutro.
Plan przygotowań#
Prognoza według dań rozwija się po kartach technologicznych w zapotrzebowanie na towary i półprodukty. Rozwinięcie idzie po aktualnych kartach technologicznych, na moment otwarcia zakładki — jeśli szef zmienił recepturę rano, plan to uwzględni (poprawkę zrobioną w sąsiednim oknie podchwyci odświeżenie strony).
Zagnieżdżone półprodukty rozwijają się w głąb: jeśli sos gotuje się z bulionu, a bulion też jest półproduktem, do planu trafią oba — inaczej kucharzowi kazano by ugotować sos, nie mówiąc, że nie ma pod niego bulionu. Głębokość zagnieżdżenia jest ograniczona do pięciu poziomów (i zabezpieczona przed recepturami odwołującymi się do siebie w kółko): wszystko, co głębiej, liczy się jako surowiec i idzie do zakupu, a nie do planu przygotowań.
Tabela planu:
| Kolumna | Co oznacza |
|---|---|
| Nazwa towaru | półprodukt, który trzeba wytworzyć |
| Stan | ile już jest |
| Potrzeba | potrzeba brutto według prognozy na dzień |
| Wytworzyć | brakująca ilość — ile faktycznie ugotować/pokroić |
| Na | godzina, do której stanu przestaje wystarczać |
Termin to nie „początek zmiany”. Jeśli sosu wystarcza na rano, ale nie na obiad, kucharz musi zdążyć na 11:00, a nie na 6:00. Godzina jest zaokrąglana do najbliższej granicy części doby (6:00, 11:00, 16:00, 23:00), a zagnieżdżone półprodukty nie mają terminu wcale — tam stoi myślnik: gotuje się je „przed” tym, co się z nich robi. Wiersze są posortowane według terminu: wcześniejszy deadline — wyżej na liście. Jeśli nie ma czego przygotowywać, zakładka tak właśnie pisze: stanów wystarcza na prognozę.
Stan półproduktu zużywa się raz: jeśli ten sam bulion wchodzi i do sosu, i do zupy, naiwne obliczenie zastosowałoby stan dwukrotnie i zakup nie dobrałby surowca.
Przycisk „Na tablicę zmiany” zamienia plan w listę kontrolną zadań — zob. Tablica zadań zmiany. Tworzone jest jedno wspólne zadanie „Plan przygotowań — ”, a każde przygotowanie staje się jego podzadaniem z ilością i godziną wprost w tytule („Sos demiglace — 16 szt. na 11:00”); zamknąć wspólne zadanie można tylko wtedy, gdy zamknięte są wszystkie podzadania. Ponowne naciśnięcie nie mnoży duplikatów: jeśli plan na tę datę już stoi na tablicy, przycisk tak właśnie powie.
Dania bez karty technologicznej nie wchodzą do planu i są wymieniane w osobnym ostrzeżeniu (do 20 nazw): o nich prognoza nie może nic powiedzieć, a lepiej powiedzieć to na głos, niż udawać, że zamówienie jest pełne.
Szkic zamówienia u dostawcy#
Poniżej planu znajduje się szkic zakupu na wybrany horyzont pokrycia (pole „Pokrycie, dni”: zwykle termin dostawy plus zapas; domyślnie 3 dni, dopuszczalnie od 1 do 30).
Dla każdego towaru liczone są dwie wielkości i brana jest większa:
- potrzeba według prognozy za horyzont minus bieżący stan;
- uzupełnienie do stanu docelowego (a jeśli nie jest on zadany dla towaru — do punktu zamawiania) — zwykła logika magazynowa.
Dlaczego większa, a nie jedna zamiast drugiej: zapas bezpieczeństwa nie wie o jutrzejszym piątku z podwójnym obłożeniem; a prognoza nie wie o towarach, które w ogóle nie występują w kartach technologicznych (opakowania, materiały eksploatacyjne) — dla nich normy magazynowe są jedynym punktem odniesienia. Wiersze, które trafiły na listę według drugiej reguły, są oznaczone „według punktu zamawiania”. Uwaga: reguła patrzy na stan docelowy, dlatego do szkicu trafi także towar, który jest jeszcze powyżej punktu zamawiania, ale poniżej stanu docelowego — zakładka „Trzeba zamówić” takiego towaru na razie nie pokazuje.
Według prognozy kupowane są tylko końcowe składniki: półprodukty nie wchodzą do zamówienia u dostawcy według prognozy (są wytwarzane według planu przygotowań) — mogą trafić do szkicu co najwyżej według normy magazynowej.
Ilość jest zaokrąglana w górę do wielokrotności opakowania, jeśli jest zadana dla towaru. Wiersze są pogrupowane według dostawców (towary bez przypisanego dostawcy — w osobnej grupie), a przycisk tworzy odrębne zamówienie dla każdego dostawcy — dalej są to zwykłe zakupy z sekcji Magazyn.
„Skończy się do 19:00”#
Najwyższy blok zakładki — ryzyko wyczerpania do końca dnia: to, co pali się tu i teraz. Porównuje bieżący stan z oczekiwanym zużyciem na pozostałe godziny, obliczonym według profilu części dnia, i podaje godzinę, o której stan spadnie do zera. Jeśli godziny nie da się określić, wiersz uczciwie mówi „nie wystarczy do końca dnia”, bez wymyślonego czasu.
Blok jest liczony tylko dla dzisiaj: po przełączeniu na „jutro” znika — ryzyko „skończy się do 19:00” dla jutra nie występuje.
Korekta na dzisiejsze tempo: jeśli do południa zużyto już więcej niż zwykle, oczekiwanie na pozostałą część dnia proporcjonalnie rośnie, a w wierszu pojawia się oznaczenie w rodzaju „tempo dnia ×1,4”. Tempo jest liczone według faktycznej sprzedaży (straty, zepsucia i posiłki personelu nie wchodzą do niego) i jest mierzone dla pierwszego kilkunastu najbardziej ryzykownych wierszy — pozostałe są liczone według zwykłego profilu. Współczynnik jest ograniczony do zakresu ×0,5…×2 — korekta na „dziś jest tłoczno” jest potrzebna, ale przewidywanie na podstawie jednego paragonu nie. Jeśli tempa nie ma z czego w ogóle zmierzyć, zakładka uczciwie powie, że wzięto zwykły profil dnia tygodnia.
Co jest potrzebne, aby prognoza się pojawiła#
| Potrzebne | Po co | Bez tego |
|---|---|---|
Marka na konturze AWS (cenaly.com, cenaly.com…) |
historię sprzedaży liczy serwerowa baza analityczna, a jest uruchomiona tylko tam | na cenaly.ru zakładka zawsze pisze „Na razie za mało historii zamówień” — komunikat dotyczy historii, ale przyczyna jest inna: nie ma czym jej tam policzyć |
| Historia sprzedaży | obliczyć medianę według dnia tygodnia | „Na razie za mało historii zamówień, aby prognozować popyt” |
| ≥ 3 takie same dni tygodnia w historii | liczyć próbką | danie w tabeli jest oznaczone „mało” i nie wchodzi do planów |
| Karty technologiczne dań | rozłożyć prognozę na towary | danie trafi do ostrzeżenia „bez karty technologicznej” |
| Aktualne stany | obliczyć brak i ryzyko | zakładka nie pokaże nic, dopóki stany się nie wczytają |
Agregat historii jest przeliczany na serwerze mniej więcej co pół godziny (i tylko dla kont, które obecnie pracują); rozłożenie kart technologicznych i odjęcie stanów są liczone w momencie otwarcia zakładki, na bieżących danych.
Powiązane sekcje#
- Magazyn — karty technologiczne, stany, przyjęcia i zakupy
- Tablica zadań zmiany — dokąd trafia plan przygotowań
- Inżynieria menu — co zrobić z daniem, gdy widać i popyt, i marżę
- Analityka — sprzedaż według dań i okresów
Częste pytania#
Dlaczego przy połowie dań widnieje oznaczenie „mało”?#
Ponieważ w przypadku tych dań w historii jest mniej niż trzy sprzedaże w tym dniu tygodnia — na przykład danie pojawiło się w menu dwa tygodnie temu. Liczba pojawi się sama, gdy obserwacji będzie wystarczająco dużo; do tego czasu danie nie uczestniczy ani w planie przygotowań, ani w zakupie.
Dlaczego używana jest mediana, a nie średnia?#
Mediana jest odporna na wartości odstające. Jeden bankiet na 40 osób przesuwa średnią tak, że lokal przez tygodnie przygotowuje nadmiar. Średnia w interfejsie nie jest pokazywana w ogóle — tylko mediana, rozrzut i liczba obserwacji.
Czy prognoza uwzględnia pogodę, święta, mecz?#
Nie. Zna tylko dzień tygodnia i porę dnia. Tydzień świąteczny i mecz po sąsiedzku nadal trzyma w głowie menedżer — i to jest uczciwsze niż model, który udaje, że je uwzględnił.
Czy można budować prognozę na tydzień naprzód?#
Zakładka pokazuje dzisiaj i jutro. Dla zakupu horyzont zadaje się osobno — polem „Pokrycie, dni”: prognoza jednego dnia jest mnożona przez nie.
Czy szkic zakupu od razu wysyła zamówienie do dostawcy?#
Nie. To właśnie szkic: zbędne wiersze zdejmuje się zaznaczeniem i dopiero potem naciska się utworzenie — powstają zwykłe szkice zakupów z sekcji „Magazyn”, po jednym na dostawcę. Ilości poprawia się już w utworzonym zamówieniu, tam gdzie zwykle.