Skip to content
Counter Ops / AI demand forecasting

Tomorrow's bake quantity, worked out one line at a time.

Most cafés set tomorrow's production from memory. It is not carelessness - it is the only method available when the alternative is reading a month of till receipts at nine at night. The result is a number that is roughly right and expensively wrong at the edges.

Forecasting here produces a quantity per baked line for the next trading day, on that line's own history. It arrives as a prep list to confirm or override. Nothing goes in an oven because software said so.

Output
Units per line, per day
Runs
Nightly, after close
History to be useful
About four weeks
Override
Always available
What arrives in the morning

A prep list with a number, a reason and a confidence level.

Every suggestion carries why it moved and how sure the model is. A number without either of those is not something a baker should be asked to act on at six in the morning.

Prep list / Friday

Awaiting confirmation
  • Butter croissant26up from 24

    Fridays run 9% above weekday average on this line, and it cleared by 15:40 last Friday.

    Confidence: High
  • Banana bread14down from 20

    Six units recorded as waste on three of the last four Fridays.

    Confidence: High
  • Almond danish18up from 16

    Sold out before 14:00 twice this week, so true demand is likely above what was recorded.

    Confidence: Medium
  • Seeded rye loaf8new line

    Only eleven days of history. Suggestion is anchored to comparable loaf lines.

    Confidence: Low

Confirm the list, adjust any line, or ignore it entirely. Overrides are recorded and become an input, so consistent disagreement changes the model rather than repeating the argument.

Last Friday, actual

Butter croissantcleared 15:40
Banana bread6 wasted
Almond danishcleared 13:50
The suggestion above is a direct response to this. Two lines cleared too early, one did not clear at all.

Selling out is not success

A line that clears at quarter to two did not meet demand - it ran out of it. Systems that only count sales read that as a perfect day. Recording the sell-out hour is what lets the forecast treat it as the shortfall it was.

What the forecast reads

Every input, and how much weight it carries.

Stated in full, because a forecast you cannot interrogate is just a number somebody asked you to trust at six in the morning.

Per-item sales history

Units sold per line per day, with the hour they sold in. The single heaviest input, and the reason the forecast improves with time rather than with configuration.

Primary

Day of week

A Saturday sourdough number has almost nothing to do with a Tuesday one. Each line is modelled per weekday, not smoothed across the week.

Primary

Recorded waste

Unsold units matter as much as sold ones. A line that sells out at ten is being under-baked; the forecast can only know that if the sell-out time is recorded.

Primary

Sell-out and sell-through timing

The hour a line cleared, and the shape of how it drained. A line that sells out early is censored demand and is treated as such rather than as satisfied demand.

Primary

Local calendar

Public holidays and known local closures for your city. Included because a holiday Monday behaves like nothing else in the history.

Secondary

Recent trend

Whether a line has been drifting up or down over recent weeks, so a growing item is not forecast against its three-month average.

Secondary

Weather outlook

Applied where a line has demonstrated a weather relationship in your own history. Cold brew and hot filter often do. A croissant frequently does not.

Conditional

What it does not read

  • Data from other cafés. Your forecast is built on your counter only. There is no pooled model deciding how much banana bread a café like yours sells.
  • Social media, reviews or foot-traffic feeds bought from third parties.
  • Anything about individual customers. Forecasting works on line-level volume, not on who bought what.
Honest limits

Where this forecast is weak, stated before you ask.

We are not quoting an accuracy percentage on this page. A single figure across all lines and all cafés would be close to meaningless, and quoting one would be marketing rather than information. Accuracy is reported per line inside the product, against your own history, where it can be checked.

New lines have almost nothing to work with

A line added last week is forecast by analogy to comparable items in your own case, and it is labelled low confidence because that is what it is. Expect to override it for the first few weeks. Once roughly four weeks of history exist, the suggestion starts standing on its own.

One-off events are invisible unless you say so

A street closure, a festival two roads over, a building site opening opposite, a competitor shutting for a fortnight. These move a café day substantially and the model has no way to see them. You can mark an expected unusual day, and the forecast will hold back rather than treat it as a normal Friday.

Sudden menu changes reset the picture

Reformulating a recipe, changing a portion size or repricing meaningfully makes older history less comparable. The model detects a level shift and reweights, but there is a genuine adjustment period and it will say so on the line.

Weather is used carefully, not enthusiastically

Weather effects are real but they are line-specific and often weaker than people expect. It is only applied to lines that have shown a relationship in your own data. Applying it everywhere produces confident nonsense.

It will not save a case that is priced wrong

Forecasting reduces the gap between what you bake and what sells. It does not fix a line that nobody wants at the price it is at. When a line is persistently over-forecast and persistently wasted, the honest read is often that the line should change, not the quantity.

Questions

Forecasting, answered.

How much history do we need before this is useful?
Around four weeks per line gets you suggestions worth acting on, because that is roughly four observations of each weekday. Before that, suggestions lean on comparable lines and are marked low confidence. Seasonal accuracy takes considerably longer, since the model needs to have seen a season before it can anticipate one.
Does it ever change what we bake automatically?
No. It produces a prep list. Somebody confirms or edits it before anything is prepped. We do not think an automated production decision is appropriate for perishable goods you are responsible for.
What happens when we override it constantly?
Overrides are recorded as signal. Consistent disagreement in the same direction on the same line adjusts the model rather than being ignored. If you are right and it is wrong, it should end up agreeing with you.
Can we forecast for a specific event we know about?
You can mark a day as unusual with an expected direction, and the forecast will widen its range rather than confidently applying a normal-day pattern. It cannot discover the event on its own.
Do multiple outlets share one forecast?
No. Each counter is forecast separately, because a station branch and a residential branch do not sell the same things at the same hours. What is shared across a group is the bake-line catalogue, not the demand curve.
What model is behind it?
Per-line time-series forecasting with weekday and trend components, adjusted for censored demand where a line sold out early, plus a similarity fallback for lines with insufficient history. It is a well-understood class of approach applied carefully to a narrow problem, which is why we can explain each suggestion on the line itself.

AI demand forecasting

Four weeks of honest counting is what turns a guess into a number.

The forecast is only as good as the sell-through and waste history behind it. Start counting properly and the prep list becomes worth reading fairly quickly.

  • A quantity per line for the next trading day, with the reason attached
  • Confidence stated per line, and low confidence labelled as such
  • Your overrides recorded and used, not discarded