churn-prevention

软件研发 营销 · 增长 4 文件 EN 原文

降低流失

When the user wants to reduce churn, build cancellation flows, set up save offers, recover failed payments, or implement retention strategies. Also use when the user mentions 'churn,' 'cancel flow,' 'offboarding,' 'save offer,' 'dunning,' 'failed payment recovery,' 'win-back,' 'retention,' 'exit survey,' 'pause subscription,' 'involuntary churn,' 'people keep canceling,' 'churn rate is too high,' 'how do I keep users,' or 'customers are leaving.' Use this whenever someone is losing subscribers or wants to build systems to prevent it. For post-cancel win-back email sequences, see emails. For in-app upgrade paywalls, see paywalls.

说明语言:英文

来源coreyhaines31marketingskills ↗ 查看原文件 ↗版权归原作者,请遵循原仓库许可
安装
npx skills add https://github.com/coreyhaines31/marketingskills --skill churn-prevention

需要已安装 skills CLI。也可以直接从源仓库 clone。

在星云中查看 ↗
SKILL.md 原文

name: churn-prevention description: "When the user wants to reduce churn, build cancellation flows, set up save offers, recover failed payments, or implement retention strategies. Also use when the user mentions 'churn,' 'cancel flow,' 'offboarding,' 'save offer,' 'dunning,' 'failed payment recovery,' 'win-back,' 'retention,' 'exit survey,' 'pause subscription,' 'involuntary churn,' 'people keep canceling,' 'churn rate is too high,' 'how do I keep users,' or 'customers are leaving.' Use this whenever someone is losing subscribers or wants to build systems to prevent it. For post-cancel win-back email sequences, see emails. For in-app upgrade paywalls, see paywalls." metadata: version: 2.0.3 ---

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.md exists (or .claude/product-marketing.md, or the legacy product-marketing-context.md filename, 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

2. Billing & Platform

3. Product & Usage Data

4. Constraints


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:

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

Pause subscription

Plan downgrade

Feature unlock / extension

Personal outreach

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:

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
Individual recommendation rating is 0–6 (detractor)Medium1-3 months before cancel

Health Score Model

Build a simple health score (0-100) from weighted signals. Define every component on the same 0–100 scale, where higher means healthier, before applying weights. Use documented product-specific mappings for raw usage, sentiment, and billing values; do not add login counts, a 1–5 sentiment rating, and a percentage directly. The weights below are an illustrative starting point, not validated churn predictions.

Treat missing or stale signals as unavailable, rather than automatically healthy or zero. Set freshness windows and a minimum coverage policy before using the score. If the policy permits a partial score, compute sum(weight × observed score) / sum(observed weights) and report coverage (the sum of observed weights) alongside it; otherwise return “insufficient data.” All unavailable means no score. For example, only login (80) and feature usage (60) produce (0.30×80 + 0.25×60)/0.55 = 70.91, with 55% coverage. Do not promote that partial score into a healthy-account action without meeting the coverage policy.

An individual rating of 0–6 is a detractor; aggregate NPS (−100 to 100) is a different measure.

Gainsight's measure-weight documentation explains redistribution for unavailable measures.

Illustrative complete-data model:

Health Score = (
  Login frequency score × 0.30 +
  Feature usage score   × 0.25 +
  Support sentiment     × 0.15 +
  Billing health        × 0.15 +
  Engagement score      × 0.15
)

Validate score mappings and intervention thresholds against later observed renewal/churn outcomes before operational use; the following tiers are illustrative.

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 — paywalls 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)

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:

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:

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:

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-testing 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


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

Related CLI Tools

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

Related Skills

同类技能
ab-testingad-creativeadsai-seoanalyticsasoattributionco-marketing
本页内容来自开源项目 coreyhaines31, 版权归原作者所有。
本站仅作技能索引与分享,所有 Skill 版权归其原作者所有。