Overview & retention
Analytics → Overview (/analytics/overview) is the “how are we doing?” landing page. Numbers here are served from hourly rollup tables, not raw analytics events, so it’s fast and consistent, but has up to a 60-minute lag.
KPI tiles
Section titled “KPI tiles”Top of the page:
| Tile | Definition | Source |
|---|---|---|
| DAU | Distinct users with at least one authenticated request today (UTC) | rollup_daily_users |
| WAU | Same, past 7 days | rollup_daily_users |
| MAU | Same, past 30 days | rollup_daily_users |
| Installs | New device registrations today | devices.created_at |
| Registrations | New user rows (non-guest) today | users.created_at |
| Paying users today | Distinct users with a completed purchase today | rollup_revenue_daily |
| ARPU (30d) | Revenue / active users past 30 days | rollup_revenue_daily |
| ARPPU (30d) | Revenue / paying users past 30 days | rollup_revenue_daily |
Each tile shows today with a comparison arrow vs 7 days ago.
Retention cohort grid
Section titled “Retention cohort grid”D1 / D7 / D30 retention curves, grouped by install week. Y-axis: install cohort week. X-axis: days since install (1, 7, 14, 30). Cell value: % of the cohort that returned on that day.
Reading it:
- First column (D1): a healthy vertical drama app is 40–55%.
- D7: 20–30% is normal.
- D30: 10–15% for the strongest markets.
Heat-mapped: darker = better. Row-over-row degradation means recent installs are worse-quality (bad campaigns or a UX regression).
Filters
Section titled “Filters”- Market: ISO-2, all.
- Install source: organic / paid / VAS / referral.
- Date range: for the retention grid, this is the “installs from” window.
Where the data comes from
Section titled “Where the data comes from”rollup_daily_users: built by therollups-hourlycron. One row per (day, country, source).rollup_revenue_daily: same cron.- Retention: computed on the fly from
analytics_eventrows keyed byevent='app_open'and joined tousers.created_atweek.
Gotchas
Section titled “Gotchas”- Cron lag: data can be up to 60 minutes stale. If a number looks wrong right now, wait a tick.
- DAU vs installs: a re-install of the same fingerprint counts as new install (new
devicerow) but same user. This is the correct behavior for growth reporting. - Guest DAU counts too: many analysts filter to registered-only for their own reports.
API call
Section titled “API call”| Action | Endpoint |
|---|---|
| Overview | GET /v1/admin/analytics/overview |
Full details in API: Analytics.