APAC MKT Growth Dashboard

Conversion funnel, NFC, revenue, Total Expensed and CPA by market

Market health

Click a market to focus it everywhere on this page

Ranked by health

Conversion funnel β€” REG β†’ Submit β†’ L3 β†’ NFC

Bars are scaled within each market; each step is compared against the reference market

Trend by market

All markets

Click a column heading to sort Β·

How each number is calculated

Conversion funnel

Step conversion between each stage, plus end-to-end registration to first trade.

REG→Submit = Submit / REG Submit→L3 = L3 / Submit L3→NFC = NFC / L3 REG→NFC = NFC / REG

CPA

Fully-loaded acquisition cost per new first-trade customer. Marketing spend is an input you supply per market per month.

CPA = Marketing spend / NFC

JP, KR and TW share one CPA. Spend is reported for JKT as a region rather than per country, so the region total is split by NFC share β€” which returns the region's own CPA to each of the three exactly. Their funnels are measured separately.

Total Expensed

Total budget spent in the period on screen. The selected-month view shows that month alone; Year to date sums January through the selected month.

Total Expensed = sum of marketing_spend booked in the selected period

A partial period includes whatever spend has been booked so far. CPA can still be blank for that period because it excludes incomplete spend and its matching NFC denominator.

Revenue

Everything the clients acquired during 2026 have billed so far. Not the market's whole book, and not one month's cohort in its first month. A month's figure is what all of those cohorts booked in that month, so the figures sum: Year to date gives the Jan-to-date total per market.

It grows through the year as earlier cohorts keep trading β€” most of a late month's number comes from clients won earlier, not that month's new ones.

Total new revenue = all 2026-acquired clients' billings booked in the period Revenue per client = Total new revenue / NFC

NFC

New first-trade customers β€” the customers who completed their first transaction in the month. It is the acquisition denominator for CPA and revenue per customer, and the volume line the funnel is trying to move.

NFC growth = NFC this month / NFC last month βˆ’ 1

What is benchmarked against what

The UK is the mature-market yardstick and nothing else β€” measuring a younger market against a mature one reports its age, not its health. Growth markets are held to an agreed $450 CPA target; emerging markets, and every tier's funnel, are scored against the best achievement so far this year within their own tier. That bar is cumulative on purpose β€” year-to-date through the month on screen, not that month alone, so it does not swing on one month's noise.

Gaps are shown in percentage points: both sides are already percentages, so 44.9% against a 67.1% benchmark is 22.2pp behind β€” not "βˆ’33%", which is true of the ratio but reads as a third of registrations lost.

Mature SG, ANZ, KR funnel β†’ the UK, same period CPA β†’ the UK, same period Growth MY, VN, TH, ID, JP, TW funnel β†’ best achievement YTD in tier CPA β†’ $450 target Emerging Longtail, PH funnel β†’ best achievement YTD in tier CPA β†’ best in tier (Longtail)

A target_cpa or target_reg_to_nfc_pct in assumptions.csv beats the tier benchmark. The map tooltip names which one a market's CPA was measured against.

Health score

Weighted 0–100 blend of the four metrics above. Each component scores 100 when it hits its benchmark; components with no data are dropped and the rest re-weighted, so a market is never penalised for data you have not supplied yet. Growth components are skipped for partial periods rather than comparing a part month against a full one.

CAC payback and LTV are deliberately absent: both rest on a gross margin, an active-customer count and a horizon that are not formally agreed, and an unagreed assumption reads as fact once it is on a dashboard.

Paste monthly data

Copy the rows straight out of the working sheet (including the header row) and paste below. Tab-separated or CSV both work. Existing rows for the same month and market are replaced; every other month is left alone.

Required columns: month, market. Optional: reg, submit, l3, nfc, new_total_revenue, marketing_spend.

Pasting updates this browser session only β€” nothing is uploaded. To keep it, use Download data.js and commit that file over the site's data/data.js. If you have the source repository, the same rows can go into data/monthly.csv instead.