All examples for SaaS Churn Analysis Framework

Stripe-Only Data: Understanding Unknown Churn

A SaaS founder with basic Stripe data who doesn't understand why customers are leaving. Demonstrates exit survey design, churn categorization, payment failure recovery, and implementation planning for limited-data situations.

Input

What you provide to the skill

Our SaaS is at $3K MRR with 50 customers. We have 6% monthly churn and access to Stripe data only. We don’t know why people are leaving.

Output

What the skill generates for you

CHURN ANALYSIS FRAMEWORK

SITUATION ASSESSMENT

Your Current State:

  • MRR: $3,000
  • Customers: 50
  • Monthly Churn Rate: 6%
  • Churned customers last month: 3 customers (50 × 6% = 3)
  • Data Available: Stripe only
  • Current Knowledge: “We don’t know why people are leaving”

Your 6% churn rate vs. industry benchmark:

  • B2C SaaS acceptable: 3-5%
  • B2B SaaS acceptable: 1-2%
  • Your rate: MODERATELY HIGH - Above acceptable range, indicates value delivery or product-market fit needs attention

Impact of current churn:

  • Losing 3 customers/month at $60 average = ~$180 MRR lost monthly
  • Annualized: $2,160 MRR erosion
  • This is 72% of your annual MRR growth potential

STEP 1: CHURN SEGMENTATION

First priority: Categorize your churned customers

Go into Stripe and review your last 3 churned customers (and ideally the previous 3-6 months for pattern visibility):

Voluntary Churn (customer chose to leave):

  • Clicked “Cancel subscription” in your app
  • Emailed requesting cancellation
  • Actively chose to stop service

Involuntary Churn (payment failure):

  • Failed payment with no successful retry
  • Expired card not updated
  • Insufficient funds
  • Bank declined transaction

Action: Create a simple spreadsheet with last 3 months of churned customers:

Month Customer ID Churn Type Days Active Plan/MRR Notes
Dec cus_abc123 Voluntary 45 $60 Cancelled via dashboard
Dec cus_def456 Involuntary 120 $60 Card expired
Dec cus_ghi789 Voluntary 15 $60 Email cancellation

Expected breakdown:

  • If >50% involuntary: Payment recovery is your highest ROI fix
  • If >50% voluntary: Exit surveys and behavioral analysis needed
  • Mixed (40-60%): Implement both approaches

STEP 2: EXIT SURVEY FRAMEWORK

Since you only have Stripe data, exit surveys are your primary research tool.

Immediate Action: Survey Recent Churns

Send this email to your 3 most recent voluntary churned customers TODAY:

Subject: Quick question about your experience with [Product Name]
Hi [Name],
I noticed you cancelled your [Product Name] subscription. As the founder, I'd really appreciate understanding what happened - it genuinely helps me build a better product.
Would you mind sharing why you decided to cancel? Just reply to this email.
Common reasons others have shared:
- Not using it enough
- Found an alternative
- Too expensive for the value
- Missing features I needed
- Technical issues
Thanks for even considering it,
[Your name]
[Your founder title]

Key elements:

  • Personal from line (your name, not “support@”)
  • Send within 24 hours of cancellation
  • Solo founder angle (builds empathy)
  • Multiple choice options (reduces friction)
  • Easy reply mechanism

Expected response rate:

  • 30-40% with personal email (1-2 responses from 3 churns)
  • Even 1 detailed response provides valuable signal
  • Patterns emerge with 3-5 total responses

Response Analysis Framework

When replies come in, categorize into these buckets:

1. VALUE MISMATCH

  • Signals: “Didn’t do what I expected” / “Not the right fit” / “Thought it would be different”
  • Root cause: Messaging/positioning doesn’t match product reality
  • Action: Review marketing copy, update to match actual use cases

2. PRICE SENSITIVITY

  • Signals: “Too expensive” / “Can’t justify the cost” / “Budget cuts”
  • Root cause: Price-value ratio misaligned
  • Action: Consider cheaper tier, annual discount, or usage-based pricing

3. ALTERNATIVE FOUND

  • Signals: “Switched to [competitor]” / “Using free alternative”
  • Root cause: Competitive disadvantage
  • Action: Feature gap analysis, roadmap reprioritization

4. FEATURE GAPS

  • Signals: “Missing [specific feature]” / “Needs [capability]”
  • Root cause: Product incomplete for use case
  • Action: Tally feature requests, prioritize top 1-2 for roadmap

5. ENGAGEMENT FAILURE

  • Signals: “Forgot about it” / “Didn’t use it enough” / “Too busy”
  • Root cause: Failed to form habit, poor activation
  • Action: Onboarding improvements, re-engagement emails

