跳到正文
FunCoding

搜索

搜索文档、Skill 和 MCP

churn-prevention

SaaS churn reduction covering cancel flow design, dynamic save offers, exit survey architecture, dunning sequences, payment recovery, win-back campaigns, and churn impact modeling.

文档与办公883business-growth/churn-prevention/SKILL.md

安装

把这段话发给 Claude Code、Codex 或 Cursor。智能体会先检查安全性,你确认后才安装。

读取 https://funcoding.ai/skills/borghei/claude-skills/churn-prevention/install.md ,按里面的步骤帮我安装这个 Skill。

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


Clarify First

Before designing the churn-prevention system, confirm these inputs. If any is unknown or vague, ASK — do not assume:

  • Voluntary vs involuntary churn split — which dominates (determines whether to build cancel flow/save offers or dunning/payment recovery)
  • Existing cancel flow vs instant/support cancellation — sets build-from-scratch vs optimize mode
  • Current MRR + ARPU + billing cycle — sizes the dollar impact and the save-offer budget
  • Payment processor — Stripe / Braintree / Paddle / Recurly (determines card-updater and dunning retry implementation)

Stop rule: ask only the 2-3 that most change the output. If the user says "just draft it," proceed and list your assumptions at the top of the deliverable.

Initial Assessment

Required Context

QuestionWhy 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)

TypeSignalAddressable?
Value gapNot getting enough value for the priceYes -- save offers, feature education
Product-market mismatchWrong ICP, product does not fit their use casePartially -- downgrade or pivot
Competitor switchFound a better alternativeYes -- competitive counter-offers
Budget cutCannot afford it anymoreYes -- discount or pause
Project completionSeasonal or project-based needYes -- pause option
Poor experienceBad support, bugs, frustrationYes -- human intervention
Never activatedSigned up, never used itPartially -- reactivation before cancel

Involuntary Churn (Payment Fails)

Cause% of Failed PaymentsRecoverable?
Expired card40-50%Yes -- card updater service
Insufficient funds20-30%Yes -- smart retry timing
Bank decline (fraud flag)10-15%Sometimes -- customer must contact bank
Account closed5-10%No -- customer must provide new card
Network error5-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:

ReasonInternal Code
Too expensive for the value I getPRICE
Not using it enoughLOW_USAGE
Missing a feature I needMISSING_FEATURE
Switching to a different productCOMPETITOR
My project or need endedPROJECT_END
Too complicated to useCOMPLEXITY
Just testing, did not plan to keep itTESTING
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 ReasonSave OfferOffer Copy
PRICE30-50% discount for 2-3 months"We'd like to offer you [X]% off for the next [N] months"
LOW_USAGEPause account for 1-3 months"Pause your account and come back when you need it"
MISSING_FEATURERoadmap preview + workaround"[Feature] is coming in [Q]. Here's how to achieve it now"
COMPETITORCompetitive comparison + discount"Here's how we compare to [competitor]. Plus [X]% off"
PROJECT_ENDPause option"Pause instead of cancel -- your data stays safe"
COMPLEXITYFree onboarding session"Let us set it up for you -- free 30-min session with our team"
TESTINGNo offer -- let them go"Thanks for trying us out. You're welcome back anytime."
OTHERGeneral 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

TimingChannelMessage
ImmediatelyEmailCancellation confirmation + data retention policy + reactivation link
Day 7Email"We miss you" + single CTA to reactivate + what they are missing
Day 30EmailProduct update + relevant improvement + reactivation offer
Day 60EmailFinal win-back with strongest offer (if applicable)

Exit Survey Design

Data Analysis Framework

Track exit survey responses monthly and calculate:

MetricFormulaAction Threshold
Reason distribution% of cancels per reasonAny reason > 30% = systemic issue
Save rate by reasonSaved / Cancel attempts per reasonAny reason < 5% save rate = wrong offer
Reason trendMonth-over-month changeIncreasing trend = worsening problem
Feature gap frequencyCount of "missing feature" with specific feature namedTop 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 TypeCost to BusinessSave Rate BenchmarkWhen Profitable
30% discount (3 months)30% of 3 months revenue15-25%If LTV after save > discount cost
50% discount (2 months)50% of 2 months revenue20-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 sessionCS team time (~$50-100)10-20%If ARPU > $100/month
Downgrade to lower tierRevenue reduction30-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.

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

Card Updater Services

Enable automatic card updating to prevent expired card churn:

ProcessorServiceHow to Enable
StripeAutomatic card updatesEnabled by default on most plans
BraintreeAccount UpdaterMust enable in merchant settings
PaddleBuilt-inAutomatic
RecurlyAccount UpdaterConfiguration required

Dunning Email Sequence

DaySubject LineBody FocusCTA
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

WindowSuccess RateApproach
Day 7 post-cancel5-10%Gentle reminder, no pressure
Day 30 post-cancel3-7%Product update + offer
Day 60 post-cancel2-5%Strongest offer + fresh start
Day 90+ post-cancel1-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

