Introduction
Churn prediction is the difference between being reactive (losing users and wondering why) and proactive (identifying at-risk users and saving them). By analyzing product behavior patterns, you can predict which users are likely to churn 14, 30, or 60 days before they leave—giving your team time to intervene.
This guide covers how to identify behavioral signals, build churn prediction models, and activate interventions like win-back campaigns and personalized re-engagement.
What Is Churn & Why Predict It
Churn is when a user stops using your app or cancels their subscription. Churn rate (% of users lost per period) is the lagging indicator; churn prediction (identifying at-risk users before they leave) is the leading indicator.
Why churn prediction matters:
- Saves high-value users before they leave (LTV impact: huge)
- Identifies product gaps (cohorts churning at same point = feature problem)
- Enables targeted in-app engagement campaigns (only target at-risk users, don't spam everyone)
- Measures intervention effectiveness (win-back campaign reduced churn by X%)
Behavioral Signals: Red Flags of Churn
These are the top leading indicators that a user is at-risk:
- Declining session frequency: Used to log in 3×/week, now 1×/week or less
- Reduced feature adoption: Stopped using your core feature (for a fintech app: stopped checking portfolio)
- Time since last action: No activity for 14+ days (strong churn signal)
- Narrowing feature usage: Only using 1 feature instead of the usual 4+
- Support tickets or complaints: Negative feedback is a churn precursor
- Engagement score decline: Custom metric combining session length, actions per session, features used
- Onboarding incompleteness: New users who never complete key onboarding steps churn faster
- Payment friction: Failed payment attempts, expired card on file
Segment users by these signals: "Active users who've reduced session frequency by 50% in the last 2 weeks" is a high-risk cohort worth targeting immediately.
Machine Learning Models for Churn Prediction
There are multiple approaches to churn prediction, from simple to sophisticated:
1. Rule-Based Cohorts (Easiest, No ML Required)
Define rules like: "users with 0 sessions in 14 days OR session frequency declined by 75% in 7 days" = at-risk.
Pros: Fast to set up, interpretable, no data science needed Cons: Less accurate than ML; requires manual rule tuning
2. Logistic Regression (Interpretable ML)
Binary classification: will churn (1) or not (0). Simple, gives you feature importance (which signals matter most).
Example: "Users with session_frequency < 2/week AND time_since_last_action > 14 days have 65% churn probability."
3. Random Forest or Gradient Boosting (Higher Accuracy)
Captures non-linear patterns. E.g., "users with declining feature adoption PLUS high support ticket count" is a stronger churn signal than either alone.
Requires more data and tuning; worth it for high-LTV user bases.
4. Time-Series Models (For Subscription Apps)
Predicts when a user will churn (not just if). Use if you need to optimize timing of interventions.
Start simple: Rule-based cohorts or logistic regression cover 80% of the value. Graduate to random forest if you have a large dataset and data science bandwidth.
How to Implement Churn Prediction
Step 1: Define Churn
For free apps: "30+ days with zero sessions" = churned. For subscription apps: "Cancelled subscription or didn't renew" = churned. For B2B: "No activity for 60+ days" = churned (longer lifecycle).
Define based on YOUR business model. Fintech apps have different churn windows than gaming apps.
Step 2: Collect Behavioral Data
In your analytics platform (Mixpanel or Amplitude), track:
- Session count per week/month
- Feature usage (which features, how often)
- Time since last action
- Custom engagement score
- Payment/subscription status
- Support metrics (tickets, sentiment)
Step 3: Build Historical Cohorts
In Amplitude or your CDP, segment users by outcome:
- Cohort A (Churned): Users who haven't used the app in 30+ days
- Cohort B (Active): Users with at least 2 sessions in the last 7 days
Analyze: what behavioral signals differ between Cohort A and Cohort B 14 days before they churned?
Step 4: Build or Train Your Model
No-code option: Use Amplitude's Amplitude Predictive Analytics to auto-generate churn scores.
DIY option: Export data to Python or R, train a logistic regression or random forest model using scikit-learn or H2O.
Platform option: Use mParticle or Segment with ML partners for pre-built models.
Step 5: Score Users & Create At-Risk Cohort
Once trained, run predictions on your active user base. Score each user 0-100 (100 = highest churn risk).
Create a cohort: "users with churn_score >= 70" and segment by risk level (high, medium, low).
Step 6: Activate Interventions
Sync the at-risk cohort to AppStorys (or your engagement platform). Launch targeted campaigns:
- High risk (score 80+): In-app offer: "We noticed you haven't visited in a while—here's 20% off your next purchase"
- Medium risk (60-79): Feature tour: "Try our new portfolio feature (you're missing out!)"
- Low risk (70-79): Regular content: "What's new in September"
Step 7: Measure Impact
Compare churn rates:
- Churn rate for users who saw the intervention: X%
- Churn rate for control group (similar risk, no intervention): Y%
- Lift = (Y - X) / Y
If lift > 0, the intervention works. Iterate on messaging and timing.
Tools & Platforms for Churn Modeling
- Amplitude (predictive analytics, churn scoring, behavioral cohorts)
- Mixpanel (retention analysis, custom cohort logic, integrates with ML platforms)
- Segment (data collection, routes to CDP/ML platforms, syncs predictions to engagement tools)
- mParticle (real-time audience syncing, predictive models)
- Python/R: scikit-learn, XGBoost, H2O (DIY ML for teams with data science bandwidth)
- Retool or Looker: Build custom churn dashboards
Case Study: From Prediction to Prevention
Scenario: Fintech app with $200 CAC, $50 LTV (8-month payback period).
Problem: 25% monthly churn. Losing $100K/month in customer value.
Solution:
- Built logistic regression model using 8 features: session_frequency, days_since_login, feature_adoption_count, support_tickets, payment_failures, portfolio_value_trend, account_age, device_type
- Model achieved 78% AUC (accuracy) on historical data
- Scored all 50K active users; 12% (6K users) were high-risk (score >= 80)
- Launched personalized interventions via AppStorys:
- In-app banner: "Your portfolio is down 5%—let's rebalance" (for low-activity users)
- Email: "Exclusive cashback offer" (for payment-friction users)
- Feature tour: "New automated investing" (for feature-adoption-lagging users)
- Result: 35% reduction in churn for at-risk cohort (25% → 16.25%). 6K saved users × $50 LTV = $300K retained value. ROI: 100x
Common Churn Prediction Mistakes
- Using the wrong definition of churn: Define based on YOUR business, not industry average. A SaaS app and a gaming app have different churn windows.
- Too few behavioral signals: Session frequency alone is weak. Combine 5-10 signals for stronger predictions.
- Ignoring feature adoption: Users who never used your core feature will churn regardless of session frequency. Include feature breadth.
- No model retraining: User behavior evolves. Retrain quarterly. Old models lose accuracy over time.
- Predicting without acting: Prediction is worthless without intervention. Build campaigns before you build the model.
- Targeting everyone equally: Don't send the same re-engagement message to all at-risk users. Segment by reason (feature adoption, payment friction, etc.) and message accordingly.
- No baseline/control: Always A/B test interventions. Without a control group, you won't know if your campaign drove the churn reduction.
Conclusion
Churn prediction shifts you from reactive (losing users) to proactive (saving users). Start with behavioral signals like session frequency and time since last action, build a simple model, and activate targeted interventions before users leave.
The best churn prediction is one you act on. Pair prediction with engagement campaigns (personalized stories, offers, re-engagement) to maximize retention impact.
Deepen Your Churn & Retention Knowledge
- Reducing App Churn: Step-by-Step Playbook — actionable tactics to lower churn rate
- Win-Back Campaigns: Reactivating Dormant Users — how to re-engage churned users
- User Lifecycle Stages: Complete Framework — understanding the full user journey
- Engagement Drop-Off Detection: Early Warning Systems — catch churn signals in real-time
- Retention Curves: Mobile vs Web Apps — how retention differs by platform
- App User Engagement Metrics That Matter — the metrics that predict retention
Ready to predict and prevent churn? AppStorys helps you activate at-risk cohorts with targeted re-engagement campaigns. Book a demo.



