Retention rate answers a simple question: what percentage of users come back? If you launched a feature and 60% of users return after a week, you've got stickiness. If only 15% return, something is broken. Amplitude's Retention Report shows you exactly what that percentage is, without manual calculations.
What Retention Rate Actually Measures
Retention rate is the percentage of users who performed an action on or after day N, having done that same (or similar) action on day 0. It answers whether your product keeps users engaged.
Define the cohort event (day 0)
Your cohort is the group of users who took an action on day 0. This is usually Sign Up, First App Open, or Free Trial Started. Every user in the cohort took this event on the same calendar day.
// Track signup event to form your cohort
amplitude.track('User Signed Up', {
signupSource: 'organic',
email: user.email,
timestamp: Date.now()
});Define the retention event
The retention event is what counts as a 'return visit.' Usually App Opened or Session Started. Amplitude counts users if they triggered this event on day 1, day 7, day 30, etc. If they don't trigger it, they're marked as churned.
Calculate the percentage
Retention rate = (users who did retention event on day N) / (total users in cohort) × 100. If you had 1,000 signups on day 0 and 400 opened the app on day 7, your D7 retention is 40%.
Understand what it tells you
High D7 retention (40%+) suggests your onboarding is working and users see value fast. Low retention (below 20%) is a red flag: either your target audience isn't right, the core product isn't compelling, or the onboarding isn't clear enough to drive that first return visit.
How to Measure Retention in Amplitude
Amplitude's Retention Report automates the entire calculation. You pick the cohort event and retention event; Amplitude builds the matrix.
Navigate to the Retention Report
In Amplitude, go to Analytics > Retention. This is the dedicated tool for measuring user returns. You'll see three retention types: N-Day (strict 24-hour windows), Unbounded (on or after day N), and Range (custom date windows).
Set cohort and retention events
Click Cohort Event and choose the event marking day 0 (e.g., User Signed Up). Click Retention Event and choose the return behavior (e.g., App Opened). Leave them the same if you're measuring 'any return'; make them different if you're measuring a specific feature adoption.
// If measuring feature-specific retention, track distinct events
amplitude.track('User Signed Up', { source: 'email' });
// Later, track the feature use
amplitude.track('Report Exported', {
reportId: '12345',
fileFormat: 'pdf',
userId: user.id
});Add segments (optional)
Click Add Filter to compare retention across user groups. Filter by Country, Plan, Signup Source, or any custom property. You might find that enterprise users retain at 60% but free users at 25%—a critical insight for growth strategy.
Read the matrix
Amplitude displays a table with days (1, 7, 14, 30+) as columns and users per cohort as rows. Each cell is a percentage. The N column on the left shows cohort size. If D7 shows 40%, that means 40% of your day 0 users returned on day 7+.
Practical Example: D7 and D30 Retention
Here's a real scenario to put this into practice.
Run a retention query for new free users
In Retention, set Cohort Event to User Signed Up, filter to Plan = Free. Set Retention Event to App Opened. Pick Unbounded retention. Run the report for the last 30 days. You'll see what percentage of free-tier signups from each day came back on day 7, day 14, day 30.
Compare retention by segment
Duplicate the report and filter by Plan = Enterprise. If enterprise retention is 70% at D7 but free is 20%, you've found a conversion lever: enterprise features drive stickiness, or enterprise customers need more support. This insight drives product decisions.
Export and monitor over time
Download the retention matrix as CSV. Compare your D7 retention month-over-month. If it dropped from 35% to 28% after your UI redesign, the redesign broke something. If it jumped to 42%, you nailed it.
// Fetch retention data programmatically via Amplitude API
const fetch = require('node-fetch');
const response = await fetch('https://api.amplitude.com/2/retention', {
method: 'POST',
headers: {
'Authorization': `Bearer ${API_KEY}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
start_date: '20240301',
end_date: '20240331',
cohort_event: 'User Signed Up',
retention_event: 'App Opened'
})
});
const retentionData = await response.json();
console.log(retentionData.data);Common Pitfalls
- Picking a low-signal retention event: If you use Page Viewed as retention, every analytics dashboard page counts as a 'return visit'—your retention will be artificially high and meaningless. Pick something that reflects actual value: a core feature use, a conversion, or a deliberate action.
- Ignoring cohort size: A 100% D30 retention looks great until you see the cohort had 2 users. Always check the N column. Small samples are noise—wait until you have at least 100+ users per cohort before trusting the percentage.
- Timezone misalignment: Amplitude uses UTC. If your product serves users in multiple time zones, day 0 boundaries may not match the local 'first day.' Check Settings > Organization Settings > Timezone and adjust if needed.
- Confusing D0 retention with D1: D0 shows same-day returns; D1 is 24 hours later. D1 is the meaningful metric for most products. D0 is only useful for all-day engagement (e.g., web apps users might check multiple times per day).
Wrapping Up
Retention rate is the percentage of users who return after day 0. Amplitude's Retention Report calculates it for you: set the cohort event (usually signup), pick the retention event (usually app open), and read the matrix. Your D7 and D30 retention are leading indicators of product-market fit. If retention is dropping, it's a warning to dig into onboarding, feature adoption, or product satisfaction. If you want to track retention automatically across Amplitude, Mixpanel, PostHog, and Stripe—and benchmark your retention against competitors in your niche—Product Analyst can help.