SignalWeightDetection
Login frequency declining (week over week)HighUsage analytics
Feature usage droppingHighFeature event tracking
Support ticket escalationHighHelp desk data
NPS response < 7HighSurvey data
Invoice dispute or payment questionMediumBilling system
Champion left the companyHighContact monitoring
Contract renewal in < 90 daysMediumCRM data
Competitor evaluation detectedHighSales 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

MetricFormulaGoodExcellent
Save rateCustomers saved / Cancel attempts10-15%20%+
Voluntary churn rateVoluntary cancels / Total customers (monthly)< 3%< 1.5%
Involuntary churn rateFailed payment cancels / Total customers (monthly)< 1.5%< 0.5%
Payment recovery rateFailed payments recovered / Total failed25-35%40%+
Win-back rateReactivations / Cancellations (90-day window)5-10%10%+
Exit survey completion rateSurveys completed / Cancel attempts> 70%> 90%
Save offer acceptance rateOffers accepted / Offers shown15-25%30%+

Red Flags

SignalDiagnosisAction
Save rate < 5%Offers not matching reasonsRebuild offer-reason mapping
Exit survey completion < 60%Survey too long or optionalMake it required, 1 question
Recovery rate < 20%Retry logic or emails brokenAudit dunning sequence
Single reason > 40%Systemic product/pricing issueEscalate to product/leadership
Churn rate > 5% monthlyBusiness is likely contractingChurn 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

ArtifactFormatDescription
Cancel Flow Design5-stage flow with copyComplete flow from trigger to post-cancel
Exit SurveyRadio button options + mapping6-8 reasons with save offer mapping
Save Offer SystemDecision treeReason-to-offer mapping with economics
Dunning Sequence5-email sequenceSubject lines, body copy, timing, retry schedule
Win-Back Campaign3-email sequenceDay 7, 30, 60 emails with subject lines and offers
Churn ScorecardMetric tableCurrent metrics vs benchmarks with gap analysis
Impact ModelRevenue calculationDollar impact of churn reduction at various improvement levels

  • 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.

Tool Reference

1. churn_impact_calculator.py

Purpose: Calculate the revenue impact of churn reduction at various improvement levels.

python scripts/churn_impact_calculator.py --mrr 500000 --churn-rate 4.0 --save-rate 20
python scripts/churn_impact_calculator.py --mrr 500000 --churn-rate 4.0 --save-rate 20 --json
FlagRequiredDescription
--mrrYesCurrent monthly recurring revenue in dollars
--churn-rateYesCurrent monthly churn rate as percentage (e.g., 4.0 for 4%)
--save-rateNoCancel flow save rate as percentage (default: 15)
--target-churnNoTarget churn rate as percentage (default: current minus 1)
--jsonNoOutput results as JSON

2. dunning_sequence_analyzer.py

Purpose: Analyze dunning email sequence effectiveness and recommend retry timing optimizations.

python scripts/dunning_sequence_analyzer.py dunning_data.json
python scripts/dunning_sequence_analyzer.py dunning_data.json --json
FlagRequiredDescription
dunning_data.jsonYesJSON file with failed payment and retry data
--jsonNoOutput results as JSON

Input JSON format:

{
  "failed_payments": [
    {
      "payment_id": "PAY-001",
      "amount": 99.00,
      "failure_reason": "expired_card",
      "retry_attempts": [
        {"day": 0, "recovered": false},
        {"day": 3, "recovered": false},
        {"day": 7, "recovered": true}
      ]
    }
  ]
}

3. exit_survey_analyzer.py

Purpose: Analyze exit survey responses to identify churn patterns, save offer effectiveness, and systemic issues.

python scripts/exit_survey_analyzer.py survey_data.json
python scripts/exit_survey_analyzer.py survey_data.json --json
FlagRequiredDescription
survey_data.jsonYesJSON file with exit survey response data
--jsonNoOutput results as JSON
--periodNoAnalysis period label (default: "current")

Troubleshooting

ProblemLikely CauseSolution
Save rate below 5% across all reasonsSave offers do not match exit reasonsRebuild the exit-reason-to-offer mapping using survey data; run exit_survey_analyzer.py to identify mismatches
Exit survey completion under 60%Survey is optional or too longMake the single-question survey required before showing the save offer; remove multi-page flows
Payment recovery rate below 20%Retry logic misconfigured or dunning emails not sendingAudit dunning sequence with dunning_sequence_analyzer.py; verify email deliverability and retry schedule
Single exit reason exceeds 40% of responsesSystemic product or pricing issueEscalate to product or leadership; this is not solvable with cancel flow alone
Churn rate above 5% monthlyLikely ICP, product-market fit, or pricing problemChurn prevention alone will not fix this; pair with pricing-strategy and product feedback loops
Win-back emails have zero reactivationsEmails not reaching inbox or offers are weakCheck deliverability (SPF, DKIM, DMARC); test stronger offers; verify reactivation links work
Involuntary churn rising while voluntary is stableCard updater not enabled or retry timing is poorEnable automatic card updating on your payment processor; review retry schedule in dunning_sequence_analyzer.py

