Why the usual churn formula breaks for annual plans
The standard churn formula is simple: customers lost this period divided by customers you started with. For a monthly subscription business, that’s a clean monthly number. You had 200 customers on March 1st, 12 left by April 1st, your monthly churn is 6%.
Now try that with an annual plan. If everyone pays once a year, “this period” has to be a year, because nobody has a decision to make until their renewal date shows up. You can’t calculate a monthly churn rate for people who only get billed twelve months apart, because there’s no monthly event happening. Nobody churns in February just because it’s February. They churn on their anniversary, whenever that happens to fall.
This trips up a lot of solo operators who copy a churn dashboard template built for monthly SaaS and plug in their annual membership or annual retainer numbers. The math runs, it spits out a percentage, and it means almost nothing, because it’s measuring against a denominator of people who were never up for a decision that month in the first place.
What you can actually measure before renewal day
Here’s the part that’s honestly a little frustrating about annual billing: you don’t get real churn data until people actually hit their renewal date. If you signed someone up in January 2026, you don’t know if they’re going to churn until January 2027. Everything you do in between is a guess, informed by behavior, but still a guess.
That’s not a flaw in your tracking. It’s just what annual billing does. You trade a faster, noisier signal (monthly churn) for a slower, cleaner one (annual renewal rate). The tradeoff is real: you find out about problems later, but when you do find out, the number is a true decision, not a proxy.
So the honest first step is accepting you’re working with two different things:
- Renewal rate, the actual outcome, measured once a year per customer
- Leading indicators, the guesses you make in between renewals
Mixing these up, treating a leading indicator as if it were churn, is where most annual-plan churn tracking goes wrong.
Renewal rate: the real annual churn number
For an annual-pay business, your actual churn metric is renewal rate, measured cohort by cohort, on each customer’s own anniversary. If you signed up 40 customers in January, you look at how many of those 40 are still paying customers in the following January. That’s your January cohort’s renewal rate. Do the same for February’s cohort, March’s, and so on.
This matters because it’s the only number that reflects a real decision your customer made. They looked at the bill, decided it was worth it, and paid again, or they didn’t. Everything else is a forecast of that moment.
The catch is you need a full year of history before your first cohort even completes. If you’re six months into the business, you don’t have a renewal rate yet, you have a pipeline of people who haven’t hit their decision point. Be honest with yourself about that instead of reporting a partial number as if it’s finished.
Once you have a few completed cohorts, watch how renewal rate moves cohort over cohort, not just as a single flat number. A business that signed up 40 people in January and kept 30 has a different story if the March cohort kept 34 out of 40 than if it kept 22. The direction tells you more than any single snapshot.
Cohort tracking: watching bills come due
The simplest way to run this without buying new software is a spreadsheet organized by signup month, with a column for each customer’s renewal date and whether they renewed. If you run a membership site with, say, a $600 annual fee, your rows are customers, your columns are signup month and outcome, and once a month you update the row for anyone whose renewal date just passed.
If you use a billing tool like Stripe, this data already exists as subscription events, you’re just reorganizing it by cohort instead of by calendar month. The point isn’t the tool, it’s the habit: every renewal date that comes and goes gets recorded as a renewal or a loss, and you review those outcomes by the month people originally signed up, not by the month they happened to lapse.
This also surfaces something monthly churn numbers hide: seasonality in who signs up. If people who join during a promotional push in November renew worse than people who join organically in June, a blended annual churn number will never show you that. Cohort-by-signup-month will.
Leading indicators: the early warning system
Between signup and renewal, you’re not helpless, you just aren’t looking at churn yet. You’re looking at behavior that correlates with the renewal decision, and it’s worth being precise about that distinction in how you talk about it internally, even if it’s just you.
Useful leading indicators depend on what you sell, but common ones include:
- Login or usage frequency dropping off a few months before the renewal date
- Support tickets that go unanswered or unresolved
- A customer who never completed onboarding in the first place
- Falling engagement with the emails or content you send them
None of these guarantee anything. A customer can go quiet for two months because they’re busy, then renew without a second thought. Another customer can use your product every single day and still cancel because their business changed direction. Treat these signals as a reason to check in, not as a prediction you can bank on.
If you want a single number to track between renewals, “percentage of the cohort still actively using the product at month nine” is a reasonable proxy, since it gives you a heads up a few months before renewal decisions actually land. Just label it clearly as a proxy in whatever you’re looking at, so you don’t accidentally start reporting it as churn.
Logo churn vs revenue churn still applies annually
Even on annual plans, it’s worth separating logo churn (how many customers you lost) from revenue churn (how much money walked out the door). A business that loses five small annual accounts and one large one has very different revenue churn than logo churn would suggest.
This gets sharper with annual billing because the dollar amounts at stake per renewal are bigger. Losing one customer on a $50/month plan costs you $600 a year if they’d been full price. Losing one customer on a $2,000/year retainer is the same order of magnitude in a single event. If you only track logo count, a single high-value non-renewal can look identical to losing your cheapest customer, when the revenue impact is nowhere close.
If you serve a mix of plan sizes, run both numbers side by side. Logo churn tells you how many relationships you’re keeping. Revenue churn tells you what that’s actually worth to the business.
What this number can’t tell you
A renewal rate, even a well-built one, doesn’t tell you why people left. It won’t tell you whether a low renewal number is about price, product fit, poor onboarding, or a customer’s situation changing in a way that had nothing to do with you. It’s a measurement of an outcome, not a diagnosis.
It also can’t be rushed. There’s no way to compress a year-long decision cycle into faster data without changing what you’re measuring. You can build better leading indicators, you can shorten your feedback loop with check-ins and surveys, but the actual renewal rate is only ever going to update as fast as your customers’ calendars do. Anyone offering a shortcut to “real time annual churn” is selling you a proxy dressed up as the real thing.
A simple way to track it without new tools
You don’t need a churn platform to do this well. A spreadsheet with signup month, renewal date, and outcome, updated monthly as renewal dates pass, will get you a legitimate cohort-based annual plan churn rate. Add a column for plan value if you want revenue churn alongside logo churn. Add a column for last-active date if you want a rough leading indicator to check in on customers before their renewal hits.
The discipline that actually matters is updating it consistently and resisting the urge to report a half-finished cohort as if it’s a completed number. Annual billing rewards patience in your measurement the same way it rewards patience in your customers.
If you want more breakdowns like this on churn, cohorts, and the other numbers that actually run a small business, you can find the rest of the series on the home page.
Get new guides and videos first — join the Telegram channel.