Demand forecasting

The demand forecast is Rinvy's prediction of how many units of each menu item you'll sell on each upcoming day. It's generated by Claude (Anthropic's model) using several inputs at once: sales history, burn rate, current stock, the business context you've entered, and — optionally — weather.

Once a forecast is generated, two other features can read it:

  • Order list "Sales Expectation" mode converts predicted sales into ingredient-level demand and projects stockouts. See order list with sales forecasts.
  • Forecast-based prep uses predicted sales to recommend batch counts for prep lists. See forecast-based prep.

Inputs to the forecast

InputWhere it comes from
Sales historyUploaded POS sales
Burn rateInventory deltas + prep logs + waste
Current stockLatest inventory count + intervening receipts and consumption
Business contextOperator-entered notes on the forecast page (planned events, marketing pushes, etc.)
Weather (optional)OpenWeatherMap, based on your restaurant's weather location

The more history and context, the better the forecast. With less than 30 days of sales data the model leans heavily on burn rate; with several months it can spot weekly and seasonal patterns.

Generating a forecast

  1. Go to Demand forecast.

  2. Enter or update your business context. This is free-form — anything the model should know: upcoming holidays, marketing campaigns, weather expectations, new menu items, recent staff changes.

  3. Tap Generate forecast. The Claude API call takes a few seconds.
  4. Review the forecast. Each menu item gets daily predictions for the upcoming window, plus a short explanation of the reasoning.

How forecasts stay current

Forecasts are cached. Rinvy automatically flags a forecast as stale if:

  • More than 24 hours have passed.
  • Your business context has changed.
  • New sales data has been uploaded since.

A stale forecast still works (order list and prep lists will use it), but you'll see a banner suggesting a refresh. Refresh whenever context shifts meaningfully — a holiday weekend coming up, a heat wave on the way, a new menu item launching.

Business context — what to write

Free-form text, but specific is better than vague:

Good: "Restaurant Week starts Monday — expect 40% bump on pasta dishes." ✅ Good: "Pre-Easter weekend; we usually see 25% lift on brunch items." ✅ Good: "New sushi roll launching Friday; expect strong opening then taper." ❌ Vague: "Busy week ahead." ❌ Vague: "Pretty normal."

The model treats context as a strong signal — useful when correct, misleading when wrong. Keep it factual.

Weather

If you set a weather location for the restaurant (under Kitchen Settings), Rinvy pulls the OpenWeatherMap forecast for the window and includes it in the prompt. The model uses it to adjust predictions — patio dishes go up on warm days, soups go up on cold days, drinks shift seasonally.

Weather is optional. Without it, the forecast still works; it just won't reflect weather effects.

Reading the forecast

For each menu item you'll see:

  • A daily prediction for the forecast window (typically 7 days out).
  • A confidence indicator (high/medium/low).
  • A short reasoning paragraph from the model — what data and logic drove the number.

Read the reasoning, not just the number. If the model says "predicting 40 burgers Friday because last 3 Fridays averaged 38 with a slight upward trend" — that's defensible. If it says "predicting 80 burgers because Restaurant Week" but you didn't enter that context, something's off.

Common mistakes

Treating forecasts as deterministic

A forecast is a prediction with uncertainty. Use it as a starting point and adjust for what you know specifically about the day. The model doesn't know your aunt is in town or that the line cook called out.

Generating a forecast and ignoring stale warnings

A stale forecast can be hours behind reality. The banner is there because something specific changed — refresh it before relying on the numbers for ordering or prep.

Not uploading enough sales history

Less than 30 days of sales means the forecast falls back hard on burn rate. The forecast page will still show numbers, but they're not really "forecasts" — they're extrapolated averages. Get to at least 30, ideally 90+ days.

Vague business context

"Busy week" doesn't help the model. Specific details about events, weather expectations, and menu changes do. Treat business context like you're briefing a new manager.

Related