Not all churn is created equal. When a customer leaves your SaaS product, you might instinctively treat every lost subscriber the same way. But the reality is that there are two fundamentally different kinds of churn, and understanding the difference between involuntary churn vs voluntary churn is one of the most important things you can do for your business.
One type means your product has a problem. The other means your billing infrastructure has a problem. One requires months of product work to address. The other can often be fixed in a weekend. If you are not separating these two categories in your metrics, you are almost certainly misdiagnosing your churn problem and wasting effort on the wrong solutions.
What Is Voluntary Churn?
Voluntary churn happens when a customer makes a conscious decision to cancel their subscription. They log into your app, navigate to the billing page, click the cancel button, and leave. This is an active, deliberate choice.
The reasons behind voluntary churn are varied, but they usually boil down to a few categories:
- The product did not deliver enough value. The customer tried your tool, used it for a while, and concluded it was not worth the price. Maybe they did not find the features they needed, or the features they found did not work well enough.
- They found a better alternative. A competitor launched something cheaper, faster, or more suited to their specific use case. Switching costs were low enough that they moved.
- Their needs changed. The project ended, the team shrank, or the problem your product solves simply stopped being a priority for them. Nothing you did wrong. Their situation just shifted.
- Bad onboarding or support experience. They never fully understood how to use the product, got frustrated, and gave up. Or they had a support issue that went unresolved and lost trust.
- Price sensitivity. They liked the product but decided it was too expensive, especially if their budget got cut or they found a free alternative that was good enough.
The defining characteristic of voluntary churn is intent. The customer thought about it and decided to leave. This makes it the harder type of churn to fix because the root causes are deeply tied to your product, pricing, market positioning, and customer experience. There is no quick technical fix.
What Is Involuntary Churn?
Involuntary churn is the opposite. The customer did not choose to leave. They still want your product. They still intend to pay. But their subscription got cancelled anyway because their payment failed and nobody recovered it.
This happens far more often than most founders realize. A credit card expires, a bank flags a transaction as suspicious, the customer's account has temporarily insufficient funds, or a network error causes the charge to time out. Stripe tries to collect the payment, fails, retries a few times on its default schedule, and eventually gives up. The subscription moves to past_due and then to canceled. The customer might not even realize it happened until they try to log in weeks later and find their account deactivated.
Common causes of involuntary churn include:
- Expired credit cards that the customer forgot to update
- Insufficient funds at the time of the charge attempt
- Bank-side fraud prevention blocking a legitimate recurring charge
- Lost or stolen cards that have been replaced with new numbers
- Network timeouts and processing errors between Stripe and the issuing bank
- Card updater failures where the automatic card update did not propagate in time
The defining characteristic of involuntary churn is that the customer did not make a choice. It is a mechanical failure in the billing process, and that makes it fundamentally different from a product problem.
How Much Revenue Does Each Type Actually Cost?
The numbers here are pretty well established across the SaaS industry. Multiple studies and data from payment processors have converged on consistent ranges.
Involuntary churn accounts for 20% to 40% of all subscription churn in a typical SaaS business. Some sources put it even higher for businesses that have not implemented any recovery process. Stripe's own data suggests that between 5% and 10% of recurring charges fail each month, and without intervention, a significant portion of those failures result in permanent cancellations.
Voluntary churn accounts for the remaining 60% to 80%. This is the bigger number in absolute terms, but here is the critical difference: voluntary churn is much harder and slower to fix.
A real-world example
A SaaS company with $100,000 in MRR and a 5% monthly churn rate is losing $5,000 per month. If 30% of that churn is involuntary, that is $1,500/month being lost purely to billing failures. With a proper recovery system, you can realistically recover 50-70% of that, meaning $750 to $1,050 per month recovered. That is $9,000 to $12,600 per year in revenue you get back just by fixing your payment infrastructure. No product changes required.
Compare that to voluntary churn. Reducing voluntary churn by the same dollar amount might require hiring a product manager, redesigning your onboarding flow, building new features, and running months of experiments. The ROI per engineering hour is dramatically different.
Why Involuntary Churn Is Fixable (And Voluntary Churn Mostly Is Not)
This is the key insight that changes how smart SaaS operators prioritize their time. Involuntary churn is a technical problem with technical solutions. The customer already said yes. They already see the value. They already committed to paying. You just need to successfully collect the payment.
The solutions are well understood and highly automatable:
- Smart retry logic that retries failed charges at optimal times based on the specific decline code, rather than using Stripe's generic retry schedule
- Dunning email sequences that notify customers about failed payments and give them a one-click path to update their card
- Pre-dunning notifications that catch expiring cards before they cause a failure
- Hosted payment update pages that make it dead simple for a customer to enter a new card number
- Card updater programs that automatically refresh expired card details through the card networks
You can implement all of these without changing a single line of your product code. The customer experience of your actual SaaS product stays exactly the same. You are just fixing the plumbing.
Voluntary churn, on the other hand, does not have a neat technical fix. If customers are leaving because your product does not deliver enough value, you need to build a better product. If they are leaving for a competitor, you need to differentiate. If they are leaving because of price, you need to rethink your pricing model. These are strategic problems that take months or years to solve, and the outcomes are uncertain.
This does not mean you should ignore voluntary churn. It absolutely matters and you should work on it. But if you have not tackled involuntary churn first, you are choosing the hard path when an easier one is sitting right there.
How to Measure Both Types in Stripe
Stripe gives you the data you need to separate involuntary from voluntary churn. It just requires a bit of work to pull it together.
Tracking voluntary churn
When a customer actively cancels, Stripe fires a customer.subscription.updated event with the cancel_at_period_end field set to true, or a customer.subscription.deleted event if the cancellation is immediate. In both cases, the cancellation was initiated through your app's cancel flow or through the Stripe Customer Portal. You can identify these by checking the cancellation_details.reason field, which Stripe populates when a subscription ends.
To track this properly, log every cancellation event with the reason. Over time you will build a clear picture of why customers are choosing to leave.
Tracking involuntary churn
Involuntary churn follows a different event sequence. It starts with invoice.payment_failed, which fires each time Stripe fails to collect a payment. If all retries are exhausted and the payment is never recovered, the subscription moves to canceled or unpaid depending on your Stripe settings. The key indicator is that the subscription ended due to payment failure, not customer action.
You can identify involuntary churn by looking at subscriptions that were cancelled where the last invoice status is uncollectible or where the cancellation_details.reason is payment_failed. Cross-reference this with the invoice.payment_failed events to see the decline codes and understand what went wrong.
Building a churn dashboard
At minimum, you want to track these metrics monthly:
- Total churn rate — the percentage of subscribers lost in a given period
- Voluntary churn rate — subscribers who actively cancelled
- Involuntary churn rate — subscribers lost to payment failures
- Payment failure rate — the percentage of charge attempts that fail
- Recovery rate — the percentage of failed payments you successfully collect on a subsequent attempt
- Revenue impact — the dollar amount lost to each type of churn
Once you have these numbers separated, you can finally see the real picture. Most founders are surprised to discover that a third or more of their churn is involuntary and could have been prevented.
Prevention Strategies for Voluntary Churn
Since voluntary churn stems from product and customer experience issues, the strategies are broader and more involved. Here are the highest-impact ones:
- Improve onboarding. The first 7 days of a customer's experience predict most of their long-term retention. If they do not hit a meaningful "aha moment" quickly, they are far more likely to churn. Map out the critical actions that correlate with retention and build your onboarding flow around getting users to those actions fast.
- Monitor engagement proactively. Do not wait for customers to cancel. Track usage metrics and identify accounts that are going quiet. A customer who has not logged in for two weeks is at risk. Reach out before they decide to cancel.
- Collect cancellation feedback. When a customer does cancel, ask why. Not a long survey — one or two questions. This data is gold for understanding your voluntary churn drivers and prioritizing product improvements.
- Offer annual plans. Customers on annual plans churn at significantly lower rates than monthly subscribers. The commitment creates stickiness, and the upfront payment reduces the monthly decision fatigue of "is this still worth it?"
- Build switching costs. The more data, workflows, and integrations a customer builds into your product, the harder it is to leave. This is not about lock-in tricks. It is about making your product genuinely more valuable the longer someone uses it.
- Fix your pricing. If customers consistently cite price as a cancellation reason, consider whether your pricing aligns with the value you deliver. Sometimes a lower-tier plan or usage-based pricing can retain customers who would otherwise leave entirely.
These strategies work, but they take time. Most product-driven retention improvements take 3 to 6 months to show meaningful results in your churn numbers.
Prevention Strategies for Involuntary Churn
Involuntary churn prevention is more mechanical and faster to implement. Here is what works:
1. Implement smart payment retries
Stripe's default retry schedule is not optimized for recovery. It retries at fixed intervals regardless of the decline reason. A smarter approach is to vary your retry timing based on the decline code. Insufficient funds? Retry at the beginning of the month or on a typical payday. Network error? Retry in a few hours. Rate limited? Back off and retry during low-traffic hours.
Smart retries alone can recover an additional 30-40% of failed payments compared to Stripe's defaults. For more on this, check out our guide on how to recover failed Stripe payments.
2. Set up dunning email sequences
For hard declines where the card is expired or cancelled, retrying will not help. You need the customer to update their payment method. A well-timed dunning email sequence — typically 3 emails over 7-10 days — with a direct link to update their card can recover a large percentage of these failures. The key is making it easy and keeping the tone friendly rather than threatening.
3. Send pre-dunning notifications
Do not wait for a payment to fail. If you know a customer's card expires next month, email them a week before their renewal and ask them to update it. This prevents the failure from ever happening. You can pull card expiration data directly from Stripe's customer object.
4. Enable automatic card updaters
Stripe participates in card network programs that automatically update expired card numbers. Make sure this is enabled in your Stripe settings. It handles a meaningful portion of card expirations silently in the background without any customer action required.
5. Use a dedicated recovery tool
Building all of this from scratch — the retry logic, the dunning sequences, the analytics, the pre-dunning notifications — takes a developer a few weeks and then requires ongoing maintenance. For most SaaS businesses, the math favors using a purpose-built tool.
ChurnShield handles all of this automatically. It connects to your Stripe account in about two minutes, classifies every failed payment by decline type, runs optimized retries, sends the right dunning emails at the right time, and gives you a dashboard showing exactly how much revenue is being recovered. It is specifically built for the involuntary churn problem so you can focus your time on the product challenges that drive voluntary churn.
The Bottom Line: Fix the Easy Problem First
When you look at involuntary churn vs voluntary churn, the strategic priority is clear. Involuntary churn is the easier, faster, and higher-ROI problem to solve. It does not require product changes, design sprints, or months of experimentation. It requires good billing infrastructure.
Here is a practical action plan:
- Measure it. Separate your churn into voluntary and involuntary categories. If you do not know the split, you can not prioritize effectively.
- Fix involuntary churn first. Implement smart retries, dunning emails, and pre-dunning notifications. You can have this running within a week.
- Then tackle voluntary churn. With involuntary churn handled, your overall churn number drops, and you can focus your product and customer success efforts on the customers who are actively choosing to leave.
- Track both continuously. Churn is not a one-time fix. Monitor both metrics monthly, watch for trends, and iterate.
Every month you spend losing customers to expired credit cards and insufficient funds is a month of revenue you did not need to lose. The customers are already there. They already want to pay. You just need to let them.