Churn rate is the percentage of customers or recurring revenue a business loses over a given period. It comes in two forms: customer (logo) churn, the share of customers lost, and revenue (MRR) churn, the share of recurring revenue lost. For SaaS, churn is the single biggest drag on growth — and the truest test of whether the customers you acquire are worth acquiring.
How to calculate churn rate.
Pick customer churn or revenue churn depending on what you're measuring:
Customers Lost in Period ÷ Customers at Start of Period
MRR Lost in Period ÷ MRR at Start of Period
(Churned MRR − Expansion MRR) ÷ MRR at Start of Period
Gross vs net matters. Gross churn counts only lost revenue. Net revenue churn subtracts expansion from existing customers — and if expansion outpaces losses, net churn goes negative, which is a strong signal of healthy, expanding revenue. Always state the period (monthly or annual) and whether it's gross or net.
Churn rate example.
A business starts the month with 500 customers and $50,000 MRR:
- Customers lost
- 15 of 500
- 3.0% customer churn
- MRR lost (churned)
- $2,000 of $50,000
- 4.0% gross MRR churn
- Expansion MRR added
- +$1,500
- —
- Net MRR churn
- ($2,000 − $1,500) ÷ $50,000
- 1.0% net churn
Revenue churn (4.0%) is higher than customer churn (3.0%) here — a sign the customers who left were paying above average.
Why churn matters for attribution.
Churn changes what a marketing channel is actually worth. Two channels can have identical CAC, but if one acquires customers who churn in month two and the other acquires customers who stay and expand, their real economics are worlds apart. Attribution that stops at the first sale — or counts trial signups — completely misses this.
That's why retention belongs inside attribution. Signal Sparrow ties cohort retention to the channel that acquired each customer, so you can see which sources bring durable, expanding revenue — not just cheap signups that churn. Combined with revenue attribution reconciled to Stripe, churn stops being a lagging surprise and becomes a channel-selection input.
