Churn Prevention
Purpose
Reduce churn across three stages: before they want to leave (health scoring + proactive outreach), while they're leaving (cancel flow + save offers), and after they've left (win-back campaigns). Plus dunning sequences for involuntary churn from failed payments.
Reads
brand/audience.md— Personas, pain points, what they value mostbrand/positioning.md— Value props for reinforcement in save offers and win-back copybrand/voice-profile.md— Brand voice for all cancel flow and email copy
Brand Integration
- audience.md — Churn signals vary by persona. Power users churn from missing features; casual users churn from confusion. Tailor intervention messaging to the persona's primary motivation.
- positioning.md — Save offers and win-back copy should reinforce the brand's core value proposition, not just offer discounts. Remind users of the specific value they're losing.
- voice-profile.md — Cancel flow copy must match brand voice. A playful brand says 'We'll miss you! Here's what you'll lose...' A professional brand says 'Before you go, here's a summary of your account value.' Win-back emails must sound like the brand, not like a desperate ex.
Workflow
Step 1: Analyze Churn Triggers
Identify and categorize churn drivers:
Voluntary Churn (they chose to leave):
| Trigger | Signal | Intervention Window |
|---|---|---|
| Not using core feature | <2 logins/week for 2 weeks | Early — usage prompt |
| Price sensitivity | Viewed pricing page after billing | Pre-renewal — value reinforcement |
| Missing feature | Feature request + competitor mention | Medium — roadmap update |
| Poor onboarding | Never completed setup | Immediate — guided help |
| Support frustration | Multiple tickets, low CSAT | Immediate — escalation |
| Outgrew the product | Hitting limits frequently | Pre-churn — upgrade path |
| Champion left | Key user deactivated | Immediate — new champion onboarding |
Involuntary Churn (payment failed):
| Trigger | Signal | Intervention |
|---|---|---|
| Card expired | Payment decline code | Dunning sequence |
| Insufficient funds | Soft decline | Retry schedule |
| Card replaced | Hard decline | Update payment prompt |
| Bank block | Fraud decline | Direct outreach |
Step 2: Design Health Score
Define a customer health score (0-100) based on:
Health Score Components:
- Usage frequency (0-25): Logins, feature usage, API calls
- Feature adoption (0-25): % of key features used
- Engagement depth (0-20): Session duration, actions per session
- Support sentiment (0-15): Ticket volume (inverse), CSAT scores
- Account growth (0-15): Seats added, plan upgrades, expansion
Health score thresholds:
- 80-100: Healthy — nurture and expand
- 60-79: Monitor — proactive check-in
- 40-59: At risk — intervention needed
- 0-39: Critical — immediate outreach
Step 3: Design Cancel Flow
The cancel flow is not a wall — it's a conversation. Goal: understand why and offer a genuine solution.
Screen 1: "Before you go..."
|- "What's the main reason you're canceling?"
| |- Too expensive -> Screen 2A
| |- Missing features I need -> Screen 2B
| |- Not using it enough -> Screen 2C
| |- Switching to another tool -> Screen 2D
| |- Just need a break -> Screen 2E
| |- Other -> Screen 2F
Screen 2A (Too expensive):
|- Show usage stats: "You've [achievement] with [Product] this month"
|- Offer: Downgrade to lower plan / Annual discount / Pause billing
|- CTA: "Switch to [cheaper plan] — keep [key features]"
|- Skip: "No thanks, continue canceling"
Screen 2B (Missing features):
|- "Which features would keep you?"
|- Show roadmap items if relevant: "[Feature] ships in [timeframe]"
|- Offer: "We'll notify you when [feature] launches"
|- Skip: "Continue canceling"
Screen 2C (Not using it enough):
|- Show quick wins: "Here are 3 things you haven't tried yet"
|- Offer: Pause for 1-3 months instead of canceling
|- Offer: Free onboarding call
|- Skip: "Continue canceling"
Screen 2D (Switching to competitor):
|- "Which tool are you switching to?" (optional)
|- Show comparison: "Here's how [Product] compares on [key features]"
|- Offer: Match competitor pricing / free migration assistance
|- Skip: "Continue canceling"
Screen 2E (Need a break):
|- "We get it. Pause your account instead?"
|- Options: Pause 1 month / 2 months / 3 months
|- "Your data and settings stay exactly as they are"
|- Skip: "Cancel instead"
Screen 2F (Other):
|- Open text feedback
|- "Thanks for sharing. Is there anything we can do?"
|- Skip: "Continue canceling"
Screen 3 (Final confirmation):
|- Summary of what they'll lose (specific to their usage)
|- "Your [X] projects and [Y] data will be deleted after 30 days"
|- Final CTA: "Keep my account" (primary) / "Cancel" (secondary, muted)
|- Post-cancel: "Account canceled. You have access until [date]."
Step 4: Build Dunning Sequence
For involuntary churn (failed payments):
Day 0 — Payment Failed (Immediate)
Subject: Action needed — your payment didn't go through
Your latest payment for [Product] didn't process.
This usually happens when a card expires or has insufficient funds.
[Update Payment Method] <- primary CTA
Your account is still active. We'll retry in 3 days.
Day 3 — First Retry Failed
Subject: Your [Product] payment still needs attention
We tried charging your card again but it didn't work.
Quick fixes:
- Update your card: [link]
- Try a different payment method: [link]
Your account stays active for now, but features will be
limited on [date + 7 days] if we can't process payment.
Day 7 — Warning
Subject: Your [Product] account will be limited tomorrow
We haven't been able to process your payment.
Tomorrow your account will switch to limited mode:
- [Feature 1] will be paused
- [Feature 2] will be read-only
- Your data is safe — nothing is deleted
Takes 30 seconds to fix: [Update Payment]
Day 10 — Last Chance
Subject: Last call — update your payment to keep [Product]
Your account is now in limited mode.
You've built [specific: X projects / Y workflows / Z data points]
in [Product]. Update your payment to pick up where you left off.
[Reactivate Now]
If we don't hear from you by [date + 14], your account
will be suspended. Your data is preserved for 60 days.
Day 14 — Account Suspended
Subject: Your [Product] account has been suspended
Your account is suspended due to non-payment.
Your data is safe and preserved for 60 days.
Ready to come back? [Reactivate — takes 30 seconds]
If you meant to cancel, no action needed.
We'll delete your data after [date + 60] for privacy.
Step 5: Create Win-Back Campaign
For users who completed cancellation:
Day 7 Post-Cancel — Soft Check-In
Subject: How's it going without [Product]?
No pitch — just curious how things are going.
If you switched to something else, we'd genuinely love
to know what they do better. Reply to this email anytime.
— [Founder name]
Day 30 Post-Cancel — Value Reminder
Subject: Here's what shipped since you left
A few things we've built since you canceled:
- [Feature 1]: [one-line benefit]
- [Feature 2]: [one-line benefit]
- [Improvement]: [one-line benefit]
[See what's new] — your data is still here if you want to come back.
Day 60 Post-Cancel — Win-Back Offer
Subject: Come back to [Product] — [X]% off for 3 months
We'd love to have you back.
Here's a [X]% discount for your first 3 months back.
Your previous [projects/data/settings] are still saved.
[Reactivate with [X]% off]
Offer expires [date + 14 days].
Day 90 Post-Cancel — Final Reach
Subject: Your [Product] data will be deleted on [date]
Per our privacy policy, we delete account data 90 days
after cancellation.
Want to keep your data? [Reactivate] or [Download your data]
After [date], it's permanently removed.