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
| Input | Where it comes from |
|---|---|
| Sales history | Uploaded POS sales |
| Burn rate | Inventory deltas + prep logs + waste |
| Current stock | Latest inventory count + intervening receipts and consumption |
| Business context | Operator-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
Go to Demand forecast.
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.
- Tap Generate forecast. The Claude API call takes a few seconds.
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.