| name | subscription-lifecycle |
| description | When the user wants to optimize their subscription business end-to-end โ from trial start through renewal, cancellation, and win-back. Use when the user mentions "subscription lifecycle", "trial conversion", "churn", "cancellation", "win-back", "lapsed subscribers", "dunning", "billing retry", "grace period", "renewal rate", "subscriber LTV", or "resubscribe". For paywall design and pricing strategy, see monetization-strategy. For subscription analytics dashboards, see app-analytics. |
| metadata | {"version":"1.0.0"} |
Subscription Lifecycle
You optimize every stage of the subscription journey: trial โ paid โ renewal โ cancellation recovery โ win-back.
The Subscription Lifecycle
Install โ Trial start โ [Trial period] โ Conversion โ Renewal โ ... โ Cancel โ Win-back
โ โ โ โ
No convert Voluntary Involuntary Lapsed
(nurture) (exit survey) (dunning) (campaign)
Key Metrics at Each Stage
| Stage | Metric | Formula | Benchmark |
|---|
| Trial | Trial start rate | Trials / Downloads | > 20% |
| Trial | Trial-to-paid | Conversions / Trials | 25โ40% strong |
| Retention | Month 1 renewal | M1 renewals / Subscribers | > 70% |
| Retention | Month 6 renewal | M6 renewals / Subscribers | > 50% |
| Churn | Monthly churn | Lost subs / Start subs | < 5% good; < 2% excellent |
| Revenue | MRR | Active subs ร monthly price | โ |
| Revenue | LTV | ARPU / Monthly churn rate | โ |
| Recovery | Dunning recovery | Recovered / Failed payments | > 30% |
| Win-back | Resubscribe rate | Returns / Lapsed | 5โ15% |
Stage 1 โ Trial Optimization
Trial Length
| App Type | Recommended trial | Notes |
|---|
| Simple utility | 3โ7 days | Value obvious quickly |
| Health/fitness | 7โ14 days | Habit formation needs time |
| Productivity | 7โ14 days | Workflow integration |
| Education | 7โ14 days | First lesson completion |
| Entertainment | 7 days | Binge behavior |
Test: Monthly apps with a 7-day trial vs. 14-day trial โ conversion rate may drop slightly but LTV often increases.
Trial Nurture Sequence
Send in-app (or push) messages during the trial to drive activation:
Day 0: Welcome โ "Your trial has started. Here's how to get the most from it."
Day 1: Core feature highlight โ "Try [key feature] today"
Day 3: Progress / social proof โ "Users who do X get 3ร better results"
Day 5 (7-day trial): Urgency โ "2 days left in your trial"
Day 6: Value recap โ "Here's what you've done / could do with premium"
Day 7: Last day โ "Your trial ends today"
Rule: Messages should show value, not just create pressure.
Trial End โ Conversion Moment
At trial end, show a paywall that:
- Recaps what the user achieved during the trial
- Shows the most-used premium features
- Offers 3 plan options (monthly / annual / lifetime if applicable)
- Highlights savings on annual ("Save 40%")
See monetization-strategy for paywall design details.
Stage 2 โ Reducing Voluntary Churn
Why Users Cancel (and How to Fix It)
| Reason | Signal | Fix |
|---|
| Forgot they subscribed | Low sessions, no activation | Improve onboarding + notification strategy |
| Not enough value | Low feature usage | Push underused high-value features |
| Too expensive | Price sensitivity | Introduce lower-tier or pause option |
| Problem with app | 1-star reviews | Fix the bug, reply to reviews |
| Found alternative | โ | Monitor competitor installs |
| Seasonal use | Churns at same time yearly | Offer a pause option |
The Cancellation Flow
When a user initiates cancellation (iOS โ ManagedSubscriptionGroup):
- Offer a pause before full cancel: "Pause for 1โ3 months instead of cancelling"
- Show value recap: "You've used [feature] X times this month"
- Offer a discount: Only as last resort โ 20โ30% off for 3 months
- Exit survey: Always ask "Why are you cancelling?" (1 tap, not an essay)
Cancellation exit survey options:
- Too expensive
- Not using it enough
- Missing a feature I need
- Switching to a competitor
- Technical issues
- Just taking a break
Engagement Signals to Watch
Users at high churn risk:
- Sessions < 1 per week (down from higher baseline)
- Core feature not used in 14+ days
- Push notifications disabled
- Last session > 7 days ago
Trigger a re-engagement push or in-app message before they cancel.
Stage 3 โ Involuntary Churn (Failed Payments)
Involuntary churn accounts for 20โ40% of all subscription cancellations.
Dunning Strategy
| Day | Action |
|---|
| 0 | Payment fails silently โ Apple/Google retry |
| 3 | Apple/Google retry #2 |
| 7 | Apple/Google retry #3 โ show in-app "Update payment method" banner |
| 10 | Send push: "Your subscription couldn't be renewed โ tap to update" |
| 14 | Grace period ends โ subscription suspended |
| 15 | Final in-app message: "Reactivate to keep access" |
Grace period:
- iOS: 6 days (configurable up to 16 in App Store Connect)
- Android: 3 days (configurable)
Maximize grace period length โ every extra day recovers more subscribers.
RevenueCat Integration
RevenueCat handles dunning automatically. Key settings:
- Enable Billing Retry (iOS) / Account Hold (Android)
- Configure grace period to maximum allowed
- Use RevenueCat webhooks to trigger in-app messaging at each failure event
See revenuecat.md integration guide.
Stage 4 โ Win-Back Campaigns
Target lapsed subscribers (cancelled or expired in last 30โ90 days).
Win-Back Offer Ladder
Start with the softest offer; escalate only if no response:
Week 1 after lapse: "We miss you" โ highlight new features added since they left
Week 3: "Come back for 30% off your first month back"
Week 6: "3 months at 50% off โ best offer we'll make"
Week 12+: Archive โ low conversion probability
Win-Back Channels
| Channel | How |
|---|
| Push notification | In-app if app still installed |
| Email | If email was collected |
| Apple Win-Back Offer | Native iOS win-back offer in StoreKit 2 |
| Paid retargeting | Meta/Google retargeting to lapsed subscriber list |
StoreKit 2 Win-Back Offers (iOS 18+)
Apple natively supports win-back subscription offers for lapsed subscribers:
- Set up in App Store Connect โ Subscriptions โ Win-Back Offers
- Presented automatically in the App Store to eligible lapsed users
- No additional code needed beyond StoreKit 2 integration
Output Format
Subscription Health Report
Lifecycle Metrics ([period]):
Trial start rate: [X]% (benchmark: >20%)
Trial conversion: [X]% (benchmark: 25-40%)
M1 renewal: [X]% (benchmark: >70%)
Monthly churn: [X]% (benchmark: <5%)
Dunning recovery: [X]% (benchmark: >30%)
Win-back rate: [X]% (benchmark: 5-15%)
LTV (estimated): $[N]
MRR: $[N]
Top issues:
1. [Stage] โ [metric] is [X]% vs benchmark [Y]% โ [recommended fix]
2. [Stage] โ [metric] is [X]% vs benchmark [Y]% โ [recommended fix]
Priority action:
[Single highest-leverage change to implement this week]
Related Skills
monetization-strategy โ Paywall design, pricing tiers, trial setup
retention-optimization โ Engagement strategy to reduce voluntary churn
app-analytics โ Track the metrics above with Firebase + RevenueCat
onboarding-optimization โ Fix early-stage drop-off that prevents trial starts
rating-prompt-strategy โ Satisfied subscribers are your best raters