Start with 8 to 12 weeks of covers by day and service from your booking system or till. Build a same-weekday baseline, adjust it for bookings already on the books, weather and local events, then turn the forecast into prep quantities and orders. Log waste daily so you can see whether it's working. AI helps you build and explain it.
Specialist forecasting tools automate the same idea, from about $79 a location a month, but most small restaurants can get a useful forecast from a spreadsheet first and learn what they'd actually want a tool to do. Below: the forecast method, a worked Friday taken from covers to prep sheet, a waste log template and a two-number accuracy check.
What a covers forecast needs to know
You don't need years of data or a data scientist. You need these columns, one row per service:
| Column | Where it comes from | Why it matters |
|---|---|---|
| Date and service (lunch, dinner) | Booking system or till | Lunch and dinner behave differently; forecast them separately |
| Covers served | Till (covers or guest count) or booking system (seated covers) | What you're forecasting |
| Covers booked two days before | Booking system, noted each day or from its reports | Tells you whether this week is running ahead or behind |
| Weather | Your own note: dry, wet, very hot | Matters most if you have outside seating |
| Event flag | Your own note: concert, match, school holiday, private hire | Lets you exclude or adjust unusual days |
| Dish counts | Till item-sales report | Turns covers into portions |
The "booked two days before" column is the one most restaurants don't keep, and it's the most useful. Start writing it down tomorrow, even if everything else waits.
If you don't take bookings, find another early signal that moves with demand. A walk-in pizzeria might record online orders received by 5pm, which tend to track the evening's dine-in trade. A hotel restaurant has the best signal of all, rooms occupied that night, and a café next to an office park can use the number of meeting-room bookings its neighbours publish. Any number you can read before prep starts, that rises and falls with covers, will do the same job as bookings-so-far.
Building a baseline you can trust
The simplest forecast that works well for small restaurants is:
- Baseline: the median covers for the same service on the same weekday over the last six weeks. The median (the middle value) is better than the average because one freak night doesn't drag it.
- Pace adjustment: multiply by this week's bookings-so-far divided by the usual bookings-so-far at the same point.
- Known adjustments: weather, events and closures, from your own history ("rainy Fridays average 8 fewer covers because the terrace closes").
You can have an AI assistant write the spreadsheet formulas for this rather than working them out yourself. Something like:
I have a sheet with columns: Date, Weekday, Service, Covers,
BookedTwoDaysBefore, Weather, EventFlag.
Write formulas (for Google Sheets / Excel) that, for a given future
date and service, calculate:
1. The median Covers for the same Weekday and Service over the
previous 6 matching rows, ignoring rows where EventFlag is filled.
2. The median BookedTwoDaysBefore for those same rows.
3. A pace ratio = this week's BookedTwoDaysBefore / that median.
4. Forecast = baseline x pace ratio, rounded to a whole number.
Explain each formula in one sentence so I can check it.
Ask for the explanation every time. If you can't follow a formula, you won't spot when it's wrong. A realistic first answer for step 1 (sample output, illustrative) is:
=AVERAGEIFS(D:D, B:B, B200, C:C, C200, G:G, "")
"This returns the median covers for the same weekday and service,
excluding event days."
The explanation says median; the formula calculates an average, because spreadsheets have no MEDIANIFS function and the assistant reached for the nearest one. It also uses every matching row in the sheet rather than the last six. On the bistro's data that means one concert night and a quiet January are both pulling the baseline. Reply with exactly what's wrong ("that's an average, and it uses all rows, not the last six") and you get a working version. In Excel 365, with the sheet sorted oldest to newest:
=MEDIAN(TAKE(FILTER(D2:D199, (B2:B199=B200)*(C2:C199=C200)*(G2:G199="")), -6))
FILTER keeps the matching weekday, service and unflagged rows, TAKE with -6 keeps the last six, and MEDIAN finds the middle. Google Sheets needs a slightly different function for the last-six step, so ask for the Sheets version if that's what you use. Either way, test it by hand on one day: count back six matching rows, put them in order, and check the sheet agrees. AI prompts for Google Sheets has more on getting working formulas out of an assistant.
Worked example: a Friday at a 50-seat bistro
Say a 50-seat bistro with a 12-seat terrace (an illustration) is planning Friday dinner on Wednesday afternoon.
- Last six Friday dinners: 92, 88, 118, 95, 90, 97 covers. The 118 was the night of a nearby concert, so it's flagged. Median of all six is 93.5; it barely moves the median, which is why the median is used.
- Pace: by Wednesday afternoon, 64 covers are booked for this Friday. On the last six Fridays, the typical figure at this point was 56. Pace ratio: 64 ÷ 56 = 1.14.
- Pace-adjusted: 93.5 × 1.14 = about 107.
- Weather: rain is forecast, and past rainy Fridays have run about 8 covers lower with the terrace shut. Forecast: 99 covers.
Treat 99 as the middle of a range, roughly 89 to 109. The range matters more than the single number when you set prep.
The pace ratio has one trap worth seeing with numbers. The following Saturday, the same bistro had 84 covers booked by Thursday afternoon against a usual 60, a ratio of 1.4, and the sheet forecast 126 covers from a baseline of 90. But 20 of those 84 were a single birthday party. A big group isn't a sign that the rest of the night is busy; it's just 20 people. Take the group out (64 ÷ 60 = 1.07, so 90 × 1.07 = 96), then add the 20 back: 116. The night came in at 114. Prepping for 126 would have left most of the extra short rib and hake unsold. The rule: any booking of 10 or more goes in the event column and is added on top, not multiplied.
From covers to prep sheets and orders
Turn the forecast into portions using each dish's share of Friday dinners from your till reports:
| Dish | Share of Friday covers | Forecast portions | Prep target | Why that buffer |
|---|---|---|---|---|
| Roast chicken | 25% | 24.8 | 26 | Cooked to order from prepped birds; spare portions can go into tomorrow's lunch special |
| Braised short rib | 22% | 21.8 | 24 | Braised in advance; any extra can be used the next day within your food-safety rules |
| Hake | 18% | 17.8 | 18 | Short shelf life and expensive: order close to forecast, keep one or two spare |
| Steak | 13% | 12.9 | 14 | Cut to order; spare steaks keep |
| Barley risotto | 12% | 11.9 | 12 | Base par-cooked in one batch; easy to top up during service |
The principle: set buffers by what happens to a leftover portion. If it can be used tomorrow, prep towards the top of the range. If it's binned, prep close to the forecast and accept the occasional "sorry, we've just sold the last one". Diners forgive a sold-out special far more easily than your margins forgive a bin of fish.
The same numbers drive ordering: portions × recipe quantities, less stock on hand, gives your order for perishable lines. An assistant can turn the prep table and your recipe cards into a draft order list; check it against stock before sending. For the hake, with illustrative quantities: 18 portions × 180g is 3.24kg, less 0.8kg already in the fridge, so order 2.5kg. The check that catches most draft order lists out is whether they include every service that uses the ingredient. If hake also goes into Saturday lunch's fish sandwich, an order worked out from the dinner forecast alone will run short by lunchtime.
Getting the kitchen to trust a smaller prep
The forecast is the easy part. The hard part is a head chef who has run out of short rib at 9pm once and has prepped 30 portions every Friday since. Over-prepping is a rational response to being blamed for running out, so change the rules along with the numbers:
- Agree what running out means. If one dish sells out after 9pm on a busy night, that's the forecast working, not a failure. Say so to the team in advance.
- Give the kitchen a top-up plan. For dishes that can be finished quickly, such as the risotto base, set a trigger ("when 8 portions are left before 8pm, start another batch") so a smaller prep doesn't feel risky.
- Show the waste log at the weekly meeting. Chefs respond to seeing their own bin in dollars. A line reading "short rib overproduction: 31 portions, about $190 this month" makes the case better than any forecast.
- Let the chef adjust the forecast, and record why. "Added 4 because a party of 12 rang this morning" is useful information that should go into next week's notes, not a disagreement.
Logging waste so the forecast gets better
Without a waste log you can't tell whether the forecast is helping. Keep it next to the bin or on a tablet by the pass:
Date | Service | Item | Quantity (portions or kg) | Reason | Est. cost
Reasons (pick one):
OP = overproduction (prepped, never sold)
SP = spoilage (went off before use)
TR = trim and prep waste
PL = plate waste (came back from the table)
ER = error (dropped, wrong order, remake)
Once a week, paste the log into an assistant and ask for a summary by reason and by item, with the three most costly lines. Here are a few rows from a filled-in week, with illustrative costs:
| Date | Service | Item | Quantity | Reason | Est. cost |
|---|---|---|---|---|---|
| Mon | Dinner | Short rib | 4 portions | OP | $24.40 |
| Tue | Dinner | Hake | 0.6kg | SP | $13.80 |
| Wed | Lunch | Chips | 1.5kg | PL | $2.25 |
| Thu | Dinner | Chips | 1.8kg | PL | $2.70 |
| Fri | Dinner | Short rib | 6 portions | OP | $36.60 |
| Sat | Dinner | Chips | 2.2kg | PL | $3.30 |
The assistant's summary will rightly put short rib overproduction at the top ($61 across two nights) and hake spoilage second. What a ranking by cost tends to miss is the chips: small money on any one night, but plate waste on nearly every service, which means the portion is simply too big. Ask for "items that appear on four or more days, whatever the cost" as well as the costliest lines, and the pattern shows. The reason codes matter because each points to a different fix:
- Overproduction is the forecast's job. If it isn't falling, the prep buffers are too generous.
- Spoilage is an ordering and stock-rotation problem. Order smaller, more often, for short-life lines.
- Plate waste is a portion or recipe problem. The same side coming back half-eaten every night is telling you something.
- Errors are a training or ticketing problem.
Bigger kitchens use camera-and-scale systems such as Winnow or Leanpath, which recognise and weigh what goes in the bin automatically. They're aimed mainly at high-volume and contract-catering kitchens, and pricing is usually by quote. For a single small restaurant, a paper log done honestly for eight weeks tells you most of what you need.
When a paid forecasting tool is worth it
A dedicated tool connects to your till and booking system, forecasts every service automatically and usually handles weather and events for you. Lineup.ai, for example, lists $79 a location a month for forecasts including item-level forecasting, or $149 with staff scheduling, with 10% off for annual plans. Tenzo and Nory offer forecasting within wider restaurant platforms on quoted prices.
It's likely worth paying when:
- You run two or more services a day, seven days a week, and forecasting by hand takes more than an hour a week.
- Your till and booking system are supported by the tool's integrations, so there's no manual export.
- Your spreadsheet forecast is already useful, so you know what "good" looks like and can judge the tool against it.
If the same forecast will also drive your rota, see building a staff rota from AI demand forecasts, since some tools bundle the two and the combined plan may be the better buy.
Checking whether the forecast is lying to you
Every Monday, compare last week's forecasts with actual covers. Two numbers are enough:
- Average error: for each service, the gap between forecast and actual as a percentage of actual, averaged. For four services forecast at 99, 62, 71 and 104 against actuals of 94, 70, 68 and 101, the errors are 5.3%, 11.4%, 4.4% and 3.0%, an average of about 6%.
- Bias: the forecasts minus the actuals, added up. Here that's +3 covers in total: very slightly high, which is fine. A bias that stays well above zero week after week means you're consistently over-prepping.
How a bias problem shows up in practice (illustrative): four Mondays running, the weekly bias read +9, +12, +7 and +10 covers, while the average error looked respectable at 8%. Every service was a little high. The cause was the weather column: the sheet subtracted covers for rain but nobody had ever entered a "very hot" adjustment, and on hot evenings the bistro's inside tables emptied while the terrace was already full. Adding a hot-weather adjustment from the past summer's notes brought the bias back to within a few covers either side of zero. An average error can look fine while bias quietly costs you a few portions every night, which is why you track both.
An average error under about 10% is a good working forecast for a small restaurant; above 15%, look for the cause, usually a missing event flag or a pace figure recorded at the wrong time. Forecasts go wrong in a few predictable ways, and why AI stock forecasts go wrong lists the ones that apply to kitchens too. Bakeries face the same problem with a shorter shelf life; how bakeries predict demand and cut unsold stock is worth a look if you bake in-house.
The first eight weeks, in order
- Week 1: start recording bookings two days ahead, the weather and event flags. Start the waste log.
- Weeks 2-3: build the sheet with the AI's formulas, back-filled with past covers from your booking system.
- Week 4: forecast every service, but prep as usual. Just compare.
- Weeks 5-8: prep from the forecast for your two most wasteful dishes only. Watch the waste log for those lines.
- Week 9: extend to the whole menu if overproduction on those two lines has clearly fallen, and decide whether a paid tool would save the hour a week you're now spending. How AI inventory forecasting works is useful background if you move on to automated ordering.
Further reads
- AI Menu Engineering: Which Dishes to Promote, Reprice or Drop — Which dishes earn their place, using the same till data.
- How Food Trucks Can Use AI to Plan Stock, Pitches and Posts — Stock planning when your location changes every day.
- How Small Shops Can Use AI to Forecast Stock and Reorder — The retail version of forecasting and reordering.
- Can AI Read Delivery Notes and Update Stock Automatically? — Cutting the admin once orders arrive.
- How to Review an AI Tool After 90 Days: Keep, Fix or Cancel — Deciding whether a paid forecasting tool has earned its fee.
- How Much Does AI Cost a Small Restaurant Each Month? — A line-by-line monthly AI budget for a small restaurant, three priced set-ups, and the staff hours that cost as much as the subscriptions.
- What an AI Implementation Plan Looks Like for a Small Restaurant — One illustrative 48-cover restaurant's AI plan, start to finish: a week of tracking, three jobs chosen, four ruled out, and the day-90 numbers.
- Best AI Inventory Tools for Small Retailers Compared — AI inventory tools for small shops compared: Prediko, Inventory Planner, Square Plus and Shopify Sidekick, plus what to do for weighed and perishable stock.
- Best AI Tools for Cafés and Coffee Shops, Grouped by Task — The AI tools a café can use, sorted by the job they do across the day, with what each costs and where each one lets you down.
- How Pubs and Bars Can Use AI for Events, Rotas and Stock — Stock variance checks, till-based rotas and event planning for pubs and bars, with a break-even rule for bar inventory software and copyable prompts.
- Your First 30 Days of AI in a Restaurant, Week by Week — Four weeks, one owner, 30 minutes a day: what a restaurant should set up with AI each week, what to leave out, and how to judge it at day 30.
- What AI Can and Cannot Do for an Independent Café — The desk jobs AI does well in a café, the ones it can't touch, and a 30-minute test on your own till data before you pay for anything.
- Can AI Help a Charity Forecast Demand for Its Services? — Use Excel's Forecast Sheet or a chat assistant to turn two years of service counts into a winter range, then add what the model can't see.
- AI Tools and AI Development: The Complete 2026 Guide — the AI hub, including every tutorial in the AI-for-business series.
Sources: Lineup.ai pricing page; Winnow and Leanpath product pages (camera-and-scale waste tracking). Forecasting method is standard same-weekday baseline with booking pace, described here for illustration. Checked September 2026.