skills/borghei/claude-skills/churn-prevention

churn-prevention

SKILL.md

Churn Prevention

Production-grade SaaS churn reduction framework covering cancel flow architecture, dynamic save offer mapping, exit survey design, dunning sequence engineering, payment recovery optimization, win-back campaigns, and churn impact modeling. Addresses both voluntary churn (customers who decide to leave) and involuntary churn (customers who leave due to payment failure).


Table of Contents


Initial Assessment

Required Context

Question Why It Matters
Current monthly churn rate? (voluntary vs involuntary split) Determines which lever to pull
Do you have a cancel flow, or is cancellation instant/via support? Determines build vs optimize mode
What payment processor? (Stripe, Braintree, Paddle) Affects dunning implementation
Average contract value and billing cycle? Sizes the save offer budget
Current MRR? Calculates the dollar impact of churn reduction
SaaS model? (self-serve vs sales-assisted) Determines intervention type
Do you collect exit reasons today? Data availability for save offer mapping

Churn Taxonomy

Voluntary Churn (Customer Decides to Leave)

Type Signal Addressable?
Value gap Not getting enough value for the price Yes -- save offers, feature education
Product-market mismatch Wrong ICP, product does not fit their use case Partially -- downgrade or pivot
Competitor switch Found a better alternative Yes -- competitive counter-offers
Budget cut Cannot afford it anymore Yes -- discount or pause
Project completion Seasonal or project-based need Yes -- pause option
Poor experience Bad support, bugs, frustration Yes -- human intervention
Never activated Signed up, never used it Partially -- reactivation before cancel

Involuntary Churn (Payment Fails)

Cause % of Failed Payments Recoverable?
Expired card 40-50% Yes -- card updater service
Insufficient funds 20-30% Yes -- smart retry timing
Bank decline (fraud flag) 10-15% Sometimes -- customer must contact bank
Account closed 5-10% No -- customer must provide new card
Network error 5-10% Yes -- automatic retry

Cancel Flow Architecture

The 5-Stage Cancel Flow

[Cancel Button] → [Exit Survey] → [Dynamic Save Offer] → [Confirmation] → [Post-Cancel]

Stage 1: Cancel Trigger

  • Cancel option is findable (Settings > Account > Cancel). Do not hide it.
  • Clicking "Cancel" starts the flow -- it does not immediately cancel the account
  • Works on both desktop and mobile

Stage 2: Exit Survey (Required, 1 Question)

Question: "What is the main reason you are cancelling?"

Present as radio buttons (not a dropdown). Maximum 8 options:

Reason Internal Code
Too expensive for the value I get PRICE
Not using it enough LOW_USAGE
Missing a feature I need MISSING_FEATURE
Switching to a different product COMPETITOR
My project or need ended PROJECT_END
Too complicated to use COMPLEXITY
Just testing, did not plan to keep it TESTING
Other (with optional text field) OTHER

Rules:

  • Survey is required before showing the save offer (the answer determines the offer)
  • One question only. No multi-page surveys.
  • Optional free-text field for "Other" and as a supplement to any selection
  • Track response distribution monthly to identify systemic issues

Stage 3: Dynamic Save Offer

Map each exit reason to exactly one save offer:

Exit Reason Save Offer Offer Copy
PRICE 30-50% discount for 2-3 months "We'd like to offer you [X]% off for the next [N] months"
LOW_USAGE Pause account for 1-3 months "Pause your account and come back when you need it"
MISSING_FEATURE Roadmap preview + workaround "[Feature] is coming in [Q]. Here's how to achieve it now"
COMPETITOR Competitive comparison + discount "Here's how we compare to [competitor]. Plus [X]% off"
PROJECT_END Pause option "Pause instead of cancel -- your data stays safe"
COMPLEXITY Free onboarding session "Let us set it up for you -- free 30-min session with our team"
TESTING No offer -- let them go "Thanks for trying us out. You're welcome back anytime."
OTHER General retention offer "Before you go -- we'd love to make this right. [Contact support]"

Offer presentation rules:

  • One clear offer per screen (not multiple choices)
  • Quantify the value: "Save $120 over the next 3 months" not "Get a discount"
  • CTA: "Accept Offer" vs "Continue Cancelling" (both clearly labeled)
  • No countdown timers, no fake urgency
  • No guilt-trip copy

Stage 4: Confirmation

If they decline the save offer or there is no offer to make:

