Skip to content
View mode Color
Demo, synthetic data

Atreides: Product Analytics

Atreides is a fictional B2B work-management SaaS simulated from launch in July 2022 through today: about ... monthly active users on ... of recurring revenue, zero real companies or persons. Every pattern was planted on purpose, documented, and recovered by a validation gate before this page shipped (receipts at the bottom).

...MRR
...NRR (ttm)
...MAU
...DAU/MAU
...Month-3 retention
Logo churn (ttm)

From
To
Plan group
Segment
Channel
Active users over time
Daily active, trailing-7-day, and trailing-28-day users. Switch the active definition to see how much the headline depends on it. Hover or tap a day for the breakdown.
Active =
View SQL
 
Growth accounting
New and resurrected actives above the line, churned below, net as a line. Quick ratio = (new + resurrected) / churned. Hover or tap a month.
View SQL
 
Stickiness by plan
DAU/MAU each month, one line per plan group. Higher plans run tighter daily routines. Segment, channel, and date filters apply; the plan filter highlights its line. Hover or tap a month.
View SQL
 
Metric definitions
MRR
Monthly recurring revenue: the sum of paying accounts' current monthly subscription value.
NRR (ttm)
Net revenue retention: take the accounts paying one year ago, sum their MRR today, divide by their MRR then. Above 100% means expansion outran churn and contraction.
MAU
Distinct users active in the latest complete calendar month, under the active definition selected on the trend.
DAU/MAU stickiness
Mean daily active users in a month divided by that month's active users: the fraction of the monthly base that shows up on an average day.
Month-3 retention
Of a signup cohort, the share active (any activity) in the third calendar month after signup. Shown for the latest cohort old enough to measure.
Logo churn (ttm)
Paying accounts that fully churned in a month over accounts paying at the prior month end, averaged across the trailing 12 months.
Growth accounting
Each month every active user is new (first ever active), resurrected (back after a gap), retained (active last month too), or churned (active last month, gone this month). MAU(t) = MAU(t-1) + new + resurrected - churned.
Quick ratio
(new + resurrected) divided by churned. Above 1 means more users gained than lost.
DAU / WAU / MAU
Distinct users active on a day, in the trailing 7 days, and in the trailing 28 days.
Active: any activity
The user had any session in the window. The loosest, most flattering count.
Active: core action
The user did the core job: at least one task or doc.
Active: qualified
Engaged use: at least 3 events across at least 2 different features.
How this was built

A seeded generator simulates Atreides day by day and writes plain CSVs (accounts, users, milestones, the subscription ledger, and per-user daily activity). A DuckDB transform aggregates them into one JSON file this page fetches, pre-rolled to a small set of plan-by-segment-by-channel cells. The build refuses to ship unless every planted effect is recovered within its documented tolerance AND the cell sums reproduce those numbers, so the figures above are checked, not just plausible.

Validation report: planted vs recovered
View SQL (full transform)
 

What this means for your business

Same suite, your product

Atreides is fictional; the method is not. Pointed at your real product events and billing data, the same pipeline ships a validated engagement mart and an interactive suite your team can actually explore, with every number backed by SQL you can audit.