STEP 3: PAYMENT FAILURE RECOVERY

Even without knowing your voluntary/involuntary split, optimize dunning - it’s pure upside.

Stripe Dunning Optimization

Step 1: Enable Stripe Smart Retries

  1. Go to Stripe Dashboard
  2. Settings → Billing → Subscriptions and emails
  3. Toggle ON “Smart Retries”

Step 2: Customize Dunning Emails

EMAIL 1: Day 0 (Immediate after failure)

Subject: Payment issue with your [Product Name] account
Hi [Name],
We tried to charge your card for [Product Name] but the payment didn't go through.
To keep your account active, update your payment method here:
[Secure Stripe Link]
Your account will stay active for 7 days while we sort this out.
Thanks,
[Your name]

EMAIL 2: Day 3

Subject: Quick reminder - payment method needs updating
Hey [Name],
Just a quick reminder that we still can't process your [Product Name] payment.
Update your card here: [Link]
It takes 30 seconds and keeps your account active.
Thanks,
[Your name]

EMAIL 3: Day 5 (More urgent)

Subject: [Name], your account will be paused in 3 days
Hi [Name],
Your payment method still isn't working, and your [Product Name] account will be paused in 3 days.
If your card expired, update it here: [Link]
If something else is going on - budget concerns, not using the product enough - let me know. I'd rather work something out than lose you.
[Your name]

EMAIL 4: Day 7 (Final warning)

Subject: Final reminder - your account will be paused tomorrow
[Name],
Tomorrow your [Product Name] account will be paused and you'll lose access to:
- [Key feature/data they'd lose]
- [Important benefit/saved work]
Update your payment now: [Link]
If you want to cancel intentionally, that's completely fine - but if this is just a card issue, don't let that be the reason you lose access.
[Your name]

Expected recovery rate improvement:

  • Default Stripe dunning: 15-20%
  • Optimized dunning: 40-60%
  • Additional customers saved: 0.3-0.5/month
  • Additional MRR saved: $18-30/month = $216-360/year

STEP 4: TRACKING DASHBOARD

Minimum Viable Dashboard (Google Sheets):

Tab 1: Monthly Churn Tracking

Month Total Customers Churned Churn Rate Voluntary Involuntary Top Reason Notes
Jan 50 3 6.0% ? ? Unknown Starting point
Feb 48 2 4.2% 1 1 “Too expensive” First survey data

Tab 2: Payment Recovery Tracking

Month Failed Payments Recovered Recovery Rate MRR Saved
Jan 4 1 25% $60
Feb 3 2 67% $120

Tab 3: Exit Survey Responses

Date Customer Churn Reason Category Verbatim Quote Action Taken
1/15 cus_abc Price Sensitivity “Too expensive for what I use” Consider cheaper tier

STEP 5: IMPLEMENTATION CHECKLIST

Week 1: Data Foundation

  • Export Stripe churned customers (last 3-6 months)
  • Categorize churn: voluntary vs. involuntary
  • Calculate current split percentages
  • Send exit survey emails to 3 most recent voluntary churns
  • Set up tracking spreadsheet with template above

Week 2: Survey & Dunning Setup

  • Review any exit survey responses received
  • Identify initial churn reason patterns
  • Write 4 customized dunning emails using templates above
  • Enable Stripe Smart Retries in dashboard
  • Choose dunning automation tool (Zapier/Stunning/DIY)

Week 3: Automation Implementation

  • Set up automated exit survey (Stripe webhook → email on cancellation)
  • Implement dunning email sequence (Days 0, 3, 5, 7)
  • Test dunning flow with Stripe test mode
  • Schedule weekly 30-minute churn review with yourself

EXPECTED OUTCOMES

60-Day Results:

What you’ll know:

  • Voluntary vs. involuntary churn breakdown
  • Top 1-2 reasons customers leave (from surveys)
  • Dunning email recovery rate baseline

Quantified impact:

  • Involuntary churn reduction: 15-20% → 40-60% recovery rate
  • MRR impact: +$18-30/month saved
  • Total churn trajectory: 6% → 4.5-5.5% monthly
  • Annualized MRR saved: $360-1,080

ROI calculation:

  • Time invested: ~12-15 hours over 3 months
  • MRR saved: $360-1,080 annually
  • Hourly ROI: $24-72/hour of effort

START TODAY:

  1. Send exit survey to your 3 most recent churns
  2. Enable Stripe Smart Retries (5 minutes)
  3. Set up tracking spreadsheet

Even 1 survey response gives you direction. 2-3 responses reveal patterns.