First, measure it correctly
Customer churn rate is the share of customers you lose in a period:
churn rate = (customers lost in period / customers at start) x 100Track revenue churn (the same formula with MRR) alongside it, because losing one enterprise account is not the same as losing one hobbyist. Two common mistakes inflate the number: counting fixed-term plans that simply ran to their agreed end (completion, not churn), and mixing trial users into the base. Commonly cited benchmarks put monthly churn at 3 to 8% for early-stage SaaS and under 2% for mature companies; your trend matters more than the benchmark.
HOW OCTOCHURN DOES THIS FOR YOU
- ✓Connect Stripe or Omise and OctoChurn classifies every cancellation at ingestion: voluntary, involuntary, or completed
- ✓Completed fixed-term plans are excluded from churn math automatically
- ✓90 days of history backfilled on connect, so the dashboard is honest from day one
Then split it: voluntary vs involuntary
This is the single most useful cut of churn data, and most dashboards do not show it. Voluntary churn is a decision: someone weighed your product against the price and walked. Involuntary churn is an accident: the card expired, the balance was short on the wrong day, the bank got suspicious. Industry studies consistently attribute around 40% of SaaS churn to failed payments. Nobody decided to leave; the billing system just gave up. The fixes for the two kinds have nothing in common, which is why a single churn number hides more than it tells.
HOW OCTOCHURN DOES THIS FOR YOU
- ✓The retention dashboard shows voluntary and involuntary churn as separate lines with separate drill-downs
- ✓Voluntary churn carries the customer's actual cancel reason; involuntary carries the decline code
- ✓Works identically across Stripe and Omise, with each processor's quirks handled in the classification rules
The four leaks, and how to plug each one
Leak 1: the cancel button
Never let cancellation be a single click into the void. Ask why first, with a short exit survey, then match the offer to the answer: a discount for price objections, a pause for people who are busy or broke, a downgrade for feature mismatch, a support escalation when something is broken. Done well, reason-matched flows commonly save 20 to 40% of cancellations. Done badly (one generic discount for everyone), they train customers to threaten cancellation for a deal.
HOW OCTOCHURN DOES THIS FOR YOU
- ✓No-code cancel flow builder with exit surveys and seven offer types
- ✓Adaptive offers: the system learns which offer saves which kind of customer from your own history
- ✓Cooldown periods stop discount farming; A/B testing tells you what actually works
- ✓Try it yourself: the cancel flow demo on our homepage is the real mechanic
flows like the one that probably brought you here
Leak 2: failed payments
The highest-ROI churn work there is, because the customer already wants to stay. Three rules. First, retry on the decline code, not on a fixed schedule: insufficient funds should wait for payday, while an expired card should never be retried at all, just emailed for an update. Second, pair every retry with a plain-language email written for the failure type. Third, get ahead of it: scan for cards expiring next month and ask for an update before anything fails.
HOW OCTOCHURN DOES THIS FOR YOU
- ✓AI Retry Engine reads the decline code and times retries accordingly, payday-aware for insufficient funds
- ✓12 dunning email types in 5 voices: 60 templates pre-written, every one editable
- ✓Monthly card-expiry scan with a heads-up email 30 days before the failure
- ✓Grace period and access control configured separately, so you decide when the blocking modal appears
Leak 3: silent customers
A customer who has not logged in for 60 days but keeps paying is not retained revenue; they are a chargeback and a one-star review on a timer. Detect inactivity from usage data, send a few honest heads-up emails, and if nothing changes, pause their billing yourself. It feels like giving money away. It is actually buying trust: paused customers resume at far higher rates than fully churned ones.
HOW OCTOCHURN DOES THIS FOR YOU
- ✓Inactivity detection via PostHog, Mixpanel, Amplitude, Segment, our SDK, or plain webhooks
- ✓Three heads-up emails, then an automatic goodwill pause (or downgrade, credit, or alert-only: your rules)
- ✓VIP whitelists and a Slack review queue so no important account gets paused by a robot
Leak 4: the ones already gone
Win-backs work when they are specific and frictionless. Route the copy by the original cancel reason, keep a light cadence like day 1, 7, and 30, and make returning one click with no checkout. Stop the sequence the moment they reactivate, and track whether the returners actually stay.
HOW OCTOCHURN DOES THIS FOR YOU
- ✓Campaigns routed by the cancel reason captured in your flow: price-cancellers get a deal, feature-cancellers get the changelog
- ✓One-click resubscribe links that skip checkout entirely
- ✓Auto-stop on reactivation, and cohort tracking that shows whether returners stick
The 10-point churn reduction checklist
Every item below is standard practice. The right column is what it costs you with OctoChurn.