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).
View SQL
View SQL
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.
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)
View SQL
View SQL
View SQL
View SQL
View SQL
How these numbers are computed
- Cohort
- Every user who signed up in a given calendar month. Pool = the account's plan group on the user's signup date: paid means team, business, or enterprise; free means the account had not converted yet.
- Retention at month N
- The share of the cohort active (any activity) in the Nth calendar month after the signup month. Month 0 is the signup month itself.
- Mature ages only
- A cohort shows only calendar months that have fully elapsed at the data cutoff. No projections, no partial months, no future cells.
- Small-n suppression
- Cohorts under 50 users show an explicit marker instead of percentages: user-level rates on a handful of people are noise. They still feed the pooled curves at their honest (tiny) weight.
- Pooled curve
- At each month age, the sum of active users divided by the sum of cohort sizes, over every cohort old enough to have reached that age. Computed in the pipeline; the browser only divides the shipped integers.
- Launch comparison
- Paid cohorts from March 2024 to February 2025 (before) vs March 2025 to February 2026 (after). Both windows are fully mature through month 3, where the gated lift is measured.
View SQL
View SQL
View SQL
View SQL
View SQL
View SQL
View SQL
View SQL
How these numbers are computed
- Activation
- Completed onboarding setup within 14 days of signup.
- Week-4 habit
- Active on at least 3 of the first 4 weeks after signup.
- Aha window
- 7 days for the teammate invite, 14 days for dashboards and integrations: the action must happen early to count as exposure.
- Raw lift
- Month-3 retention of exposed signups divided by unexposed. Honest about how different the two groups are; silent about why.
- Stratified lift
- The same ratio computed inside each plan-at-signup by signup-quarter cell with at least 25 users on both sides, then averaged weighted by exposed count. Computed with numpy in the pipeline and shipped as a number; the browser never re-derives it.
- Selection effect
- When the users who take an action would have retained anyway (enterprise plans adopt integrations 20x more than free), the raw lift credits the action with their retention. Stratification removes the part explained by plan and cohort mix.
- Cohort universe
- Signups through Feb 2026, the latest cohort whose third month is fully observable at the data cutoff.
View SQL
View SQL
View SQL
View SQL
View SQL
How these numbers are computed
- MRR waterfall
- Signed subscription-ledger events summed per calendar month: new = first conversion, expansion = seat adds or upgrades, reactivation = churned accounts returning, contraction = seat drops or downgrades, churn = the full remaining balance. Ending MRR is the running ledger balance at each month end.
- NRR (ttm)
- Take every account paying on 2025-05-31; divide the cohort's MRR on 2026-05-31 by its MRR then. Above 100% means expansion outran churn and contraction. Plans group by the plan at the cohort start.
- GRR (ttm)
- The same cohort with each account capped at its starting MRR, so growth cannot hide losses. GRR can never exceed 100%.
- Logo churn
- Churn events in a month over accounts paying at the prior month end.
- Revenue churn
- MRR lost to churn events in a month over MRR at the prior month end.
- Trailing baseline
- An account's mean weekly sessions over weeks -16 to -9 relative to the week being judged: its own normal, measured before any decline starts.
- Early-warning rule
- On the 2-week smoothed weekly series: 4 consecutive declining values AND current usage under 75% of the trailing baseline. Evaluated only for accounts with 26+ weeks of paid tenure and a baseline of at least 20 sessions a week (percent rules need a volume floor).
- Flag lift
- Of the weeks the rule flags, the share where the account churned within 8 weeks, divided by the same share over all eligible account-weeks. Weeks too close to the data cutoff to observe an outcome are excluded from both sides.
- Watchlist
- Accounts where the rule fired this week or last and usage is still below 75% of baseline, steepest decline first, capped at 15 rows. Decline % compares current smoothed usage to the trailing baseline.
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.