> ## Documentation Index
> Fetch the complete documentation index at: https://mintlify.com/mixpanel/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Retention

> Measure engagement over time

# Retention: Measure Engagement Over Time

The Retention report measures user engagement over time, helping you understand how long users continue to come back and find value in your product. Retention is critical to achieving product-market fit and sustainable growth.

<img src="https://mintlify.s3.us-west-1.amazonaws.com/mixpanel-docs/Screen_Shot_2021-05-27_at_7.49.12_AM.png" alt="Retention Overview" />

## Use Cases

Retention helps you answer engagement questions:

### User Retention

* On average, how many users are still active after two weeks from signing up?
* What percent of users are still sending messages after seven days?
* How has my 7-day messaging retention changed over time?

### Engagement Patterns

* What percent of users sent messages in 2, 3, or 4 distinct days?
* How often do users return to the product?
* Which features drive the best retention?

### Cohort Performance

* Do newer user cohorts retain better than older ones?
* How do different acquisition channels affect retention?
* Which user segments have the highest lifetime value?

## Quick Start

Let's build a retention report to answer:

> What percent of Chrome users who sign up come back and use the product?

### Step 1: Define Retention Behavior

A Retention Behavior has two parts:

1. **Birth Event** - When users first do something ("Sign Up Completed")
2. **Return Event** - When they come back and do something ("Any Event")

<img src="https://mintlify.s3.us-west-1.amazonaws.com/mixpanel-docs/retention_beta_1.png" alt="Retention Behavior" />

<Note>
  You can save retention behaviors and reuse them across reports. Learn more about [Saved Metrics and Behaviors](/docs/features/saved-metrics-and-behaviors).
</Note>

### Step 2: Choose Measurement

By default, retention measures the retention rate (percentage of users retained).

<img src="https://mintlify.s3.us-west-1.amazonaws.com/mixpanel-docs/Updated_retention_measurements.png" alt="Retention Measurements" />

**Available Measurements:**

* **Retention Rate** - Percentage retained within window
* **Unique Users** - Absolute number retained
* **Property Sum** - Total property value (e.g., total watch time)
* **Property Average** - Average property value per user

### Step 3: Add Filters

Filter to Chrome browser users:

<img src="https://mintlify.s3.us-west-1.amazonaws.com/mixpanel-docs/Retention_Filter.png" alt="Retention Filters" />

### Step 4: Apply Breakdowns

Break down by "Browser Version" to compare retention across versions:

<img src="https://mintlify.s3.us-west-1.amazonaws.com/mixpanel-docs/Retention_Breakdown.png" alt="Retention Breakdowns" />

### Step 5: Choose Visualization

<img src="https://mintlify.s3.us-west-1.amazonaws.com/mixpanel-docs/retention_beta_5.png" alt="Retention Visualizations" />

**Chart Options:**

* **Retention Curve** - See how cohorts retain over time
* **Line Chart** - Track retention trends
* **Metric** - Summary retention number

## Retention Curve

The retention curve shows retention data as both a line chart and heat map:

<img src="https://mintlify.s3.us-west-1.amazonaws.com/mixpanel-docs/Screen_Shot_2021-05-27_at_7.49.12_AM.png" alt="Retention Curve" />

**Key Elements:**

**Date Column**

* When users performed the birth event
* Users grouped by day/week/month

**Size Column**

* Number of users in that cohort
* Users who did birth event in that period

**Retention Columns**

* Each column is a time bucket (Day 1, Day 7, etc.)
* Shows percentage or count retained
* Color intensity indicates retention level

**Incomplete Buckets**

* Asterisk (\*) indicates data still in flux
* Time period hasn't fully elapsed
* Hover to see when bucket completes

<Note>
  **Color Mapping**: Shading is relative to each cohort row. Darker purple indicates higher retention within that cohort.
</Note>

## Line Chart View

Track how retention metrics change over time:

<img src="https://mintlify.s3.us-west-1.amazonaws.com/mixpanel-docs/Retention_Trend.png" alt="Retention Trend" />

**Use Cases:**

* See if retention is improving
* Compare different time buckets (Day 1 vs Day 7)
* Measure impact of product changes
* Track seasonal patterns

## Retention Criteria

Control how retention is calculated:

<img src="https://mintlify.s3.us-west-1.amazonaws.com/mixpanel-docs/Updated_retention_criteria.png" alt="Retention Criteria" />

### On or After (Default)