┌────────────────────────────────────────┐
│  We're sorry to see you go             │
│                                        │
│  What happens when you cancel:         │
│  - Your data is saved for 90 days     │
│  - Access continues until [date]      │
│  - You can reactivate anytime         │
│                                        │
│  [Yes, Cancel My Account]             │
│  [Wait, I Changed My Mind]            │
│                                        │
│  No pre-checked boxes.                │
│  No confusing language.               │
└────────────────────────────────────────┘

Stage 5: Post-Cancel

Timing Channel Message
Immediately Email Cancellation confirmation + data retention policy + reactivation link
Day 7 Email "We miss you" + single CTA to reactivate + what they are missing
Day 30 Email Product update + relevant improvement + reactivation offer
Day 60 Email Final win-back with strongest offer (if applicable)

Exit Survey Design

Data Analysis Framework

Track exit survey responses monthly and calculate:

Metric Formula Action Threshold
Reason distribution % of cancels per reason Any reason > 30% = systemic issue
Save rate by reason Saved / Cancel attempts per reason Any reason < 5% save rate = wrong offer
Reason trend Month-over-month change Increasing trend = worsening problem
Feature gap frequency Count of "missing feature" with specific feature named Top 3 missing features = product roadmap input

Competitive Intelligence from Exit Surveys

When users select "Switching to a different product":

  • Ask a follow-up: "Which product are you switching to?" (optional, free text or dropdown)
  • Track the top 3 competitors winning your churners
  • Feed this data into competitive-teardown skill for quarterly analysis

Dynamic Save Offer System

Offer Economics

Offer Type Cost to Business Save Rate Benchmark When Profitable
30% discount (3 months) 30% of 3 months revenue 15-25% If LTV after save > discount cost
50% discount (2 months) 50% of 2 months revenue 20-30% If retained customer stays 6+ months
Pause (1-3 months) $0 (no revenue during pause) 25-40% If 50%+ reactivate after pause
Free onboarding session CS team time (~$50-100) 10-20% If ARPU > $100/month
Downgrade to lower tier Revenue reduction 30-50% If some revenue > no revenue
Feature unlock $0 (already built) 5-15% Always profitable

Save Offer Decision Tree

User selects exit reason →
├── PRICE →
│   ├── Customer ARPU > median? → Offer 30% discount
│   └── Customer ARPU < median? → Offer downgrade to cheaper plan
├── LOW_USAGE →
│   ├── Last login > 30 days? → Offer pause
│   └── Last login < 30 days? → Offer usage tips + discount
├── MISSING_FEATURE →
│   ├── Feature on roadmap? → Share roadmap + workaround
│   └── Feature not planned? → Offer discount or acknowledge gap
├── COMPETITOR →
│   ├── Known competitor? → Show comparison + retention offer
│   └── Unknown competitor? → General retention offer
├── PROJECT_END →
│   └── Always → Offer pause
├── COMPLEXITY →
│   ├── Enterprise/high-value? → Offer dedicated onboarding session
│   └── SMB/low-value? → Offer guided tutorial link
└── TESTING →
    └── Always → No offer, let go gracefully

Dunning Sequence Engineering

Failed payments cause 20-40% of total churn. Most of it is recoverable with proper dunning.

Smart Retry Schedule

Do not retry immediately after failure. Cards often recover within 3-7 days.

Retry Timing Why This Timing
Initial charge Day 0 Normal billing cycle
Retry 1 Day 3 Most card issues resolve within 72 hours
Retry 2 Day 7 Paycheck cycle alignment
Retry 3 Day 12 Second paycheck cycle
Retry 4 Day 18 Final attempt before service action
Service action Day 21 Downgrade or cancel

Card Updater Services

Enable automatic card updating to prevent expired card churn:

Processor Service How to Enable
Stripe Automatic card updates Enabled by default on most plans
Braintree Account Updater Must enable in merchant settings
Paddle Built-in Automatic
Recurly Account Updater Configuration required

Dunning Email Sequence

Day Subject Line Body Focus CTA
0 "Your [Product] payment didn't go through" Factual, no blame. Card may be expired or funds unavailable. [Update Payment Method]
3 "Action needed: update your payment for [Product]" Remind what they will lose access to. [Update Payment Method]
7 "Your [Product] account is at risk" List features/data they have created. Mild urgency. [Update Payment Method]
14 "Final notice: your [Product] access ends in 7 days" Clear deadline. Offer to help if bank issue. [Update Payment Method] + [Contact Support]
21 "Your [Product] account has been paused" Account status change. Data is safe. Easy reactivation. [Reactivate Account]

Email rules:

  • Every email links directly to the payment update page (not the dashboard)
  • No guilt, no shame. Card failures happen.
  • Subject lines are specific (include product name)
  • Include the amount owed and the card last 4 digits
  • Offer a support channel for customers who need help

