Your daily sales report: what to read in two minutes
Asking your dataA daily sales report should take two minutes. The few numbers to check each morning, outlet by outlet, and what each one is telling you.
Two minutes, not twenty
A daily sales report can easily run to pages. Most mornings you only need a handful of numbers: enough to know whether yesterday was normal, and where to look if it was not.
This is not the monthly review, where you look at margins, slow stock and customers who have gone quiet. The daily read is a quick check, so that problems are caught while they are still small. If all five checks below look normal, close the report and run the day.
Read the same numbers in the same order every morning. After a few weeks you will know what a normal Tuesday looks like for each outlet, and anything unusual will stand out at a glance, without a calculator.
1. Yesterday against the same weekday last week
Compare yesterday with the same day of the week before: Tuesday with last Tuesday, not with Monday. Weekdays and weekends behave differently, so comparing across them tells you very little.
If last week had a public holiday, a payday or a festive day on that date, use the same weekday two weeks back instead. Note it and move on.
Look at the size of the gap, not just its direction. A few percent up or down is normal day-to-day noise. A gap of 10% or more, in either direction, is worth a second look, because a big jump up can also mean a pricing or entry error.
2. Every outlet, side by side
A group total can look fine while one outlet has a bad day. Read each outlet on its own line.
Here is a made-up example for three outlets on a Tuesday. Outlet 1: RM 8,200 against RM 8,000 last Tuesday, up 2.5%. Outlet 2: RM 5,100 against RM 6,000, down 15.0%. Outlet 3: RM 7,000 against RM 6,900, up 1.4%. The group total is RM 20,300 against RM 20,900, down 2.9%. Percentages are rounded to 1 decimal.
Down 2.9% for the group looks like an ordinary day. Down 15.0% at Outlet 2 is not. That is the line worth two more minutes.
3. Bills and average bill
Split the outlet sales into two parts: the number of bills, and the average bill, which is sales divided by bills. Fewer bills means fewer customers came in or were served. A lower average bill means each customer spent less.
In the example, Outlet 2 had 240 bills yesterday against 250 last Tuesday, so customer numbers barely moved. Its average bill fell from RM 24.00 (RM 6,000 divided by 250) to RM 21.25 (RM 5,100 divided by 240).
At the RM 24.00 average of last Tuesday, 240 bills would have made RM 5,760. So RM 660 of the RM 900 drop came from smaller bills, and RM 240 from 10 fewer bills. That points inside the outlet: something on the menu or the shelf, or something staff did differently.
4. Voids, refunds and discounts
These three show money that was rung up and then taken back or given away. Look at the ringgit amount of each, per outlet, against a normal day.
In the example, Outlet 2 gave RM 450 in discounts yesterday, against about RM 120 on a usual Tuesday. The extra RM 330 is more than a third of the RM 900 drop. Was a promotion running? If not, ask who gave the discounts and why.
A sudden jump in voids or refunds deserves the same question. Usually there is an innocent reason, such as a new staff member or a till problem. Sometimes there is not, and the morning after is the best time to find out.
5. Top sellers out of stock
Last, check that your best-selling items were in stock all day. A missing best seller does not show up as an error. It shows up as smaller bills and quieter sales, which is easy to blame on the weather.
Keep a short list of your top 10 items for each outlet. If any of them ran out yesterday, fix the order or move stock from another outlet today, before the same gap costs you a second day.
Ask it in plain words
This is a question you can ask iSenang, your AI data analyst, in plain words: for example, how each outlet did yesterday against the same day last week. Your data is refreshed on a regular schedule and every answer says which day its figures are as of, so you know whether yesterday is in yet. When a question is not covered by your data yet, it says so instead of guessing.