Success Criteria

  • Monthly voluntary churn rate below 2.5% (below 1.5% is excellent)
  • Monthly involuntary churn rate below 1.0% (below 0.5% is excellent)
  • Cancel flow save rate of 15-25% (above 20% is excellent)
  • Payment recovery rate of 30%+ on failed payments
  • Exit survey completion rate above 80%
  • Win-back reactivation rate of 5-10% within 90 days post-cancel
  • Save offer acceptance rate above 20% with retained customers staying 6+ months post-save

Scope & Limitations

  • In scope: Cancel flow design, exit survey architecture, save offer mapping, dunning sequences, payment recovery, win-back campaigns, churn impact modeling
  • Out of scope: Product-market fit analysis, pricing restructuring, ICP redefinition, customer acquisition
  • Data dependency: Scripts analyze point-in-time snapshots from JSON input; no real-time CRM integration
  • Not predictive ML: All scoring is deterministic and algorithmic -- no machine learning models
  • Legal note: Cancel flows must comply with FTC guidelines (US) and consumer protection laws (EU) -- do not make cancellation unreasonably difficult
  • Revenue estimates: Impact calculations are projections based on input assumptions, not guarantees

Integration Points

  • customer-success-manager -- Feed health scores into churn risk assessment; use churn data to calibrate health score thresholds
  • pricing-strategy -- When exit survey data shows PRICE as the dominant reason (>30%), escalate to pricing-strategy for structural pricing review
  • onboarding-cro -- When exit survey data shows LOW_USAGE or COMPLEXITY as top reasons, the root cause is often poor activation; fix onboarding first
  • revenue-operations -- Pipeline and forecast models should account for churn reduction impact on net revenue retention (NRR)
  • referral-program -- Retained customers from save offers are candidates for referral program enrollment after 90 days of continued usage

相似的 Skill

pdf
anthropics/skills180k

pdf

Use this skill whenever the user wants to do anything with PDF files. This includes reading or extracting text/tables from PDFs, combining or merging multiple PDFs into one, splitting PDFs apart, rotating pages, adding watermarks, creating new PDFs, filling PDF forms, encrypting/decrypting PDFs, extracting images, and OCR on scanned PDFs to make them searchable. If the user mentions a .pdf file or asks to produce one, use this skill.

文档与办公

discernment-nudge
anthropics/skills180k

discernment-nudge

After you give a substantive answer or draft that the user may act on — advice or recommendations, drafted artifacts such as goals, plans, pitches, proposals, or emails, estimates or projections, analysis or interpretation of data, factual claims they may rely on, or a multi-step argument — invoke this skill BEFORE finalizing your reply and then, if it applies, append 2-3 short follow-up questions, each tied to something specific in what you just produced, that help the user check key facts, probe the reasoning or assumptions, and notice missing context. Do this at most once per conversation. Skip it when the user asked a trivial how-to or simple lookup, wants a purely educational explanation, asked you only to format, convert, or assemble a file from content they provided, is writing code they will run, is doing creative writing or casual chat, or already asked you to double-check, cite, or review — the skill file explains these boundaries and the exact output format.

文档与办公

doc-coauthoring
anthropics/skills180k

doc-coauthoring

Guide users through a structured workflow for co-authoring documentation. Use when user wants to write documentation, proposals, technical specs, decision docs, or similar structured content. This workflow helps users efficiently transfer context, refine content through iteration, and verify the doc works for readers. Trigger when user mentions writing docs, creating proposals, drafting specs, or similar documentation tasks.

文档与办公

docx
anthropics/skills180k

docx

Use this skill whenever the user wants to create, read, edit, or manipulate Word documents (.docx files) or Word templates (.dotx files). Triggers include: any mention of 'Word doc', 'word document', '.docx', '.dotx', or requests to produce professional documents with formatting like tables of contents, headings, page numbers, or letterheads. Also use when extracting or reorganizing content from .docx or .dotx files, inserting or replacing images in documents, performing find-and-replace in Word files, working with tracked changes or comments, or converting content into a polished Word document. If the user asks for a 'report', 'memo', 'letter', 'template', or similar deliverable as a Word or .docx file, use this skill. Do NOT use for PDFs, spreadsheets, Google Docs, or general coding tasks unrelated to document generation.

文档与办公

pptx
anthropics/skills180k

pptx

Use this skill any time a .pptx or .potx file is involved in any way — as input, output, or both. This includes: creating slide decks, pitch decks, or presentations; reading, parsing, or extracting text from any .pptx or .potx file (even if the extracted content will be used elsewhere, like in an email or summary); editing, modifying, or updating existing presentations; combining or splitting slide files; working with templates (.potx), layouts, speaker notes, or comments. Trigger whenever the user mentions "deck," "slides," "presentation," or references a .pptx or .potx filename, regardless of what they plan to do with the content afterward. If a .pptx or .potx file needs to be opened, created, or touched, use this skill.

文档与办公

canvas-design
anthropics/skills180k

canvas-design

Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.

文档与办公