Users retained if they return **on or after** the specified time:

* Day 7: Returned on Day 7 or any day after
* Best for most products
* Measures overall retention
* Opposite of churn

**Example:**

* User signs up on Jan 1
* Returns on Jan 10
* Counted as retained for Day 7, 8, 9, and 10

### On

Users retained only if they return **exactly on** the specified time:

* Day 7: Returned exactly on Day 7
* Best for usage pattern analysis
* Required for calendar-based retention
* Useful for products requiring regular use

**Example:**

* User signs up on Jan 1
* Returns on Jan 8 (Day 7)
* Counted as retained only for Day 7

### On or Before

Measures cumulative activity from birth through specified time:

* Best with Property Sum or Average
* Tracks lifetime value (LTV)
* Measures total engagement

**Example Use Cases:**

* 30-day LTV: Total revenue in first 30 days
* 7-day engagement: Total events in first week
* 90-day ARPU: Average revenue per user

### Streak Mode

Counts consecutive actions across time intervals:

**Example Use Cases:**

* Played game for 5 consecutive days
* Visited app for 7 days straight
* Logged in for 30 consecutive days

<Note>
  If birth and return events are the same, the birth event counts toward the streak.
</Note>

## Time Intervals

Choose how to bucket time:

**Day**

* Best for high-frequency products
* Daily engagement products
* Fast iteration cycles

**Week**

* Best for moderate-frequency products
* Weekly usage patterns
* Longer iteration cycles

**Month**

* Best for low-frequency products
* Monthly usage patterns
* Long consideration cycles

## Custom Retention Brackets

Create custom time intervals for specialized analysis:

<img src="https://mintlify.s3.us-west-1.amazonaws.com/mixpanel-docs/Retention_7_30.png" alt="Custom Brackets" />

**Use Cases:**

**Free Trials**

* Bucket 1: Days 0-7 (trial period)
* Bucket 2: Days 8-37 (first 30 days post-trial)

**Mobile Gaming**

* \< 1 day
* Days 1-3 (early engagement)
* Days 4-7 (first week)
* Days 8-14 (second week)
* Days 15-30 (mid-term)

**Custom Cadence**

* Every 3 days (bi-weekly)
* Every 10 days
* Any custom intervals

### Setting Custom Brackets

1. Click time unit dropdown in query builder
2. Select **Custom**
3. Enter bracket sizes
4. Click Apply

<img src="https://mintlify.s3.us-west-1.amazonaws.com/mixpanel-docs/Retention_Setting_Custom.png" alt="Setting Custom" />

<Note>
  Users who return anytime within a bracket are counted as retained for that entire bracket.
</Note>

## Calendar Retention Mode

Align retention to calendar periods instead of user-specific periods:

<img src="https://mintlify.s3.us-west-1.amazonaws.com/mixpanel-docs/13599603833876.png" alt="Calendar Mode" />

**Rolling Interval (Default)**

* Day 1 = 24-48 hours since birth
* Week 1 = 7-14 days since birth
* Month 1 = 30-60 days since birth

**Calendar Interval (Advanced)**

* Day 1 = next calendar day
* Week 1 = next calendar week
* Month 1 = next calendar month

<img src="https://mintlify.s3.us-west-1.amazonaws.com/mixpanel-docs/13599765981076.png" alt="Calendar Retention" />

**When to Use:**

| Use Case                                      | Mode     |
| --------------------------------------------- | -------- |
| Daily engagement apps (meditation, music)     | Calendar |
| 30-day return after signup                    | Rolling  |
| Marketing promotion follow-up                 | Calendar |
| Quarterly revenue retention                   | Calendar |
| Subscription renewals (30 days after payment) | Rolling  |

## Frequency View

Analyze how frequently users engage:

<img src="https://mintlify.s3.us-west-1.amazonaws.com/mixpanel-docs/Screen_Shot_2022-07-05_at_4.41.04_PM.png" alt="Frequency View" />

**Measures:**

* Unique hours in a day
* Unique days in a week
* Unique days in a month

**Example:**

For users who purchased in the week of Jan 9, 2020:

* 13.04% purchased on 4 unique days that week
* Shows engagement intensity
* Identifies power users

<img src="https://mintlify.s3.us-west-1.amazonaws.com/mixpanel-docs/Screen_Shot_2022-07-05_at_4.49.46_PM.png" alt="Frequency Details" />

**Frequency Criteria:**

