At a glance
- Sales (7 days) with week-on-week (WoW) and year-on-year (YoY) change
- vs budget: budget = the same weeks last year × (1 + growth target, 4% by default)
- Gross margin % against target (38% by default)
- Waste + markdown as % of sales against a ≤3% target
- Delivery share: Uber Eats + On-Demand as % of sales
- Forecast for the next 7 days from the best model per category
How it works
- Sales rows are cleaned: duplicates removed, refunds keyed as negative sales excluded, missing values rebuilt from units × price.
- The last 7 days are compared with the 7 days before, and with the same weekdays 52 weeks earlier (364 days, so Mondays line up with Mondays).
- Gross margin = sales − cost of goods. Waste value = units wasted × unit cost. Markdown value ≈ units marked down × price × 50%.
- Targets live in config.yaml, so a real store can set its own.
How to read it
- Blue text means better than the comparison; red means worse.
- Read the budget gap together with YoY: if YoY is negative too, the store is trading below last year, not just missing an ambitious budget.
- A high gross margin with rising waste often means over-ordering on high-margin fresh lines.
Limits & safeguards
- Weekly numbers are noisy. One public holiday or promo week moves them a lot, so check the daily chart before reacting.
- Markdown value is an estimate (50% of price) unless real markdown prices are supplied.
Ask Shelly
How did we trade this week?How are we tracking against budget?How's our margin?How's waste?
Type or say these in the chat on the main page.