Skip to main content

Trends dashboard

Historical view of revenue, orders, guests, AOV and items across weekly, monthly, yearly, daily, and weekday tabs.

Written by HB

What this dashboard is for

The Trends dashboard is your historical view. It answers one question across every time horizon: "How has this outlet's performance moved over weeks, months, years, days, or by weekday?"

Open it when you want to see direction and rhythm, not the live state of today. For real-time pace use the Today dashboard; Trends is for the long view.

The core concept: timeframes

Every chart on Trends is split by timeframe — the parts of the day you have configured for the outlet (for example Breakfast 6–11am, Lunch 11am–4pm, Dinner 4pm onwards). Each order is attributed to one timeframe based on the time the order was placed in Bangkok time and the timeframes you defined on the outlet.

If you have not configured timeframes on the outlet, every order is grouped under Total. If an outlet has timeframes set, the top 9 by revenue are kept and anything else falls into Other. There is also a flat Overall avg line drawn on most charts as a reference — that is the average of the whole-outlet weekly total across the entire range, regardless of timeframe.

At the top of every tab there is a timeframe picker table (click a row to filter the rest of the tab to that timeframe; click again to clear). The picker uses the same attribution logic the charts use.

The five tabs

  • Weekly — bars and lines grouped by week (Monday-to-Sunday in Bangkok time).

  • Monthly — grouped by calendar month.

  • Yearly — grouped by calendar year.

  • Daily — one bar per business day. Useful for spotting individual outliers.

  • Weekday — collapsed to seven buckets, Monday through Sunday. Shows the typical rhythm of your week.

The four "time-bucket" tabs (Weekly, Monthly, Yearly, Daily) have the same seven charts in the same order. The Weekday tab has the same seven metrics, just collapsed to day-of-week.


Weekly tab

1. Weekly Revenue

Weekly Revenue

Stacked bars: one bar per week, segmented by timeframe. The flat line on top is the Overall avg — the average weekly total across the whole range.

  • Each coloured segment is one timeframe's contribution to that week's revenue.

  • The flat reference line is the same for every bar — it is the average of weekly totals, drawn so you can see at a glance which weeks landed above or below your normal week.

Reading it: tall bars above the line are strong weeks; short bars below are quiet ones. If a single timeframe segment is growing or shrinking faster than the others, that is where the movement is coming from.

How it's calculated: closed orders only (status = 'complete'). Each order's revenue is its total field, summed by the week of reportingDate. Bangkok time.

2. Weekly Orders

Weekly Orders

Same shape as Weekly Revenue, but counting orders instead of revenue. One bar per week, stacked by timeframe.

Reading it: compare to the Revenue chart above. If revenue is climbing but orders are flat, your average ticket is going up. If orders are climbing but revenue is flat, you are selling more, smaller orders.

How it's calculated: count of closed orders (one per cheque) by week of reportingDate.

3. Weekly Guest Count | Dine-In Only

Weekly Guest Count Dine-In Only

Number of guests served per week, restricted to dine-in orders. The guest count is whatever your staff entered on the order at the POS.

How it's calculated: sum of guestCount on closed dine-in orders (channelType = 'dine-in'). Takeaway, delivery, and partner orders are excluded — they don't have a meaningful guest count.

4. Weekly AOV

Weekly AOV

Average order value per week, drawn as a line. One line per timeframe, plus an overall reference.

How it's calculated: revenue ÷ orders, per timeframe per week. Closed orders only.

Reading it: a rising AOV means each cheque is getting bigger — either guests are buying more items or the menu mix has shifted to higher-priced items. A falling AOV usually means more cheaper orders (often takeaway or partner).

5. Weekly Items per Order

Weekly Items per Order

Average number of items on a cheque per week.

How it's calculated: total confirmed items (order_items.status = 'confirmed' — cancelled items excluded) ÷ number of closed orders, per timeframe per week.

6. Weekly Revenue per Guest | Dine-In Only

Weekly Revenue per Guest Dine-In Only

How much each individual guest spent on average, dine-in only.

How it's calculated: dine-in revenue ÷ sum of guestCount, per timeframe per week. Cheques where staff did not enter a guest count don't contribute to the denominator.

7. Weekly Items per Guest | Dine-In Only

Weekly Items per Guest Dine-In Only

Average number of items consumed per guest. Dine-in only.

How it's calculated: confirmed items on dine-in cheques ÷ total guest count, per timeframe per week.


Monthly tab

