Churn rate formula: how to calculate churn
Churn rate is the share of the people you had at the start of a period who were gone by the end of it.
This page uses email list churn: subscribers who unsubscribed, as a share of the list you started the period with. The same formula works for paying customers, as long as you decide what "gone" means before you count anything. The mistakes are nearly all in the denominator and in the period.
The formula
Churn rate = subscribers lost during the period ÷ subscribers at the start of the period
In Google Sheets, with subscribers at the start in column B and subscribers lost in column C:
=IF(B2=0, "", C2/B2)
Format the column as a percentage. The denominator is the count at the start, not the end and not the average. People who joined during the period were not on the list you are measuring, so they are not in the denominator.
A worked example
| Month | Subscribers at start | Unsubscribed | Churn rate |
|---|---|---|---|
| July | 10,000 | 250 | 2.50% |
| August | 10,400 | 312 | 3.00% |
| September | 10,800 | 216 | 2.00% |
| Quarter | 10,000 | 778 | 7.78% |
The list grew each month because new subscribers outnumbered the losses. The quarter row starts with the July figure, because that is who you had at the start of the quarter, and sums the losses: =SUM(C2:C4)/B2, which is 778 ÷ 10,000 = 7.78%.
The common mistake
=SUM(D2:D4) returns 7.50%. The quarterly churn is 7.78%.
Monthly rates have different denominators, so they do not add. Each month's losses were measured against a bigger list than the month before, which makes each later rate a little smaller than the same losses would be against the July list. Averaging the three months (=AVERAGE(D2:D4), 2.50%) is worse, because it answers a different question. It gives typical monthly churn rather than what happened over the quarter. For any period, count the people at the start and the people lost, and divide once.
A related slip is using the end count as the denominator. August's 312 against the 10,800 who were on the list at the end gives 2.89%, which flatters the month by counting people who were not there to churn.
What counts as good
It depends on how the list was built and how often you send. A list grown from purchases churns differently from one grown from a giveaway, and sending frequency changes how many people leave in a month. The published figure is per campaign rather than per month: Mailchimp reports an unsubscribe rate of 0.22% of recipients per campaign across all its users, and 0.19% for ecommerce (Mailchimp, Email Marketing Benchmarks, updated December 2023), so a list that gets eight campaigns a month loses roughly 1.7% of itself to unsubscribes alone, before bounces and inactivity. Your own rate over the last few quarters is a better baseline than any of them. Retention rate is the same measurement from the other side.
Keeping the inputs current
A scheduled Fresh Sheets report can keep the month's Mailchimp campaigns in a tab of their own, for example one called Mailchimp, with an Unsubscribes column per campaign. Summing it gives the unsubscribes Mailchimp reports against those campaigns. The subscriber count at the start of the month comes from your audience in Mailchimp and goes in one cell on your formulas tab.
Fresh Sheets replaces the Mailchimp tab's contents on every refresh, so keep the formulas elsewhere. This version finds the column by its heading, so it still works if you add a field and the columns move, with B2 holding the subscribers at the start of the period:
=SUM(INDEX('Mailchimp'!A:Z, 0, MATCH("Unsubscribes", 'Mailchimp'!1:1, 0))) / B2
A Klaviyo report carries an unsubscribe rate per campaign rather than a count, so it shows which sends people left after rather than how many left.
