Bakery analytics: which orders actually made you money
Analytics and reporting
Turnover is the easy number. Every till, spreadsheet and payment app can tell you what came in. The number that decides whether the business works is what was left after the flour, the boxes and your own hours, and that one is almost never sitting next to the first.
Analytics reads the orders, payments, expenses and stock movements you have already recorded, so the second number costs you no extra data entry. It is on every plan.
Three tabs
Analytics in the sidebar opens on three tabs. Ask Choux takes a question in plain language and answers it from your own data, covered in Choux. Reports is the dashboard described below. Payments lists payments against your orders, and badges the tab when any are waiting on approval.
What the reports cover
More than twenty-five charts and tables, in groups:
- Sales and orders: revenue trend, order volume, order status, category performance, day of week.
- Products: top products by revenue and by number of orders.
- Money: sales breakdown, payment methods, revenue vs expenses, expense categories, tax summary, tips, quick sales, processing fees, wholesale revenue by tag.
- Stock: top ingredients used and top supplies used, taken from movements out of stock, with quantity and cost.
- Customers: lifetime value, acquisition, repeat rate, order geography, customer tags.
- Advanced: profit margin, payment timing, customer cohorts.
You decide which of those appear. A widgets panel switches each one on or off, the grid drags and resizes and one button restores the default layout. Each chart exports its own rows as CSV.
Every chart also carries an "About this chart" panel: what it is showing for the dates you picked, how the figure is calculated, what it is good for and how to read it. Where there is real arithmetic behind a number, the panel writes out the formula. It is there so a chart cannot quietly mean something other than what you assumed.
Two different dates
The date range picker sits at the top, with an optional comparison against either the previous period or the same period a year earlier.
Next to it is a toggle that changes what "the date" means: event date or order date. A wedding cake ordered in March for a December wedding belongs to March if you are looking at when work came in, and to December if you are looking at when you had to bake. Event date is the default, and the choice applies to every chart at once.
Margin, and why old margins stay put
Margin shows up in two places.
The first is while you are still building the order. A profit panel sits beside the totals on a new order or quote, splitting cost into ingredients, packaging, labour, overhead and your per-order share of fixed costs, then comparing the result against the target margin you set in pricing settings. It flags an order that has fallen below target, and one that has fallen below half your target gets a stronger warning. It also tells you the revenue that order would need to hit the target, so a discount is a decision rather than a surprise.
Margin revenue = discounted item subtotal, excluding tax and delivery.
Tax is excluded because it is not your money, it is money you remit. Delivery is excluded because it is a pass-through whose cost is tracked separately. Counting either as revenue makes every order look healthier than it is, which is the most common way a margin figure lies.
The second use is the reports, and this is where one design decision earns its keep.
Put flour up twenty percent tomorrow and your current products reprice, your price review list fills up and none of your historical margins move. That is the correct behaviour and it is not the default one: a system that recomputes old orders against today's prices will tell you a March you were profitable in lost money, and you will believe it. The cascade that updates live costs is covered in recipe costing.
Two smaller things follow from the same care. The headline margin is weighted by order value, so one small order cannot count as much as a large one. And an order with no cost data recorded against it drops out of the margin calculation entirely.
Design decisions
- Figures refresh every few minutes, so an order taken in the last few minutes reaches a chart shortly after.
- Revenue charts read order value. For money that has landed, use revenue vs expenses, which compares cash received against cash spent.
- Margins are built from the rates you set. A product costed without a labour rate reads as more profitable than it is, so set labour and overhead before you trust one.
- Every chart is a record of what happened, over a range you chose.
- Expenses flow out to your books through accounting sync, and your books stay the system of record.
For the whole picture as files you keep, see can I export my data out of ibakepro. For turning a margin figure into a price, see pricing a custom cake.