Practice

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 (LAG in particular) for month-over-month comparisons
  • ratio metrics with NULLIF to 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 mrr across 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 #

Loading SQL editor...
Tip

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.