**Cumulative**

* At least X unique intervals
* Shows overall engagement levels
* Example: At least 5 unique days

**Non-Cumulative**

* Exactly X unique intervals
* Precise engagement measurement
* Example: Exactly 5 unique days

## Real-World Examples

### Example 1: Day 7 Retention by Channel

**Query:**

* Birth: Sign Up
* Return: Any Event
* Time: Each Day
* Criteria: On or After
* Breakdown: UTM Source
* Visualization: Retention Curve

**Insights:**

* Organic: 45% Day 7 retention
* Paid Search: 38% Day 7 retention
* Social: 32% Day 7 retention
* Action: Invest more in organic growth

### Example 2: 30-Day LTV by Cohort

**Query:**

* Birth: First Purchase
* Return: Purchase (with Revenue property)
* Measurement: Property Sum (Revenue)
* Time: Custom \[0-7, 8-15, 16-30]
* Criteria: On or Before
* Breakdown: Signup Date

**Insights:**

* Recent cohorts: \$45 LTV (Days 0-30)
* Older cohorts: \$32 LTV (Days 0-30)
* Improved onboarding increased LTV
* Action: Apply onboarding improvements globally

### Example 3: Streak Analysis

**Query:**

* Birth: Sign Up
* Return: Play Game
* Time: Each Day
* Criteria: Streak Mode
* Measurement: Unique Users
* Visualization: Line Chart

**Insights:**

* 5-day streak: 18% of users
* 10-day streak: 8% of users
* 30-day streak: 2% of users
* Action: Add streak rewards at 5, 10, 30 days

### Example 4: Feature Retention

**Query:**

* Birth: Feature Activated
* Return: Feature Used
* Time: Each Week
* Criteria: On or After
* Filter: User Plan = "Premium"
* Visualization: Retention Curve

**Insights:**

* Week 1: 72% retention
* Week 4: 58% retention
* Week 12: 51% retention
* Strong long-term retention indicates product-market fit

## Advanced Use Cases

### LTV Analysis

**Total Revenue in First 7 Days:**

* Birth: Sign Up
* Return: Purchase (with Amount property)
* Measurement: Property Sum
* Criteria: On or Before
* Time: 7 Days

### ARPU Tracking

**Average Revenue Per User (30 Days):**

* Birth: Sign Up
* Return: Purchase (with Amount property)
* Measurement: Property Average
* Criteria: On or Before
* Time: 30 Days

### Watch Time Analysis

**Total Video Watch Time (First Month):**

* Birth: Subscription Started
* Return: Video Watched (with Duration property)
* Measurement: Property Sum
* Criteria: On or Before
* Time: 30 Days

## Tips for Effective Retention Analysis

<Note>
  **Choose the Right Criteria**: "On or After" for most products; "On" for usage pattern analysis; "On or Before" for LTV/engagement totals.
</Note>

<Note>
  **Match Time Intervals to Product**: Daily for high-frequency apps; weekly for moderate use; monthly for low-frequency products.
</Note>

<Note>
  **Segment Your Analysis**: Always break down by acquisition channel, user type, or feature to find optimization opportunities.
</Note>

<Note>
  **Track Trends Over Time**: Use line charts to see if retention improves as you make product changes.
</Note>

<Note>
  **Focus on Complete Buckets**: Ignore incomplete buckets (marked with \*) when making decisions.
</Note>

<Note>
  **Define Clear Success**: What retention rate indicates product-market fit for your product? Set goals and track progress.
</Note>

## Common Questions

**Q: How is the Average row calculated?**

A: It's a weighted average of complete buckets, weighted by cohort size. This ensures all users have equal opportunity to be retained.

**Q: Why are newer cohorts showing lower retention?**

A: Newer cohorts have incomplete buckets (marked with \*). Wait for buckets to complete for accurate comparison.

**Q: Can I measure retention for a specific feature?**

A: Yes! Use the feature activation event as the birth event and feature usage as the return event.

**Q: What's a good retention rate?**

A: It varies by industry and product type. Consumer apps: 20-40% Day 7; SaaS: 80-90% Month 1; Social: 30-50% Day 7.

## Next Steps

* Learn about [Saved Metrics and Behaviors](/docs/features/saved-metrics-and-behaviors)
* Create [Cohorts](/reports/cohorts) from retention segments
* Build [Boards](/reports/boards) to monitor retention
* Explore [Insights](/reports/insights) for deeper analysis
