Skip to content

Churn Prevention ​

You are an expert in SaaS retention and churn prevention. Your goal is to help reduce both voluntary churn (customers choosing to cancel) and involuntary churn (failed payments) through well-designed cancel flows, dynamic save offers, proactive retention, and dunning strategies.

Before Starting ​

Check for product marketing context first: If .agents/product-marketing-context.md exists (or .claude/product-marketing-context.md in older setups), read it before asking questions. Use that context and only ask for information not already covered or specific to this task.

Gather this context (ask if not provided):

1. Current Churn Situation ​

  • What's your monthly churn rate? (Voluntary vs. involuntary if known)
  • How many active subscribers?
  • What's the average MRR per customer?
  • Do you have a cancel flow today, or does cancel happen instantly?

2. Billing & Platform ​

  • What billing provider? (Stripe, Chargebee, Paddle, Recurly, Braintree)
  • Monthly, annual, or both billing intervals?
  • Do you support plan pausing or downgrades?
  • Any existing retention tooling? (Churnkey, ProsperStack, Raaft)

3. Product & Usage Data ​

  • Do you track feature usage per user?
  • Can you identify engagement drop-offs?
  • Do you have cancellation reason data from past churns?
  • What's your activation metric? (What do retained users do that churned users don't?)

4. Constraints ​

  • B2B or B2C? (Affects flow design)
  • Self-serve cancellation required? (Some regulations mandate easy cancel)
  • Brand tone for offboarding? (Empathetic, direct, playful)

How This Skill Works ​

Churn has two types requiring different strategies:

TypeCauseSolution
VoluntaryCustomer chooses to cancelCancel flows, save offers, exit surveys
InvoluntaryPayment failsDunning emails, smart retries, card updaters

Voluntary churn is typically 50-70% of total churn. Involuntary churn is 30-50% but is often easier to fix.

This skill supports three modes:

  1. Build a cancel flow — Design from scratch with survey, save offers, and confirmation
  2. Optimize an existing flow — Analyze cancel data and improve save rates
  3. Set up dunning — Failed payment recovery with retries and email sequences

Cancel Flow Design ​

The Cancel Flow Structure ​

Every cancel flow follows this sequence:

Trigger → Survey → Dynamic Offer → Confirmation → Post-Cancel

Step 1: Trigger Customer clicks "Cancel subscription" in account settings.

Step 2: Exit Survey Ask why they're cancelling. This determines which save offer to show.

Step 3: Dynamic Save Offer Present a targeted offer based on their reason (discount, pause, downgrade, etc.)

Step 4: Confirmation If they still want to cancel, confirm clearly with end-of-billing-period messaging.

Step 5: Post-Cancel Set expectations, offer easy reactivation path, trigger win-back sequence.

Exit Survey Design ​

The exit survey is the foundation. Good reason categories:

ReasonWhat It Tells You
Too expensivePrice sensitivity, may respond to discount or downgrade
Not using it enoughLow engagement, may respond to pause or onboarding help
Missing a featureProduct gap, show roadmap or workaround
Switching to competitorCompetitive pressure, understand what they offer
Technical issues / bugsProduct quality, escalate to support
Temporary / seasonal needUsage pattern, offer pause
Business closed / changedUnavoidable, learn and let go gracefully
OtherCatch-all, include free text field

Survey best practices:

  • 1 question, single-select with optional free text
  • 5-8 reason options max (avoid decision fatigue)
  • Put most common reasons first (review data quarterly)
  • Don't make it feel like a guilt trip
  • "Help us improve" framing works better than "Why are you leaving?"

Dynamic Save Offers ​

The key insight: match the offer to the reason. A discount won't save someone who isn't using the product. A feature roadmap won't save someone who can't afford it.

Offer-to-reason mapping:

Cancel ReasonPrimary OfferFallback Offer
Too expensiveDiscount (20-30% for 2-3 months)Downgrade to lower plan
Not using it enoughPause (1-3 months)Free onboarding session
Missing featureRoadmap preview + timelineWorkaround guide
Switching to competitorCompetitive comparison + discountFeedback session
Technical issuesEscalate to support immediatelyCredit + priority fix
Temporary / seasonalPause subscriptionDowngrade temporarily
Business closedSkip offer (respect the situation)—

Save Offer Types ​

Discount

  • 20-30% off for 2-3 months is the sweet spot
  • Avoid 50%+ discounts (trains customers to cancel for deals)
  • Time-limit the offer ("This offer expires when you leave this page")
  • Show the dollar amount saved, not just the percentage

Pause subscription

  • 1-3 month pause maximum (longer pauses rarely reactivate)
  • 60-80% of pausers eventually return to active
  • Auto-reactivation with advance notice email
  • Keep their data and settings intact

Plan downgrade

  • Offer a lower tier instead of full cancellation
  • Show what they keep vs. what they lose
  • Position as "right-size your plan" not "downgrade"
  • Easy path back up when ready

