Customer Retention & Churn

How to Calculate Churn the Right Way for a SaaS Business

Why most SaaS churn numbers reported to leadership are quietly wrong, and the exact formulas and cohort discipline that produce a figure you can actually act on.


Ask five people at the same SaaS company for the churn rate and you’ll often get five different numbers — not because anyone’s lying, but because “churn” quietly means five different things depending on who’s calculating it and what period they picked. Getting this right isn’t pedantry; it’s the difference between a board deck that reflects reality and one that’s been unintentionally massaged into looking better or worse than it actually is.

Logo churn and revenue churn measure different things — report both

Logo churn is the percentage of customers who cancel in a period. Revenue churn is the percentage of recurring revenue lost in that same period. These diverge constantly, and reporting only one hides the other’s story:

  • A company can lose 8% of its logos in a month (mostly small accounts) while losing only 2% of revenue, because the accounts that left were disproportionately your cheapest plans
  • Alternatively, losing just 2% of logos but 10% of revenue means you lost a small number of large accounts — a very different, and often more urgent, problem

The formula for each: Logo churn rate = (customers lost in period) / (customers at start of period). Revenue churn rate = (MRR lost in period) / (MRR at start of period). Report both every period, side by side, and the gap between them tells you immediately whether your retention problem is broad (losing lots of small accounts) or concentrated (losing a few big ones) — two problems that need completely different fixes.

Net revenue retention is the number that actually explains growth

Gross revenue churn only counts what you lost. Net revenue retention (NRR) nets that against expansion revenue — upsells, seat additions, plan upgrades — from your existing customer base, and it’s the single number that best explains whether a SaaS business can grow efficiently or is dependent on an ever-larger firehose of new logos to offset leakage.

NRR = (Starting MRR + expansion − contraction − churn) / Starting MRR, expressed as a percentage. A business with 110% NRR is growing its existing customer base even before counting a single new sale. A business at 85% NRR is losing ground every month regardless of how well new-customer acquisition is going, because the bucket has a hole in it that’s bigger than what’s flowing in from expansion.

The reason this matters more than gross churn alone: two companies can report identical 5% monthly gross revenue churn, but one has strong expansion revenue offsetting it (NRR of 105%) while the other has none (NRR of 95%). Reporting gross churn alone makes these look like the same problem when they’re not even close.

Work the numbers: a worked example that shows why this matters

Take a SaaS company with $500,000 in starting MRR across 1,000 customers. During the month, 40 customers cancel outright, representing $18,000 in lost MRR. Another 25 customers downgrade, reducing their combined MRR by $6,000. Existing customers upgrade or add seats worth $22,000 in expansion MRR.

Logo churn: 40/1,000 = 4.0%. Revenue churn (counting only full cancellations): $18,000/$500,000 = 3.6%. Already those two numbers tell a story — the accounts that left were, on average, slightly smaller than the base as a whole, since revenue churn is lower than logo churn.

Now bring in the downgrades. If a company folds contraction into “churn,” gross revenue churn becomes ($18,000 + $6,000)/$500,000 = 4.8% — noticeably worse-looking than the 3.6% figure that excludes it. Neither number is “wrong,” but reporting one without stating which definition you used makes this month’s 4.8% incomparable to a prior month’s 3.6% if the prior month happened to use the narrower definition.

Finally, NRR: (Starting MRR $500,000 + expansion $22,000 − contraction $6,000 − churned $18,000) / $500,000 = $498,000/$500,000 = 99.6%. This is the number that tells leadership the real story in one figure — the business is essentially flat on its existing base this month, expansion almost exactly offsetting losses. A board deck that only shows “4% churn” without the NRR context leaves the room guessing whether that 4% is a crisis or a rounding error against expansion; the NRR figure answers that immediately.

Multi-year and annual contracts break the simple monthly formulas

Everything above assumes monthly recurring revenue moving in monthly increments, which works cleanly for month-to-month or annual-billed-monthly businesses. It breaks down for companies selling annual or multi-year contracts, where a customer can be firmly “churned” in spirit — having decided not to renew — for months before that decision shows up in any MRR figure, because the contract simply runs its remaining term.

Two adjustments handle this. First, track renewal rate as a distinct metric from monthly churn: of contracts up for renewal in a given period, what percentage actually renewed, at what percentage of prior contract value. This is the annual-contract equivalent of monthly revenue churn and shouldn’t be blended with month-to-month figures, since the two populations behave on entirely different clocks. Second, build a “committed but at-risk” flag for accounts that have signaled non-renewal intent (an explicit notice, a support ticket indicating dissatisfaction, a usage collapse) even while their contract technically remains active and paying — this is a leading indicator that predicts the renewal-rate number months before it would otherwise show up in any lagging churn calculation, and ignoring it means a renewal cliff arrives as a surprise instead of a forecast.

Sequencing the fixes: what to do first if you’re starting from a messy baseline

