SaaS Analytics Track
This track is designed to feel like real SaaS analytics work, not isolated SQL snippets.
You will practice:
- MRR and ARR reporting from an account-month fact table
- churn, expansion, contraction, and reactivation detection
- net revenue retention (NRR) and MRR bridge calculations
- billing reconciliation between subscriptions and invoices
Who This Track Is For #
Analysts and engineers who want job-relevant practice on subscription metrics: the questions a SaaS finance or growth team asks every month. If you can join tables and group rows, you are ready; the hard part here is metric definitions, not syntax.
Prerequisites #
- SQL joins and grouped aggregations
- CTE basics
- window functions (
LAGin particular) for month-over-month comparisons - ratio metrics with
NULLIFto avoid divide-by-zero
The Dataset #
A small B2B SaaS company with 12 customer accounts, observed from 2023-06 through 2024-05:
saas_accounts(dimension, one row per account: segment, industry, signup date)saas_subscriptions(fact, one row per account per active month: plan, MRR, seats)saas_invoices(fact, one row per invoice: amount, status)
The data contains real subscription dynamics: churned accounts whose rows simply stop, expansions and a contraction, a reactivation after a two-month gap, and new accounts landing mid-window.
Metric Vocabulary #
- MRR (monthly recurring revenue): the sum of
mrracross all active subscriptions in a month. - ARR (annual recurring revenue): MRR x 12, a run-rate, not a forecast.
- Churn: an account that was paying last month and pays nothing this month.
- Expansion / contraction: the same account paying more / less this month than last month.
- Reactivation: a previously churned account that starts paying again after a gap.
- NRR (net revenue retention): (starting MRR + expansion - contraction - churned MRR) / starting MRR, computed over existing accounts only — new business is excluded.
Track Flow #
Milestones and Exit Criteria #
Milestone A: pass all easy drills and at least one medium drill.
Milestone B: pass at least one hard drill, then complete the KPI assignments.
Milestone C: complete the capstone query and explain your metric tradeoffs.
Exit criteria:
- pass at least 80% of graded checks across drills + assignments
- complete the capstone with a correct month-over-month MRR bridge
Warm-up Query #
When solving SaaS KPIs, always define metric grain first (account, account-month, or month) before joining tables. Almost every wrong NRR number starts with an accidental join fanout.