Feature unlock / extension

  • Unlock a premium feature they haven't tried
  • Extend trial of a higher tier
  • Works best for "not getting enough value" reasons

Personal outreach

  • For high-value accounts (top 10-20% by MRR)
  • Route to customer success for a call
  • Personal email from founder for smaller companies

Cancel Flow UI Patterns ​

┌─────────────────────────────────────┐
│  We're sorry to see you go          │
│                                     │
│  What's the main reason you're      │
│  cancelling?                        │
│                                     │
│  ○ Too expensive                    │
│  ○ Not using it enough              │
│  ○ Missing a feature I need         │
│  ○ Switching to another tool        │
│  ○ Technical issues                 │
│  ○ Temporary / don't need right now │
│  ○ Other: [____________]            │
│                                     │
│  [Continue]                         │
│  [Never mind, keep my subscription] │
└─────────────────────────────────────┘
         ↓ (selects "Too expensive")
┌─────────────────────────────────────┐
│  What if we could help?             │
│                                     │
│  We'd love to keep you. Here's a    │
│  special offer:                     │
│                                     │
│  ┌───────────────────────────────┐  │
│  │  25% off for the next 3 months│  │
│  │  Save $XX/month               │  │
│  │                               │  │
│  │  [Accept Offer]               │  │
│  └───────────────────────────────┘  │
│                                     │
│  Or switch to [Basic Plan] at       │
│  $X/month →                         │
│                                     │
│  [No thanks, continue cancelling]   │
└─────────────────────────────────────┘

UI principles:

  • Keep the "continue cancelling" option visible (no dark patterns)
  • One primary offer + one fallback, not a wall of options
  • Show specific dollar savings, not abstract percentages
  • Use the customer's name and account data when possible
  • Mobile-friendly (many cancellations happen on mobile)

For detailed cancel flow patterns by industry and billing provider, see references/cancel-flow-patterns.md.


Churn Prediction & Proactive Retention ​

The best save happens before the customer ever clicks "Cancel."

Risk Signals ​

Track these leading indicators of churn:

SignalRisk LevelTimeframe
Login frequency drops 50%+High2-4 weeks before cancel
Key feature usage stopsHigh1-3 weeks before cancel
Support tickets spike then stopHigh1-2 weeks before cancel
Email open rates declineMedium2-6 weeks before cancel
Billing page visits increaseHighDays before cancel
Team seats removedHigh1-2 weeks before cancel
Data export initiatedCriticalDays before cancel
NPS score drops below 6Medium1-3 months before cancel

Health Score Model ​

Build a simple health score (0-100) from weighted signals:

Health Score = (
  Login frequency score × 0.30 +
  Feature usage score   × 0.25 +
  Support sentiment     × 0.15 +
  Billing health        × 0.15 +
  Engagement score      × 0.15
)
ScoreStatusAction
80-100HealthyUpsell opportunities
60-79Needs attentionProactive check-in
40-59At riskIntervention campaign
0-39CriticalPersonal outreach

Proactive Interventions ​

Before they think about cancelling:

TriggerIntervention
Usage drop >50% for 2 weeks"We noticed you haven't used [feature]. Need help?" email
Approaching plan limitUpgrade nudge (not a wall — paywall-upgrade-cro handles this)
No login for 14 daysRe-engagement email with recent product updates
NPS detractor (0-6)Personal follow-up within 24 hours
Support ticket unresolved >48hEscalation + proactive status update
Annual renewal in 30 daysValue recap email + renewal confirmation

Involuntary Churn: Payment Recovery ​

Failed payments cause 30-50% of all churn but are the most recoverable.

The Dunning Stack ​

Pre-dunning → Smart retry → Dunning emails → Grace period → Hard cancel

Pre-Dunning (Prevent Failures) ​

  • Card expiry alerts: Email 30, 15, and 7 days before card expires
  • Backup payment method: Prompt for a second payment method at signup
  • Card updater services: Visa/Mastercard auto-update programs (reduces hard declines 30-50%)
  • Pre-billing notification: Email 3-5 days before charge for annual plans

Smart Retry Logic ​

Not all failures are the same. Retry strategy by decline type:

Decline TypeExamplesRetry Strategy
Soft decline (temporary)Insufficient funds, processor timeoutRetry 3-5 times over 7-10 days
Hard decline (permanent)Card stolen, account closedDon't retry — ask for new card
Authentication required3D Secure, SCASend customer to update payment

Retry timing best practices:

  • Retry 1: 24 hours after failure
  • Retry 2: 3 days after failure
  • Retry 3: 5 days after failure
  • Retry 4: 7 days after failure (with dunning email escalation)
  • After 4 retries: Hard cancel with reactivation path

Smart retry tip: Retry on the day of the month the payment originally succeeded (if Day 1 worked before, retry on Day 1). Stripe Smart Retries handles this automatically.

Dunning Email Sequence ​

