skills/churn-prevention/references/cancel-flow-patterns.md
Detailed cancel flow patterns by business type, billing provider, and industry.
High volume, low touch. The flow must work without human intervention.
Flow structure:
Cancel button → Exit survey (1 question) → Dynamic offer → Confirm → Post-cancel
Characteristics:
Typical save rate: 20-30%
Example flow for a $29/mo productivity app:
Lower volume, higher stakes. Personal outreach is worth the cost.
Flow structure:
Cancel button → Exit survey → Offer (or route to CS) → Confirm → Post-cancel
Characteristics:
Typical save rate: 30-45% (higher because of personal touch)
MRR-based routing:
| Account MRR | Cancel Flow |
|---|---|
| <$100/mo | Automated flow with offers |
| $100-$500/mo | Automated + flag for CS follow-up |
| $500-$2,000/mo | Route to CS before cancel completes |
| $2,000+/mo | Block self-serve cancel, require CS call |
Users cancelling paid to return to free tier. Different psychology — they're not leaving, they're downgrading.
Flow structure:
Cancel button → "Switch to Free?" prompt → Exit survey (if still cancelling) → Offer → Confirm
Characteristics:
Offer priority:
Offer priority:
Refund handling:
Don't lead with your biggest discount. Escalate:
Cancel click → 15% off → Still cancelling → 25% off → Still cancelling → Let them go
Rules:
Pause is often better than a discount because it doesn't devalue your product.
Implementation:
| Setting | Recommendation |
|---|---|
| Pause duration options | 1 month, 2 months, 3 months |
| Default selection | 1 month (shortest) |
| Maximum pause | 3 months (longer pauses rarely return) |
| During pause | Keep data, remove access |
| Reactivation | Auto-reactivate with 7-day advance email |
| Repeat pauses | Allow 1 pause per 12-month period |
Pause reactivation sequence:
For multi-plan products, downgrade is the strongest save:
┌─────────────────────────────────────────┐
│ Before you go, what about right-sizing │
│ your plan? │
│ │
│ Current: Pro ($49/mo) │
│ │
│ ┌─────────────────────────────────┐ │
│ │ Switch to Starter ($19/mo) │ │
│ │ │ │
│ │ ✓ Keep: Projects, integrations │ │
│ │ ✗ Lose: Advanced analytics, │ │
│ │ team features │ │
│ │ │ │
│ │ [Switch to Starter] │ │
│ └─────────────────────────────────┘ │
│ │
│ [No thanks, continue cancelling] │
└─────────────────────────────────────────┘
Downgrade best practices:
When the cancel reason is "switching to competitor":
This data is gold for product and marketing teams.
What happens after cancel matters for:
Your subscription has been cancelled.
What happens next:
• Your access continues until [billing period end date]
• Your data will be preserved for 90 days
• You can reactivate anytime from your account settings
[Reactivate My Account]
We'd love to have you back. We'll keep improving based on feedback
from customers like you.
| Timing | Action |
|---|---|
| Immediately | Confirmation email with access end date |
| Day 1 | (Nothing — don't be desperate) |
| Day 7 | NPS/satisfaction survey about overall experience |
| Day 30 | "What's new" email with recent improvements |
| Day 60 | Address their specific cancel reason if resolved |
| Day 90 | Final win-back with special offer |
For detailed win-back email sequences: See the email-sequence skill.
The most effective cancel flows use segmentation to show different offers to different customers.
| Dimension | Why It Matters |
|---|---|
| Plan / MRR | Higher-value customers get personal outreach |
| Tenure | Long-term customers get more generous offers |
| Usage level | High-usage customers get different messaging than dormant ones |
| Billing interval | Monthly vs. annual need different approaches |
| Previous saves | Don't re-offer the same discount to a repeat canceller |
| Cancel reason | Drives which offer to show (core mapping) |
New customer (< 30 days):
Engaged customer cancelling on price:
Dormant customer (no login 30+ days):
Power user switching to competitor: