MRR, churn, net revenue retention, and customer acquisition cost are the metrics that SaaS boards and investors use to evaluate business health. Getting them right requires specific data architecture decisions — subscription state tracking, MRR movement categorisation, and cohort definitions — that most SaaS companies get subtly wrong until they have to restate their numbers.
SaaS metrics are the language of SaaS business health. MRR, ARR, churn rate, net revenue retention, and customer acquisition cost are the metrics that boards and investors use to evaluate a SaaS business, and they are the metrics that internal leadership needs to manage the business effectively. Getting them right requires specific data architecture decisions that most SaaS companies get subtly wrong until they face an inconsistency during a fundraise or audit.
MRR: What It Is and What It Is Not
Monthly Recurring Revenue (MRR) is the normalised monthly value of all active subscription revenue. Normalised means that an annual subscription is divided by 12 to produce a monthly contribution, and a multi-year subscription is divided by its total months. The goal is a measure of the run-rate revenue the business generates each month from current subscriptions.
**What counts in MRR**: Active subscription fees. A customer paying $1,200 per year for an annual plan contributes $100/month to MRR. A customer on a $100/month plan contributes $100/month.
**What does not count in MRR**: One-time fees (setup fees, professional services, onboarding fees), usage-based overage charges above a subscription threshold (these are recognised as revenue but are not "recurring"), and expired or churned subscriptions.
**MRR Movement Categories** are essential for understanding why MRR changes:
- **New MRR**: MRR from customers who had no active subscription in the prior period
- **Expansion MRR**: Additional MRR from existing customers (upgrades, added seats, plan changes to higher tiers)
- **Contraction MRR**: Lost MRR from existing customers who remain customers (downgrades, seat reductions)
- **Churned MRR**: MRR from customers who cancelled entirely
- **Reactivation MRR**: MRR from customers who previously churned and are now reactivating
The relationship: Ending MRR = Starting MRR + New MRR + Expansion MRR - Contraction MRR - Churned MRR + Reactivation MRR. This waterfall is the foundation of SaaS financial reporting.
Subscription State Architecture
Computing accurate MRR and its movement categories requires tracking subscription state precisely. The naive approach — querying current subscription records — only tells you the current MRR, not the movements. Computing movements requires a subscription state history.
**Subscription events log**: The primary architectural foundation. A table recording every state change for every subscription: created, upgraded, downgraded, paused, cancelled, reactivated. Each row has a timestamp, the customer ID, the subscription ID, the event type, and the MRR value before and after the event. This event log is the source of truth for all MRR movement calculations.
**Subscription state snapshot table**: A table recording the subscription state for each customer at regular intervals (typically daily). Each row represents the state of a customer's subscription at a specific date: active/inactive, current MRR value, plan ID. This enables period-end calculations (what was MRR on the last day of each month?) and cohort analysis (for all customers who started in month X, what is their subscription state today?).
Computing MRR movements from the snapshot table: compare each customer's MRR value at the start and end of a period. If the customer was inactive at the start and active at the end, the change is New MRR. If active at both start and end but with higher MRR at the end, the change is Expansion MRR. If active at both with lower MRR, Contraction MRR. If active at the start and inactive at the end, Churned MRR.
Edge cases that commonly produce incorrect movements:
**Mid-month upgrades**: A customer upgrades on the 15th of a month. At month start they were on Plan A ($100); at month end they are on Plan B ($200). The movement is $100 Expansion MRR. But if the system proration is partial-month recognition, the actual revenue differs from the MRR movement. MRR is a normalised run-rate measure, not actual cash collected; distinguish between MRR movements and revenue recognition.
**Free trial to paid conversion**: A customer on a free trial converts to a paid plan. This is New MRR from a business perspective. But if the subscription record existed during the trial as a zero-MRR active subscription, the movement calculation sees an Expansion from $0 to $100 rather than New MRR. Define trial subscriptions explicitly and handle their conversion as New MRR, not Expansion.
**Plan changes within the same day**: A customer downgrades then upgrades in the same day. The event log records both events; the snapshot may only see the end-of-day state. Decide whether intraday movements should be captured or netted; be consistent.
Churn Rate Calculations
Churn rate measures the rate at which the business is losing customers or revenue. The two primary churn metrics:
**Customer churn rate**: Number of customers who churned in a period / number of customers at the start of the period. A business with 1,000 customers at month start and 10 churned customers has a 1% monthly customer churn rate.
**Revenue churn rate (Gross MRR churn)**: MRR churned in a period / MRR at the start of the period. A business with $100,000 MRR at month start and $2,000 churned MRR has a 2% gross MRR churn rate.
These two metrics can differ substantially: if small customers churn at higher rates than large customers, customer churn rate is higher than revenue churn rate. The business is retaining more of its revenue value even as it loses a higher percentage of customer count.
**The denominator problem**: Churn rate calculation requires a consistent denominator. Using the start-of-period customer count produces different results than using the average customer count or end-of-period count. Choose one definition, document it, and apply it consistently across all reporting. Investor benchmarking comparisons are only valid when the denominator definition matches.
Net Revenue Retention (NRR)
NRR (also called Net Dollar Retention or NDR) measures the revenue retained from the cohort of customers active at the start of the period, including expansion from those customers, after accounting for contraction and churn.
NRR = (Starting MRR + Expansion MRR - Contraction MRR - Churned MRR) / Starting MRR
NRR > 100% means the customer cohort is growing its revenue contribution even after accounting for churned customers. This is the hallmark of a successful SaaS business: existing customers expand faster than the revenue is lost from churned customers.
NRR includes only customers who were active at the start of the period — new customers acquired during the period do not contribute to NRR (they contribute to MRR growth, not NRR). This is important for correct calculation: the numerator and denominator both reference only the cohort of customers active at period start.
Customer Acquisition Cost and Unit Economics
CAC (Customer Acquisition Cost) = Total sales and marketing spend in a period / New customers acquired in that period.
The precision that matters:
- Sales and marketing spend should include all costs: headcount (sales, marketing, SDRs, customer success involved in acquisition), agency and contractor fees, advertising spend, software licences for sales and marketing tools, and events. Not just advertising spend.
- New customers acquired should match the cohort from which revenue is tracked. If you acquire a customer in month 1 and they pay their first invoice in month 3, the CAC belongs to the month they became a customer, not the invoice month.
LTV/CAC ratio provides the unit economics indicator. LTV = Average MRR per customer / Monthly churn rate (simplified; more sophisticated LTV models use discounted cash flows and gross margin). LTV/CAC > 3x with payback period < 18 months is a common benchmark for venture-scale SaaS growth.
Our data architecture practice builds SaaS metrics data architectures with subscription state tracking and movement categorisation that produce accurate, auditable MRR and NRR — contact us to discuss your SaaS metrics architecture.
A former Microsoft data architect audits your data foundation, identifies your top priorities, and sends you a written plan. Free. No pitch.
Book a Call →