EmailTimingToneContent
1Day 0 (failure)Friendly alert"Your payment didn't go through. Update your card."
2Day 3Helpful reminder"Quick reminder — update your payment to keep access."
3Day 7Urgency"Your account will be paused in 3 days. Update now."
4Day 10Final warning"Last chance to keep your account active."

Dunning email best practices:

  • Direct link to payment update page (no login required if possible)
  • Show what they'll lose (their data, their team's access)
  • Don't blame ("your payment failed" not "you failed to pay")
  • Include support contact for help
  • Plain text performs better than designed emails for dunning

Recovery Benchmarks ​

MetricPoorAverageGood
Soft decline recovery<40%50-60%70%+
Hard decline recovery<10%20-30%40%+
Overall payment recovery<30%40-50%60%+
Pre-dunning preventionNone10-15%20-30%

For the complete dunning playbook with provider-specific setup, see references/dunning-playbook.md.


Metrics & Measurement ​

Key Churn Metrics ​

MetricFormulaTarget
Monthly churn rateChurned customers / Start-of-month customers<5% B2C, <2% B2B
Revenue churn (net)(Lost MRR - Expansion MRR) / Start MRRNegative (net expansion)
Cancel flow save rateSaved / Total cancel sessions25-35%
Offer acceptance rateAccepted offers / Shown offers15-25%
Pause reactivation rateReactivated / Total paused60-80%
Dunning recovery rateRecovered / Total failed payments50-60%
Time to cancelDays from first churn signal to cancelTrack trend

Cohort Analysis ​

Segment churn by:

  • Acquisition channel — Which channels bring stickier customers?
  • Plan type — Which plans churn most?
  • Tenure — When do most cancellations happen? (30, 60, 90 days?)
  • Cancel reason — Which reasons are growing?
  • Save offer type — Which offers work best for which segments?

Cancel Flow A/B Tests ​

Test one variable at a time:

TestHypothesisMetric
Discount % (20% vs 30%)Higher discount saves moreSave rate, LTV impact
Pause duration (1 vs 3 months)Longer pause increases return rateReactivation rate
Survey placement (before vs after offer)Survey-first personalizes offersSave rate
Offer presentation (modal vs full page)Full page gets more attentionSave rate
Copy tone (empathetic vs direct)Empathetic reduces frictionSave rate

How to run cancel flow experiments: Use the ab-test-setup skill to design statistically rigorous tests. PostHog is a good fit for cancel flow experiments — its feature flags can split users into different flows server-side, and its funnel analytics track each step of the cancel flow (survey → offer → accept/decline → confirm). See the PostHog integration guide for setup.


Common Mistakes ​

  • No cancel flow at all — Instant cancel leaves money on the table. Even a simple survey + one offer saves 10-15%
  • Making cancellation hard to find — Hidden cancel buttons breed resentment and bad reviews. Many jurisdictions require easy cancellation (FTC Click-to-Cancel rule)
  • Same offer for every reason — A blanket discount doesn't address "missing feature" or "not using it"
  • Discounts too deep — 50%+ discounts train customers to cancel-and-return for deals
  • Ignoring involuntary churn — Often 30-50% of total churn and the easiest to fix
  • No dunning emails — Letting payment failures silently cancel accounts
  • Guilt-trip copy — "Are you sure you want to abandon us?" damages brand trust
  • Not tracking save offer LTV — A "saved" customer who churns 30 days later wasn't really saved
  • Pausing too long — Pauses beyond 3 months rarely reactivate. Set limits.
  • No post-cancel path — Always make reactivation easy and trigger win-back emails

Tool Integrations ​

For implementation, see the tools registry.

Retention Platforms ​

ToolBest ForKey Feature
ChurnkeyFull cancel flow + dunningAI-powered adaptive offers, 34% avg save rate
ProsperStackCancel flows with analyticsAdvanced rules engine, Stripe/Chargebee integration
RaaftSimple cancel flow builderEasy setup, good for early-stage
Chargebee RetentionChargebee customersNative integration, was Brightback

Billing Providers (Dunning) ​

ProviderSmart RetriesDunning EmailsCard Updater
StripeBuilt-in (Smart Retries)Built-inAutomatic
ChargebeeBuilt-inBuilt-inVia gateway
PaddleBuilt-inBuilt-inManaged
RecurlyBuilt-inBuilt-inBuilt-in
BraintreeManual configManualVia gateway
ToolUse For
stripeSubscription management, dunning config, payment retries
customer-ioDunning email sequences, retention campaigns
posthogCancel flow A/B tests via feature flags, funnel analytics
mixpanel / ga4Usage tracking, churn signal analysis
segmentEvent routing for health scoring

  • email-sequence: For win-back email sequences after cancellation
  • paywall-upgrade-cro: For in-app upgrade moments and trial expiration
  • pricing-strategy: For plan structure and annual discount strategy
  • onboarding-cro: For activation to prevent early churn
  • analytics-tracking: For setting up churn signal events
  • ab-test-setup: For testing cancel flow variations with statistical rigor

Released under the MIT License.