@document title: Vraagprognose en voorbereidingsplan description: Tabblad „Prognose” in het magazijn: hoeveel gerechten er doorgaans worden verkocht op deze dag van de week, wat dat wordt volgens de technische kaarten (voorbereidingsplan en conceptbestelling voor de leverancier) en wat risico loopt om vóór het einde van de dag op te raken type: tutorial category: feature status: live platform: Web (Admin Panel) product: cenaly.com — digital restaurant menu SaaS audience: restaurant owners, managers, chefs, purchasing language: nl verified: 2026-09-02 locale_variants: [ru, en]
@features
- Vraagprognose per gerecht per dag van de week: mediaan van dezelfde dag van de week over een venster van 8 weken
- Vraagprofiel binnen de dag: aandelen ochtend / lunch / avond / nacht
- Eerlijke onzekerheid: waargenomen bereik, steekproefomvang, „te weinig” in plaats van een verzonnen getal
- Geen machine learning by design - slechts twee verklaarbare statistieken
- Receptexplosie naar een voorbereidingsplan, inclusief geneste halffabricaten (tot 5 niveaus)
- Deadline per voorbereidingsitem: het uur waarop de voorraad de vraag niet meer dekt
- Conceptinkoop gegroepeerd per leverancier: prognosebehoefte over een dekkingshorizon versus par level, afhankelijk van wat groter is
- Risico op opraken vandaag met een tempo-factor („raakt rond 19:00 op”)
- Het voorbereidingsplan naar het takenbord van de shift sturen als één hoofdtask met subtaken per item
@sections
- overview: Waar het tabblad Prognose staat en welke vragen het beantwoordt
- math: Hoe de prognose wordt berekend en waarom er geen ML is
- prep: Het voorbereidingsplan
- purchase: Het conceptinkoop
- runout: Risico op opraken vóór het einde van de dag
- requirements: Wat nodig is om de prognose te laten verschijnen
- related: Voorraad, Taken, Menugestuur
Vraagvoorspelling
De kok beantwoordt elke ochtend dezelfde vraag: hoeveel van wat moet worden voorbereid. De inkoper een naburige vraag: hoeveel van wat moet worden besteld. Meestal antwoorden beiden uit hun hoofd.
Open Beheerpaneel → Voorraad → tab „Voorspelling” (admin.cenaly.com/inventory). De tab neemt de verkoophistorie en zet die om in drie concrete artefacten. De volgorde op het scherm is naar urgentie: bovenaan staat wat riskeert op te raken voor het einde van de dag, daaronder het voorbereidingsplan, nog daaronder de conceptbestelling voor de leverancier. Als er geen risicoartikelen zijn, is er helemaal geen bovenste blok. Helemaal onderaan, als ingeklapte uitleg, staat de tabel „Voorspelling per gerecht” — daar hoeft u niet naar te kijken, tot u een cijfer wilt controleren.
Hoe de voorspelling wordt berekend#
Precies twee statistieken, beide hardop aan de kok uit te leggen:
- Hoeveel van dit gerecht gewoonlijk wordt verkocht op deze dag van de week. Het historievenster is 8 weken (56 dagen). De puntschatting is de mediaan, niet het gemiddelde: acht dinsdagen, waarvan één een verjaardag voor 40 personen was, zeggen met het gemiddelde „bereid voor op 40” elke week, terwijl de mediaan die dinsdag negeert. In de naslagtabel „Voorspelling per gerecht” staat naast het getal de eerlijke spreiding van de waarnemingen (minimum–maximum), hoeveel waarnemingen in de steekproef en de piek — het deel van de dag met het grootste aandeel verkopen. In de kop van de tab staat de grondslag van de berekening: „mediaan van dezelfde dag van de week over 56 dagen · N werkdagen historie”.
- Hoe die vraag binnen de dag is verdeeld — aandelen per dagdeel: ochtend (6–11), lunch (11–16), avond (16–23), nacht (23–6). De grenzen zijn gelijk voor alle vestigingen, en het profiel zelf wordt berekend over alle dagen van de historie tegelijk, niet apart per dinsdag.
Wat als waarneming telt, is ook bewust bepaald: geannuleerde bestellingen gaan niet de historie in; de huidige niet-afgesloten dag valt niet in de steekproef; dagen vóór de eerste verkoop van een gerecht tellen niet als nullen (een nieuwigheid krijgt geen „nul verkopen” voor de weken waarin die nog niet op het menu stond); „een dag zonder verkopen” verschilt van „een dag waarop de vestiging gesloten was”. De etmaal wordt gerekend in de tijdzone van de vestiging. In de berekening gaan de top 500 artikelen van de vestiging naar omzet — de lange staart van het menu wordt afgesneden.
Minder dan drie waarnemingen van één dag van de week — dan komt er geen getal. In de tabel staat dan een streepje in plaats van een cijfer, en in de kolom waarnemingen de markering „weinig”. Zo'n gerecht komt helemaal niet in het voorbereidingsplan en in de inkoop. Een voorspelling die niet te vertrouwen is, is erger dan geen voorspelling: er wordt op gekookt en op ingekocht.
De schakelaar bovenaan kiest voor welke dag de voorspelling wordt opgesteld — vandaag of morgen.
Voorbereidingsplan#
De voorspelling per gerecht wordt via technische kaarten omgezet in behoefte aan goederen en halffabricaten. De omzetting gebeurt op basis van de huidige technische kaarten, op het moment dat de tab wordt geopend — als de chef 's ochtends de receptuur heeft gewijzigd, houdt het plan daar rekening mee (een wijziging die in een ander venster is gemaakt, wordt bij het vernieuwen van de pagina opgepikt).
Geneste halffabricaten worden in de diepte omgezet: als een saus wordt getrokken van bouillon, en de bouillon ook een halffabricaat is, komen beide in het plan — anders zou de kok zijn opgedragen de saus te trekken, zonder te zeggen dat er geen bouillon voor is. De nestingsdiepte is beperkt tot vijf niveaus (en beveiligd tegen recepturen die naar elkaar verwijzen in een cirkel): alles wat dieper ligt, geldt als grondstof en gaat naar de inkoop, niet naar het voorbereidingsplan.
De tabel van het plan:
| Kolom | Wat die betekent |
|---|---|
| Naam van het goed | halffabricaat dat moet worden geproduceerd |
| Restant | hoeveel er al is |
| Nodig | bruto behoefte volgens de voorspelling voor de dag |
| Produceren | het tekort — hoeveel er werkelijk moet worden gekookt/gesneden |
| Tegen | het uur waarop het restant niet meer toereikend is |
De termijn is niet „het begin van de dienst”. Als de saus toereikend is voor de ochtend, maar niet voor de lunch, moet de kok het redden tegen 11:00, niet tegen 6:00. Het uur wordt afgerond naar de dichtstbijzijnde grens van een dagdeel (6:00, 11:00, 16:00, 23:00), en geneste halffabricaten hebben helemaal geen termijn — daar staat een streepje: die worden gekookt „vóór” wat ermee wordt gemaakt. De regels zijn gesorteerd op termijn: eerdere deadline — hoger in de lijst. Als er niets voor te bereiden valt, schrijft de tab dat ook: de restanten zijn toereikend voor de voorspelling.
Het restant van een halffabricaat wordt één keer verbruikt: als dezelfde bouillon zowel in de saus als in de soep gaat, zou een naïeve berekening het restant twee keer toepassen en zou de inkoop te weinig grondstof hebben.
De knop „Naar het dienstbord” zet het plan om in een checklist van taken — zie Takenbord van de dienst. Er wordt één gezamenlijke taak „Voorbereidingsplan —
Gerechten zonder technische kaart komen niet in het plan en worden in een aparte waarschuwing opgesomd (tot 20 namen): daarover kan de voorspelling niets zeggen, en dat kunt u beter hardop zeggen dan doen alsof de bestelling compleet is.
Conceptbestelling aan leverancier#
Onder het plan staat een conceptinkoop voor de gekozen dekkingshorizon (veld „Dekking, dagen”: meestal de levertijd plus een buffer; standaard 3 dagen, toegestaan van 1 tot 30).
Voor elk artikel worden twee waarden berekend, en de grootste wordt genomen:
- behoefte volgens de prognose over de horizon minus het huidige saldo;
- aanvulling tot het doelvoorraadniveau (en als dat voor het artikel niet is ingesteld — tot het bestelpunt) — gewone voorraadlogica.
Waarom de grootste, en niet de een in plaats van de ander: de veiligheidsvoorraad weet niets van de dubbele drukte van morgen, vrijdag; en de prognose weet niets van artikelen die helemaal niet in technische kaarten voorkomen (verpakking, verbruiksartikelen) — voor hen zijn de voorraadnormen het enige richtpunt. Regels die via de tweede regel in de lijst komen, zijn gemarkeerd met „volgens bestelpunt”. Let op: de regel kijkt naar het doelsaldo, daarom komt ook een artikel in het concept dat nog boven het bestelpunt ligt, maar onder het doelvoorraadniveau — het tabblad „Moet besteld worden” toont zo'n artikel nog niet.
Volgens de prognose worden alleen eindingrediënten ingekocht: halffabricaten gaan niet volgens de prognose mee in de bestelling aan de leverancier (die worden volgens het bereidingsplan gemaakt) — ze kunnen alleen via de voorraadnorm in het concept terechtkomen.
De hoeveelheid wordt naar boven afgerond op een veelvoud van de verpakking, als die voor het artikel is ingesteld. De regels zijn per leverancier gegroepeerd (artikelen zonder toegewezen leverancier vormen een aparte groep), en de knop maakt per leverancier een eigen bestelling — daarna zijn het gewone inkopen uit het gedeelte Voorraad.
„Raken op om 19:00”#
Het bovenste blok van het tabblad is het risico dat iets voor het einde van de dag opraakt: wat nu direct aandacht vraagt. Het vergelijkt het huidige saldo met het verwachte verbruik voor de resterende uren, berekend op basis van het profiel van de dagdelen, en noemt het uur waarop het saldo nul wordt. Als het uur niet te bepalen is, zegt de regel eerlijk „niet genoeg tot het einde van de dag”, zonder verzonnen tijd.
Het blok wordt alleen voor vandaag berekend: bij het omschakelen naar „morgen” verdwijnt het — een risico „raakt op om 19:00” bestaat voor morgen niet.
Correctie op het tempo van vandaag: als er tegen de middag al meer dan gewoonlijk is verbruikt, stijgt de verwachting voor de rest van de dag evenredig, en verschijnt in de regel een markering zoals „tempo van de dag ×1.4”. Het tempo wordt berekend op basis van de werkelijke verkopen (afboekingen, bederf en personeelsmaaltijden tellen niet mee) en wordt gemeten voor de eerste kleine twintig meest risicovolle regels — de overige worden volgens het gewone profiel berekend. De coëfficiënt is begrensd tot het bereik ×0.5…×2 — een correctie voor „het is vandaag druk” is nodig, maar een voorspelling op basis van één bon niet. Als er helemaal niets is om het tempo uit te meten, zegt het tabblad eerlijk dat het gewone profiel van de weekdag is genomen.
Wat is nodig om de prognose te laten verschijnen#
| Nodig | Waarvoor | Zonder dit |
|---|---|---|
Merk op de AWS-contour (cenaly.com, cenaly.com…) |
de verkoophistorie wordt berekend door de serveranalysedatabase, en die draait alleen daar | op cenaly.ru schrijft het tabblad altijd „Nog te weinig bestelhistorie” — de melding gaat over historie, maar de oorzaak is anders: daar is niets om die te berekenen |
| Verkoophistorie | de mediaan per weekdag berekenen | „Nog te weinig bestelhistorie om de vraag te voorspellen” |
| ≥ 3 dezelfde weekdagen in de historie | een steekproef berekenen | het gerecht is in de tabel gemarkeerd met „weinig” en gaat niet in de plannen mee |
| Technische kaarten van gerechten | de prognose omzetten naar artikelen | het gerecht komt in de waarschuwing „zonder technische kaart” |
| Actuele saldi | het tekort en het risico berekenen | het tabblad toont niets tot de saldi zijn geladen |
Het historieaggregaat wordt op de server ongeveer elke half uur herberekend (en alleen voor accounts die nu werken); het omzetten van technische kaarten en het aftrekken van saldi worden berekend op het moment dat het tabblad wordt geopend, op basis van de huidige gegevens.
Gerelateerde gedeelten#
- Voorraad — technische kaarten, saldi, ontvangst en inkopen
- Takenbord van de dienst — waar het bereidingsplan naartoe gaat
- Menu-engineering — wat te doen met een gerecht wanneer zowel de vraag als de marge zichtbaar is
- Analytics — verkopen per gerecht en periode
Veelgestelde vragen#
Waarom staat bij de helft van de gerechten de markering „weinig”?#
Omdat er voor deze gerechten in de historie minder dan drie verkopen op deze weekdag zijn — bijvoorbeeld een gerecht dat twee weken geleden op het menu is verschenen. Het aantal verschijnt vanzelf wanneer er genoeg waarnemingen zijn; tot die tijd doet het gerecht niet mee, niet in het bereidingsplan en niet in de inkoop.
Waarom wordt de mediaan gebruikt en niet het gemiddelde?#
De mediaan is bestand tegen uitschieters. Eén banket voor 40 personen verschuift het gemiddelde zodanig dat de zaak wekenlang te veel voorbereidt. Het gemiddelde wordt in de interface helemaal niet getoond — alleen de mediaan, de spreiding en het aantal waarnemingen.
Houdt de prognose rekening met het weer, feestdagen, voetbal?#
Nee. Hij kent alleen de weekdag en het dagdeel. De feestweek en de wedstrijd om de hoek houdt de manager nog steeds in het hoofd — en dat is eerlijker dan een model dat doet alsof het daarmee rekening heeft gehouden.
Kan de prognose een week vooruit worden opgesteld?#
Het tabblad toont vandaag en morgen. Voor de inkoop wordt de horizon apart ingesteld — met het veld „Dekking, dagen”: de prognose van één dag wordt daarmee vermenigvuldigd.
Verstuurt het conceptinkoop meteen een bestelling naar de leverancier?#
Nee. Het is juist een concept: overtollige regels haalt u weg met het vinkje en pas daarna klikt u op aanmaken — dat levert gewone conceptinkopen op uit het gedeelte „Voorraad”, één per leverancier. De hoeveelheden past u aan in de aangemaakte bestelling, op dezelfde plek als gewoonlijk.