By country — revenue & ad
Every block reads the same way: Month = the whole-month goal · By now = that goal pro-rated to how much of the month has elapsed · Actual = what has landed. So a small "by now" early in the month is pacing, not a miss. Act spend carries a ▼/▲ chip = actual ÷ pro-rated budget: under-spend means the plan never reached the ad account, over-spend eats margin, and both go amber past ±10% and red past ±25%. Act ROAS carries its attainment against Exp ROAS — green at 100%+, amber 90–100%, red below 90% — and is blank until a market has spent anything, because a ratio over zero spend is unknown, not zero. Exp CPL = ad budget ÷ leads target; Act CPL = actual spend ÷ actual leads (same period on both sides, so it reads from day 1). CPL inverts the chip: lower is better — green at or under plan, amber to +25%, red beyond. Lead → enrol counts new enrolments only on both sides — a repeat buyer consumes no lead — and has no "by now" because a ratio doesn't pro-rate. Read it late in the month: early on, this month's enrolments still include people who came from last month's leads. Tap any row for the old/new split and deeper detail.
By buyer — first-time vs repeat
The same money cut by who paid it. A first-time buyer is a family whose first-ever paid enrolment landed this month; a repeat buyer had already bought before it. The two percentages on the revenue side answer different questions and are not the same number: % of month is what fraction of the whole-month goal is banked, % of by now is whether that is on pace for how much of the month has elapsed — early in a month the first is always far smaller, and only the second says whether you are behind. They are different businesses: first-time revenue is bought with leads and ad spend, repeat revenue comes off the base you already own and consumes no lead — which is why Leads and Lead → enrol exist only on the first-time row. Read ARPU across the two: a flat total hiding a falling repeat ARPU means you are selling more to earn the same. Enrolment targets exist for the blended goal and for the first-time side only — repeat is planned as a rupee figure backed by the cohort runway, not as a headcount, so its Month cell reads "—" rather than a number nobody set. The lower table is the same split per market, ranked by revenue landed; read the Acquired column for which markets stop earning the day the ads stop.
By class type — what we actually sell
The country view can't show this: every market sells the same catalogue. Targets are the month goal split by the trailing 3-month mix, so a row behind its share is a product losing ground rather than just a slow month. Other is any class on a brand we don't track — revenue nobody planned for.
Runway — where this lands
Cumulative revenue vs the two trajectories. The gap between the green target-pace line and the grey current-pace line is the acquisition job.
Old-customer runway (cohort LTV curve)
Step is the historical LTV curve — the share of its first-month revenue a cohort typically adds at this age. It is a fixed curve, not recomputed live, so treat it as a benchmark rather than a forecast. Expected ₹ = step × M0 revenue. Got so far is what actually came in this month, At pace is where that run-rate lands by month end, and the two % of exp columns measure each against Expected. The last column plots both: green = booked, pale purple = at-pace, purple hairline = 100% of expectation. WhatsApp this month: Sent is messages, Per family is Sent ÷ the families sent to (failed sends included — it sits under Sent, not Reached), and beside it the share of the cohort's Families that were sent anything: a high number to a small share is repeat-messaging, a low one to most of the cohort is thin reach. Tap any row for who's (not) converting — by teacher, age group, class, and the WhatsApp templates and messages they received.