Win-Back Campaign Framework

Win-Back Timing

Window Success Rate Approach
Day 7 post-cancel 5-10% Gentle reminder, no pressure
Day 30 post-cancel 3-7% Product update + offer
Day 60 post-cancel 2-5% Strongest offer + fresh start
Day 90+ post-cancel 1-3% Major product change only

Win-Back Email Sequence

Day 7 Email:

  • Subject: "Your [Product] account is waiting for you"
  • Body: What they left behind (data, projects, team). One CTA: reactivate.
  • No discount. Just value reminder.

Day 30 Email:

  • Subject: "Here's what's new in [Product]"
  • Body: 2-3 specific improvements since they left. One CTA: reactivate.
  • Small incentive: "Come back with 1 month free"

Day 60 Email:

  • Subject: "We'd love to have you back -- [offer]"
  • Body: Strongest offer (50% off 3 months or extended free period). Clear deadline.
  • Final significant outreach attempt.

Churn Health Scoring

Leading Indicators of Churn

Signal Weight Detection
Login frequency declining (week over week) High Usage analytics
Feature usage dropping High Feature event tracking
Support ticket escalation High Help desk data
NPS response < 7 High Survey data
Invoice dispute or payment question Medium Billing system
Champion left the company High Contact monitoring
Contract renewal in < 90 days Medium CRM data
Competitor evaluation detected High Sales intelligence

Risk Score Calculation

Risk Score = Sum of (Signal Weight x Signal Present)

0-20: Low risk (monitor)
21-40: Moderate risk (proactive outreach)
41-60: High risk (intervention required)
61+: Critical risk (executive escalation)

Metrics and Benchmarks

Key Metrics

Metric Formula Good Excellent
Save rate Customers saved / Cancel attempts 10-15% 20%+
Voluntary churn rate Voluntary cancels / Total customers (monthly) < 3% < 1.5%
Involuntary churn rate Failed payment cancels / Total customers (monthly) < 1.5% < 0.5%
Payment recovery rate Failed payments recovered / Total failed 25-35% 40%+
Win-back rate Reactivations / Cancellations (90-day window) 5-10% 10%+
Exit survey completion rate Surveys completed / Cancel attempts > 70% > 90%
Save offer acceptance rate Offers accepted / Offers shown 15-25% 30%+

Red Flags

Signal Diagnosis Action
Save rate < 5% Offers not matching reasons Rebuild offer-reason mapping
Exit survey completion < 60% Survey too long or optional Make it required, 1 question
Recovery rate < 20% Retry logic or emails broken Audit dunning sequence
Single reason > 40% Systemic product/pricing issue Escalate to product/leadership
Churn rate > 5% monthly Business is likely contracting Churn prevention alone will not fix; review ICP + product

Churn Impact Calculator

Quick Estimate

Monthly MRR at risk = Total MRR x Monthly churn rate
Annual MRR saved by 1% churn reduction = Total MRR x 0.01 x 12
Annual MRR saved by 20% save rate = (Monthly MRR at risk x 0.20) x 12

Example:
  MRR: $500,000
  Monthly churn: 4% = $20,000/month lost
  Reduce to 3% = $5,000/month saved = $60,000/year
  Add 20% save rate on remaining = $3,000/month saved = $36,000/year
  Total annual impact: $96,000

Output Artifacts

Artifact Format Description
Cancel Flow Design 5-stage flow with copy Complete flow from trigger to post-cancel
Exit Survey Radio button options + mapping 6-8 reasons with save offer mapping
Save Offer System Decision tree Reason-to-offer mapping with economics
Dunning Sequence 5-email sequence Subject lines, body copy, timing, retry schedule
Win-Back Campaign 3-email sequence Day 7, 30, 60 emails with subject lines and offers
Churn Scorecard Metric table Current metrics vs benchmarks with gap analysis
Impact Model Revenue calculation Dollar impact of churn reduction at various improvement levels

Related Skills

  • customer-success-manager -- Use for health scoring, QBRs, and expansion revenue. Not for cancel flow or dunning design.
  • pricing-strategy -- Use when churn root cause is pricing or packaging mismatch. Not for save offer design.
  • onboarding-cro -- Use when churn traces back to poor activation. If users never experienced value, fix onboarding first.
  • referral-program -- Use for acquisition. Churn prevention handles the other end of the funnel.
Weekly Installs
7
GitHub Stars
38
First Seen
6 days ago
Installed on
opencode7
gemini-cli7
github-copilot7
amp7
cline7
codex7