What this dashboard is for
The Channels dashboard tells you where your orders are coming from — dine-in, takeaway, direct delivery, partner platforms (Grab, LINE MAN, Foodpanda, ShopeeFood, Robinhood, etc.), and co-located venues — and how each of those channels is performing on revenue, orders, and average ticket.
Open it when you want to understand channel mix, see whether partner platforms are growing or eating margin, or compare what items sell on which channels.
The channel naming convention
Throughout every chart the channels are labelled by a single canonical name derived from channelType and channelName:
Dine-in —
channelType = 'dine-in'.Prepay Dine-in — orders paid up-front but consumed on premises.
Takeaway — direct takeaway prepay orders.
Direct Delivery — your own delivery channel (no third-party partner).
Partner — Grab, LINE MAN, Foodpanda, ShopeeFood, Robinhood, Foodie, Hungry Hub, Classpass, Lalamove, etc. Each partner is its own bar/segment, taken from the order's
channelName.Co-located venue — orders routed through a host venue (
merchant-partner).
Wherever the order has no channel information at all, it shows up as "Unknown". This should be very rare in normal data.
The eight tabs
Overall — pies + a combo chart showing channel mix for the whole range.
Weekly / Monthly / Yearly / Daily — same set of four charts (revenue, orders, AOV, detail table) grouped by that time bucket.
Partners — same lens but restricted to partner platforms, plus a commission split.
Items by Channel — top 20 items, split by which channel sold them.
Weekday — channel volume by hour-of-week heatmap.
Overall tab
1. Revenue %
Share of revenue from each channel as a pie. The whole pie is total revenue across the selected date range; each slice is one channel.
How it's calculated: sum of orders.total on closed orders (status = 'complete'), grouped by the canonical channel name.
2. Orders %
The same pie, but counting orders instead of revenue. Compare the two — a channel can be a big chunk of orders but a small chunk of revenue (or vice versa) if its tickets are unusually small or big.
3. AOV
Average order value per channel — bars side-by-side so you can compare ticket sizes across channels.
How it's calculated: revenue ÷ orders per channel.
4. Revenue | by Channel
A combo chart: bars are revenue per channel (sorted descending), the line on top is the cumulative share ("Cumulative %") of total sales as you walk across channels from biggest to smallest. The right-edge of the line is always 100%.
Reading it: the point on the cumulative line that crosses 80% tells you how many channels make up 80% of your revenue. If two channels get you there, you are highly concentrated.
5. Orders | by Channel
The same chart, by order count rather than revenue.
Weekly tab
1. Revenue by Channel | Weekly
Stacked bars: one bar per week, segmented by channel. Week is Monday-to-Sunday in Bangkok time.
2. Orders by Channel | Weekly
Same shape, counting orders.
3. AOV by Channel | Weekly
One line per channel showing how each channel's average ticket has moved over time.
4. Channel Detail Table | Weekly
A pivot table with one row per week and one column per channel, showing the underlying numbers behind the charts above. Use it when you need an exact value for one cell.
Monthly tab
Same four charts as Weekly, grouped by calendar month.
1. Revenue by Channel | Monthly
2. Orders by Channel | Monthly
3. AOV by Channel | Monthly
4. Channel Detail Table | Monthly
Yearly tab
Same four charts, grouped by calendar year. Most informative for outlets with two or more years of data.
1. Revenue by Channel | Yearly
2. Orders by Channel | Yearly
3. AOV by Channel | Yearly
4. Channel Detail Table | Yearly
Daily tab
Same four charts, one bar per business day. Useful for spotting outlier days — a partner platform outage, a big private dine-in event, an unusual delivery surge.
1. Revenue by Channel | Daily
2. Orders by Channel | Daily
3. AOV by Channel | Daily
4. Channel Detail Table | Daily
Partners tab
This tab restricts every chart to partner orders only — channelType = 'partner'. Use it when you want to compare partner platforms head-to-head (Grab vs LINE MAN vs Foodpanda etc.) without dine-in or takeaway in the picture.
1. Partner Revenue %
Pie of revenue across partner platforms. Each slice is one partner.
2. Partner Orders %
3. AOV
Average ticket per partner platform.
4. Partner Revenue | Weekly
Weekly stacked bars across partners only. Lets you see one partner growing while another shrinks.
5. Commission (GP) | by Partner
For each partner, two bars side by side: the revenue you keep, and the commission paid out to the platform. Together they sum to the gross sales on that partner.
How it's calculated: we apply the commissionRate stored on the partner's channel record (in channels.partnerInfo.commissionRate) to each order's gross. So Commission paid = gross × commissionRate, Revenue you keep = gross × (1 − commissionRate). If a partner channel has no commission rate configured, the rate is treated as 0 (so all revenue is "kept" on the chart, which is usually not what you want — make sure the partner's commission rate is set in Channels.)
Items by Channel tab
1. Revenue | Top Items by Channel
The 20 best-selling items by revenue across the whole range, with each item's bar segmented to show what share came from each channel.
Reading it: a stalwart dine-in item suddenly showing a big partner segment means the dish travels well and could be promoted on delivery. An item with no dine-in segment but heavy partner share is a delivery-only winner.
How it's calculated: sum of order_items.itemTotal on confirmed items (order_items.status = 'confirmed') in closed orders, then take the top 20 items by total revenue, and split each by canonical channel.
2. Revenue | Top Items by Channel (table)
The same top-20 items as the chart above, laid out as a table: one row per item, one column per channel, revenue in each cell. Columns appear automatically for every channel you use — including custom and partner channels — so it adapts as you add channels. Blank cells mean the item never sold on that channel. Money is on the item-subtotal basis (before discounts, service charge and tax).
Weekday tab
1. Channel × Hour-of-Week — Order Volume
A 168-bucket view (7 days × 24 hours) of order volume, with each hour-of-week stacked by channel. The labels along the bottom run Mon 00:00, Mon 01:00, …, through Sun 23:00.
Reading it: the natural rhythm of your week. Dine-in peaks at lunch and dinner; partner platforms often have a different shape (lunch heavy, late-night spike). If one channel suddenly fills an hour where it didn't before, that is a structural change worth investigating.
How it's calculated: count of closed orders, bucketed by EXTRACT(ISODOW FROM reportingDate) and EXTRACT(HOUR FROM orderDate) in Bangkok time, then split by canonical channel.
How channels are defined
Source columns —
orders.channelType(the type: dine-in, prepay-takeaway, partner, merchant-partner, etc.) andorders.channelName(the specific name: "Grab", "LINE MAN", "Foodpanda", a co-located venue name, etc.).Status filter — every chart uses closed orders only (
status = 'complete'). Voided and still-open tabs are excluded.Item filter — on item-level charts, only confirmed items count (
order_items.status = 'confirmed').Date field —
reportingDatefor all time buckets;orderDatefor the hour-of-day in the Weekday heatmap.Timezone — Asia/Bangkok throughout.
Partner commission rate — read from
channels.partnerInfo.commissionRate. If unset, treated as 0. Configure it in the Channels admin to make the Commission chart accurate.
Filters
Two filters at the top of every tab:
Reporting Date — the date range.
Outlet — pinned to your outlet when the dashboard is embedded inside the Papaya merchant portal.
What this dashboard does NOT show
Channel performance for today live — use the Today dashboard's "Revenue by Channel Type" chart.
Overall historical metrics (revenue, AOV, items per order) not broken out by channel — use Trends.
Item-level deep dives — use Items.
Margin/COGS by channel — that lives in the Inventory module.
Multi-outlet comparison of channels — use Outlets or Group KPIs.





