Same seven charts as Weekly, grouped by calendar month instead of week. Read them the same way — they smooth out week-to-week noise and show seasonal direction.

1. Monthly Revenue

Monthly Revenue

2. Monthly Orders

Monthly Orders

3. Monthly Guest Count | Dine-In Only

Monthly Guest Count Dine-In Only

4. Monthly AOV

Monthly AOV

5. Monthly Items per Order

Monthly Items per Order

6. Monthly Revenue per Guest | Dine-In Only

Monthly Revenue per Guest Dine-In Only

7. Monthly Items per Guest | Dine-In Only

Monthly Items per Guest Dine-In Only


Yearly tab

Same seven charts, one bar per calendar year. Most useful for outlets with two or more years of trading.

1. Yearly Revenue

Yearly Revenue

2. Yearly Orders

Yearly Orders

3. Yearly Guest Count | Dine-In Only

Yearly Guest Count Dine-In Only

4. Yearly AOV

Yearly AOV

5. Yearly Items per Order

Yearly Items per Order

6. Yearly Revenue per Guest | Dine-In Only

Yearly Revenue per Guest Dine-In Only

7. Yearly Items per Guest | Dine-In Only

Yearly Items per Guest Dine-In Only


Daily tab

One bar per business day. Use this tab when you want to spot specific outlier days — a public holiday, a private event, a closure, a service failure.

1. Daily Revenue

Daily Revenue

2. Daily Orders

Daily Orders

3. Daily Guest Count | Dine-In Only

Daily Guest Count Dine-In Only

4. Daily AOV

Daily AOV

5. Daily Items per Order

Daily Items per Order

6. Daily Revenue per Guest | Dine-In Only

Daily Revenue per Guest Dine-In Only

7. Daily Items per Guest | Dine-In Only

Daily Items per Guest Dine-In Only


Weekday tab

The same seven metrics, collapsed to day-of-week. Every Monday in the range is averaged together, every Tuesday together, and so on. This is the only tab where the bars are not a date — they are Monday through Sunday.

Use this when you are planning staffing, deciding which day to close on, or asking "is Wednesday always this quiet, or just this week?"

1. Revenue | by Weekday

Revenue by Weekday

Average revenue per Monday, per Tuesday, … per Sunday — computed across all weeks in the selected date range.

How it's calculated: total revenue per weekday ÷ number of that weekday in the range. So if your range covers eight Tuesdays and total Tuesday revenue is 800,000, this chart shows 100,000.

2. Orders | by Weekday

Orders by Weekday

3. Guest Count | by Weekday | Dine-In Only

Guest Count by Weekday Dine-In Only

4. AOV | by Weekday

AOV by Weekday

5. Items per Order | by Weekday

Items per Order by Weekday

6. Revenue per Guest | by Weekday | Dine-In Only

Revenue per Guest by Weekday Dine-In Only

7. Items per Guest | by Weekday | Dine-In Only

Items per Guest by Weekday Dine-In Only


How the numbers are defined

  • What counts as an order — only orders with status = 'complete'. Voided, cancelled, and still-open tabs are excluded.

  • What counts as an item — only order_items with status = 'confirmed'. Cancelled items inside an otherwise complete order are not counted.

  • Date fieldreportingDate, the business day the order is attributed to. For outlets with late-night service this can differ from the calendar date of the timestamp.

  • Timezone — Asia/Bangkok for all weekday and time-of-day calculations.

  • Timeframe attribution — each order is matched to the outlet's configured timeframe whose start/end clock-time window contains the order's orderDate. Overnight timeframes (e.g. 22:00 → 02:00) are handled correctly. If no timeframes are configured, every order falls under "Total".

  • Top 9 timeframes — only the top 9 timeframes by revenue are shown as their own segment; the rest are folded into "Other".

Filters

The dashboard has three filters at the top of every tab:

  • Reporting Date — the date range. Defaults vary by tab.

  • Outlet — pinned to your outlet when the dashboard is embedded in the Papaya merchant portal. You don't need to set it.

  • Timeframe — click a row in the timeframe picker table at the top of the tab to filter every chart on that tab to that single timeframe. Click again to clear.

What this dashboard does NOT show

  • Today's live state (use the Today dashboard).

  • Breakdowns by channel — that's the Channels dashboard.

  • Item-level or category-level performance — use Items and Categories.

  • Margin or cost data — that lives in the Inventory module.

  • Multi-outlet comparison — use Outlets or Group KPIs.

  • Customer reviews — use the Reviews dashboard.

Did this answer your question?