If your churn reporting is currently a mess, don’t try to build all of the above simultaneously — it stalls the whole project. A workable order:

  1. Pick and document the definitions first (downgrades, pauses, failed payments) — every other fix depends on this being settled, and it’s the cheapest step, requiring a meeting and a shared doc rather than any new tooling.
  2. Split voluntary from involuntary churn next — this is usually the fastest win, since involuntary churn is a data-tagging exercise against payment-failure records you likely already have, and the fix (dunning, card updaters) can start paying off within a billing cycle.
  3. Stand up logo and revenue churn side by side, calculated correctly per the documented definitions, before attempting cohorting — you need a trustworthy blended number before a segmented one is worth building on top of it.
  4. Build cohort retention curves last — this is the most valuable long-term view but also the most work (it needs clean signup-date data and, ideally, a BI tool or spreadsheet template that can be refreshed monthly without manual rebuilding), so it’s worth sequencing after the cheaper wins are already banked and trusted.

How to know the new methodology is actually working

Switching to a more rigorous churn methodology is only worth the effort if it changes what the organization does. A few concrete signals that it’s working: the gap between forecasted and actual renewal revenue shrinks quarter over quarter, because cohort curves and lag-adjusted retention data are feeding a more accurate forecast than a blended historical average could; involuntary churn as a share of total churn declines measurably within two to three billing cycles of standing up a dunning sequence, since that’s the most directly fixable slice; and — the simplest test of all — when someone in a leadership meeting asks “why did churn move this month,” the team can answer with a specific cohort, source, or downgrade pattern instead of a shrug. If none of those things change within a couple of quarters, the methodology got more rigorous but nothing downstream of it did, which means the real work — acting on what the numbers show — still hasn’t started.

Cohort your churn — a blended number hides exactly what you need to see

A single blended churn rate across your entire customer base averages together customers who signed up two months ago with customers who signed up two years ago, and those two groups almost never churn at the same rate. Most SaaS products show meaningfully higher churn in the first 90 days than in month 13 — customers who make it past onboarding and reach genuine habitual usage churn far less than customers still deciding whether the product is worth keeping.

Build retention curves by signup cohort instead of a single blended figure:

  • Group customers by the month (or week, for high-volume products) they signed up
  • Track what percentage of each cohort remains active at 30, 60, 90, 180, and 365 days
  • Overlay cohorts from different periods to see whether retention is improving or degrading over time — a blended monthly churn number can look flat for a year while cohort curves reveal that newer cohorts are actually retaining meaningfully worse, offset by legacy cohorts that are unusually sticky

This is the single most useful churn-analysis habit a SaaS team can build, because it’s the only view that separates “our onboarding is losing people” from “our long-term product value is weakening” — two problems with completely different fixes, invisible in a blended number.

Decide what counts as churn before a downgrade forces the question

Plan downgrades, seat reductions, and pauses sit in an ambiguous zone that most companies never explicitly define, which means the definition ends up being decided ad hoc, inconsistently, by whoever’s building the report that week. Before this becomes a live dispute, write down explicit rules:

  • Does a downgrade from a $200/month plan to a $50/month plan count as partial churn (the $150 difference), full retention, or something tracked separately as “contraction”? (Most rigorous SaaS finance teams treat this as contraction, distinct from both churn and clean retention.)
  • Does a customer who pauses their subscription for two months, intending to return, count as churned during the pause?
  • Does a failed payment that eventually gets resolved after a dunning sequence count as a temporary churn event or not at all?

Whatever you decide, the rule matters less than consistency — a churn number that’s calculated differently quarter to quarter, even with good intentions, makes trend analysis meaningless.

Annualize carefully, or your churn rate will lie by a lot

A common and costly mistake: taking a monthly churn rate and multiplying by 12 to get an “annual churn rate.” This overstates true annual churn because it doesn’t account for the customers who already left earlier in the year and therefore couldn’t churn again later in that same year. A 3% monthly churn rate does not equal 36% annual churn — using the correct compounding formula (1 − (1 − monthly rate)^12), it works out closer to 30%. That six-point gap is exactly the kind of error that makes a board deck either look more alarming or more reassuring than reality warrants, in either direction depending on which shortcut someone took.

Separate voluntary from involuntary churn — they need entirely different fixes

Involuntary churn — a customer who wanted to stay but their payment failed and was never recovered — is often 20-40% of total churn for SaaS businesses with monthly billing, and it’s frequently the easiest churn to fix, since it’s not a product or retention problem at all, it’s a payments and dunning problem. Blending it into a single churn number obscures a genuinely fixable issue behind what looks like a customer satisfaction problem. Report involuntary and voluntary churn separately, and you’ll often find that a dunning email sequence and card-updater integration solve a meaningful chunk of what looked, in the blended number, like a retention crisis.

Put the definition in writing and revisit it once a year, not every time someone asks

The actual failure mode most companies experience isn’t calculating churn wrong once — it’s calculating it a slightly different way each quarter as different people build the report, which makes trends across time meaningless even when each individual number is internally consistent. Write the exact formulas, the treatment of downgrades and pauses, and the cohort methodology into a shared document, reference it every time the number gets reported, and revisit the methodology deliberately once a year rather than letting it drift silently between report cycles.

Book a demo