Retention Analysis
Track how users return over time with cohort-based retention analysis. Understand long-term engagement and identify drop-off patterns.
Overview
Retention analysis measures how many users from a specific cohort return to your app over subsequent time periods. This is critical for understanding product stickiness, user engagement, and the long-term value of your acquisition channels.
Key Concepts
Cohorts
A cohort is a group of users who performed a specific action during a defined time period. For example, "users who signed up in December 2025" or "users who made their first purchase last week."
Retention Periods
Time intervals after the cohort period where you measure if users returned. Serla tracks retention across 10 periods by default.
Granularity
The time unit for cohort definition and retention tracking:
- Daily: Track day-by-day retention (Day 0, Day 1, Day 2, ...)
- Weekly: Track week-by-week retention (Week 0, Week 1, Week 2, ...)
- Monthly: Track month-by-month retention (Month 0, Month 1, ...)
Creating a Cohort
Via UI
- Navigate to Retention Analysis in the sidebar
- Click Create Cohort
- Enter a cohort name (e.g., "December 2025 Signups")
- Add an optional description
- Select the defining event (e.g., "signup", "first_purchase")
- Choose start and end dates for the cohort period
- Select retention granularity (daily, weekly, or monthly)
- Click Create Cohort
The cohort size (number of unique users) is calculated automatically based on users who triggered the event during the specified period.
Via API
POST /api/cohorts
{
"projectId": "your-project-id",
"name": "December 2025 Signups",
"description": "Users who signed up in December",
"eventName": "signup",
"startDate": "2025-12-01T00:00:00Z",
"endDate": "2025-12-31T23:59:59Z",
"granularity": "week"
}
Response:
{
"cohort": {
"id": "cohort_123",
"name": "December 2025 Signups",
"eventName": "signup",
"size": 1247,
"granularity": "week",
"startDate": "2025-12-01T00:00:00Z",
"endDate": "2025-12-31T23:59:59Z",
"createdAt": "2025-12-05T..."
}
}Viewing Retention Data
Retention Heatmap
The heatmap shows retention percentages across periods. Darker colors indicate higher retention. Hover over cells to see exact numbers.
Period Breakdown
- Period 0: The cohort definition period (always 100%)
- Period 1: First period after cohort period (e.g., next day/week/month)
- Period 2-9: Subsequent periods
Reading the Data
Each cell shows:
- Percentage: % of cohort that returned
- Count: Absolute number of users who returned
Example: "45.2%" in Week 1 means 45.2% of the original cohort returned during Week 1.
API Reference
List Cohorts
GET /api/cohorts?projectId={projectId}
Response:
{
"cohorts": [
{
"id": "cohort_123",
"name": "December 2025 Signups",
"eventName": "signup",
"size": 1247,
"granularity": "week",
"startDate": "2025-12-01T00:00:00Z",
"endDate": "2025-12-31T23:59:59Z",
"createdAt": "2025-12-05T..."
}
]
}Get Retention Data
GET /api/cohorts/{cohortId}/retention
Response:
{
"cohort": {
"id": "cohort_123",
"name": "December 2025 Signups",
"eventName": "signup",
"size": 1247,
"granularity": "week"
},
"retention": [
{
"period": 0,
"returned": 1247,
"percentage": 100.00
},
{
"period": 1,
"returned": 564,
"percentage": 45.23
},
{
"period": 2,
"returned": 387,
"percentage": 31.04
}
]
}Delete Cohort
DELETE /api/cohorts/{cohortId}Interpreting Retention Curves
Healthy Retention
Good retention curves flatten out after an initial drop. This indicates that while some users churn early, a stable core group continues using your product.
Example curve: 100% → 60% → 45% → 40% → 38% → 37% (stabilizes around 35-40%)
Poor Retention
Continuous steep decline across all periods suggests fundamental product issues or mismatched user expectations.
Example curve: 100% → 40% → 20% → 10% → 5% → 2% (rapid ongoing decline)
Improving Retention
An upward trend in later periods indicates that retention efforts are working. This can happen after onboarding improvements or feature launches.
Example curve: 100% → 50% → 45% → 48% → 52% → 55% (recovery and growth)
Use Cases
Product Changes
Compare cohorts before and after product changes to measure impact on retention. Create separate cohorts for pre-launch and post-launch periods.
Channel Performance
Track retention for users from different acquisition channels by using UTM-tagged events as cohort definitions.
Feature Adoption
Measure how many users who tried a new feature continue using it over time. Use the feature's first-use event as the cohort trigger.
Subscription Tracking
Monitor how many subscribers renew or continue their subscription across billing periods.
Best Practices
Cohort Definition
- Use activation events, not just signups (e.g., "completed_onboarding")
- Keep cohort periods consistent (all weekly or all monthly)
- Define cohorts large enough for statistical significance (100+ users)
- Document why each cohort was created
Granularity Selection
- Daily: For high-frequency apps (social, messaging, games)
- Weekly: For moderate-frequency apps (productivity, SaaS)
- Monthly: For low-frequency apps (finance, utilities)
Analysis Tips
- Look for the "flattening point" where retention stabilizes
- Compare multiple cohorts to identify trends
- Segment cohorts by attributes (country, source, plan) for deeper insights
- Track retention for critical events beyond signups
Action Items
- If Period 1 retention is low, focus on onboarding
- If retention never flattens, investigate core value proposition
- If certain cohorts retain better, identify what makes them different
- Set retention targets and monitor cohorts against them
Benchmarks
SaaS Products
- Day 1: 40-60%
- Week 1: 25-40%
- Month 1: 15-25%
Consumer Apps
- Day 1: 30-40%
- Week 1: 15-25%
- Month 1: 8-15%
E-commerce
- Week 1: 20-30%
- Month 1: 10-20%
- Month 3: 5-15%
These are general benchmarks. Your target retention depends on your product category, pricing, and market position.