Analytics — honest numbers only
OWNER: SPLIT — metric definitions are ENGINE (one metric id = one label = one formula, everywhere), the chart surface is PRODUCT (Mav’s map, 2026-08-09). Folo’s /admin/analytics is the reference implementation — its honesty pattern is the house rule: never fake a number; every missing tile names exactly what’s missing and why. Privacy note: activity counts are sessions, not people — no cross-site person tracking; DAU becomes people-based only when the events pipeline lands with consented identity. folo.link scope (§17): this page READS each product’s event stream and read-model side-by-side — one product at a time via the Reading selector, or both named lanes via Compare; it changes NOTHING — there is no mutating control on this surface.

One metric id, one label, one formula — and AWAITING SOURCE beats a fake number, every time.
Demo dataAwaiting source
Reading
Reading Folo events — the consumer surface’s stream. Tiles and charts below are Folo-scoped; no other product’s events are mixed in.
Compare: Folo × Fanogram — two labelled series
Two-window compare over the same read-model shape shared across products — the SPLIT contract in action: because the metric definitions are engine-owned, a side-by-side never shows one label with two arithmetics. Both sides are always named and render as two labelled series — the toggle never blends them into one number.
Paid conversion
26.0%
live · visitors → first paid action
SCOPE: Folo · LIVE · window: 28d · source: that platform’s lane of the one ledger
ARPU
$4
live · revenue ÷ active payers
SCOPE: Folo · LIVE · window: 28d · source: that platform’s lane of the one ledger
DAU / MAU
AWAITING SOURCE
Needs the behavioural-events pipeline — sessions exist, people don’t. Counting sessions as people would overstate DAU (privacy note in the header ⓘ).
SCOPE: Folo · named reason · never faked · Folo reference wording
Stickiness
AWAITING SOURCE
DAU÷MAU — blocked by the same events source as DAU/MAU; shipping it from sessions would silently change the formula.
SCOPE: Folo · named reason · never faked
D30 retention
AWAITING SOURCE
Needs the events pipeline plus a membership history — a cohort with no day-zero definition is a guess.
SCOPE: Folo · named reason · never faked
Active payers
7,302
paid at least once in window
SCOPE: Folo · DEMO DATA · window: 28d · source: that platform’s lane of the one ledger
Folo → Fanogram upgrade rate
3.1%
DEMO DATA · window: 28d · source: SSO identity join
Genuinely cross-platform — and here is why it may render unscoped (§17-1): numerator = FG activations, denominator = Folo active creators, joined on SSO identity — the one legitimately shared key. The metric IS the bridge between the two products; scoping it to either side would destroy its meaning. It is the only cross-product number on this page, and it is a read — nothing on this surface writes.
Activity trend · sessions per day · SCOPE: Folo
9,412
Live source pending
Jul 14Jul 28Aug 10
Shape is demo; the pipe isn’t built. DAU/MAU trend, acquisition mix, activation funnel, retention cohort grid and cross-product upgrade rate all carry this stamp on live Folo — each with its own one-line reason, never a bare dash.

Dimensions honesty index

What this surface can and cannot slice by today.
Signup cohortlive — feeds the table below
LIVE
Countrylive — from account records
LIVE
Acquisition sourcepending — needs events pipeline
PENDING
Hour of dayMISSING — not modelled anywhere yet · ledger #257
MISSING

ARPU / LTV by signup cohort SCOPE: Folo The one fully-live table
On live Folo this is the only fully-live card on the analytics page — every other card is stamped LIVE SOURCE PENDING with a named reason. Kept as the anchor: real cohorts, real arithmetic, engine-owned formulas (ARPU = net revenue ÷ cohort size; LTV = cumulative net per signup).

CohortSignupsPayersARPULTV to dateTrend
2025-123,104812$5.10$31.40
2026-014,8821,201$4.70$24.90
2026-024,015989$4.40$19.20
2026-035,2401,318$4.20$15.80
2026-044,6111,102$4.00$12.10
2026-055,8721,464$3.90$8.90
2026-066,0431,510$4.10$6.20
2026-076,3881,622$4.30$4.30
2026-082,109498$3.80$3.80partial month
Hour-of-day cutMISSING dimension — hour-of-day is not modelled in the read-model yet (ledger #257); listed here so the gap is a row, not a silence.
Demo rows in the live table’s exact shape (2025-12 → 2026-08). Cohort figures are per-product — cross-product money never sums (standing rule; see Finance).