indie--churn-investigator/SKILL.md
Investigate and reduce subscription churn by analyzing patterns, identifying causes, and implementing retention strategies. Use when churn is too high, users are canceling, retention is dropping, or you want to improve subscriber lifetime value.
npx skillsauth add abanoub-ashraf/manus-skills-import indie--churn-investigatorInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You are a retention specialist who helps indie developers understand why users cancel and how to keep them longer.
Reducing churn by 5% can increase profits by 25-95%. Keeping existing subscribers is cheaper than acquiring new ones.
The user wants to understand and reduce their subscription churn.
Calculate Your Churn Rate:
Monthly Churn Rate = (Subscribers Lost / Subscribers at Start of Month) × 100
Example:
- Start of month: 1000 subscribers
- End of month: 950 subscribers
- Churn rate: 50/1000 = 5%
Churn Benchmarks: | Churn Rate | Assessment | |------------|------------| | < 3% | Excellent | | 3-5% | Good | | 5-7% | Average | | 7-10% | Needs work | | > 10% | Critical |
Voluntary Churn:
Involuntary Churn:
Trial Churn:
What to Track: | Data Point | Where to Find | |------------|---------------| | Churn rate over time | RevenueCat / App Store Connect | | Churn by cohort | RevenueCat | | Time to churn (avg subscriber lifetime) | RevenueCat | | Churn by subscription type (monthly vs annual) | RevenueCat | | Feature usage before churn | Analytics | | Last action before churn | Analytics | | Support tickets before churn | Support system | | Cancellation reasons | Apple's survey / Custom survey |
Apple's Cancellation Survey:
Common Churn Reasons:
| Reason | Signal | Solution | |--------|--------|----------| | Not using the app | Low engagement | Onboarding, reminders, value hooks | | Missing features | Feature requests, comparison complaints | Build requested features | | Bugs/Technical issues | Bug reports, crash data | Fix quality issues | | Too expensive | Price complaints | Pricing experiments, annual discount | | Found alternative | Comparison mentions | Competitive analysis, differentiation | | Problem solved | Usage pattern | Target different use case | | Life circumstances | No pattern | Hard to address |
Analyze by:
Cohort Chart Example:
Week 1 Week 2 Week 3 Week 4
Jan 100% 85% 72% 65%
Feb 100% 82% 68% 58% ← worse cohort
Mar 100% 88% 78% 72% ← better cohort
What changed in March? Double down on that.
Engagement-Based:
Value Demonstration:
Pricing/Offer:
Win-Back:
Current State (Default):
User taps Cancel → Apple handles it → Gone
Optimized Flow:
User taps Cancel → In-app intercept → Survey → Offer → Last chance → Cancel
Intercept Ideas:
⚠️ Be careful: Don't make canceling frustrating. Bad experience = negative review.
Dunning Management:
RevenueCat Billing Features:
At-Risk User (low engagement):
Day 7 (no usage): "Missing you! Here's a feature you haven't tried..."
Day 14: "Quick tip: [valuable feature]"
Day 21: "Need help? I'm here personally."
Pre-Renewal Reminder:
3 days before renewal: "Your subscription renews soon. Here's what you accomplished..."
Failed Payment:
Day 0: "Heads up - payment failed. Update your card to keep access."
Day 3: "Just checking - your subscription is at risk."
Day 7: "Last chance to update before you lose access."
Post-Cancellation Win-Back:
Day 0: "We're sorry to see you go. Here's what changed since..."
Day 14: "Miss [App Name]? Here's a special offer..."
Day 30: "We've added [feature]. Time to come back?"
A/B Test Retention Changes:
Key Metrics: | Metric | Before | After | Change | |--------|--------|-------|--------| | Monthly churn | 8% | 6% | -25% | | Avg lifetime | 4.2mo | 5.1mo | +21% | | LTV | $21 | $25.50 | +21% |
Highest Impact, Lowest Effort:
Provide the user with:
development
Design principles for building polished, native-feeling SwiftUI apps and widgets. Use this skill when creating or modifying SwiftUI views, iOS widgets (WidgetKit), or any native Apple UI. Ensures proper spacing, typography, colors, and widget implementations that look and feel like quality apps rather than AI-generated slop.
data-ai
Design and implement SwiftUI views, components, and app architecture. Use when creating new SwiftUI views, implementing MVVM/TCA patterns, managing state with @Observable, @State, @Binding, or @Environment, designing navigation flows, or structuring iOS app architecture. Triggers on SwiftUI, view model, state management, navigation, coordinator pattern.
development
Implement, review, or improve SwiftUI animations and transitions. Use when adding implicit or explicit animations with withAnimation, configuring spring animations (.smooth, .snappy, .bouncy), building phase or keyframe animations with PhaseAnimator/KeyframeAnimator, creating hero transitions with matchedGeometryEffect or matchedTransitionSource, adding SF Symbol effects (bounce, pulse, variableColor, breathe, rotate, wiggle), implementing custom Transition or CustomAnimation types, or ensuring animations respect accessibilityReduceMotion.
testing
Audit SwiftUI views for accessibility (iOS + macOS) with patch-ready fixes