The retention calculation in Mixpanel is designed to create a normalized, actionable metric to assess user engagement over a specified period of time. Users are broken into buckets based on when they first completed an action, and then subsequent buckets based on when they came back and performed either the same action or a different action. Retention calculations are based on unique users, not total event count.
Creating Retention Reports
To view the Retention report select Retention from the Analysis section of Mixpanel.
Select either Recurring, First Time, or Addiction from the drop-down list at the top left of the query builder.
These three types of Retention are described in detail here.
Select either All Users or one or more cohorts from the drop-down list to filter who you would like to analyze in this report.
Next, select the event you would like to track, or select Anything if you would like to measure how often your users do anything in your app.
Lastly, select the date range you would like to see. By default, Retention shows all users who did anything, then came back and did it again within the last two weeks. You can choose whether to view all users, or a specific cohort of users, and select a specific event to bucket by. You can also choose whether to view the report by day, week, or month, as well as absolute values or percentages, all from the top bar of the chart.
Filtering by Property
When you select an event other than “Anything”, you will have the option of filtering the retention report by one or more properties. Hover over the property to remove it or add another property line.
Segmenting by Property
When you select an event other than “Anything”, you will have the option to segment your retention report by the event or people properties. Using this feature you can see how many users with a specific property value are retained compared to other users with a different property value. Compare the retention of users based on their operating system, country, or any other property you send along to Mixpanel.
Click on the + Segment button at the top of the Date column to open a pop-up window.
Select a property from the list. You will have the option to either allow users to only be bucketed to one segment or multiple segments.
If you choose to bucket users by only one segment, they will only be bucketed by the first property they sent with the event. This means that the properties sent with the event will not be used for bucketing their subsequent actions after the first event. For example, if someone played a game on your phone app in Dallas, but then flew to California and played a game in San Francisco the next day, they would continue to appear in the segment for “Dallas”.
If you choose to bucket users into multiple segments, they will appear in as many segments as the number of unique property values they sent with the event in the selected date period. Users may move between different segments as they perform the same action, but they will not appear in subsequent date buckets if they performed the same action with a different property value.
Regardless of your choice, the segmentation bucket will show the average number of users within that segment who performed the action, not the total number. This is because the segment is being tracked across the entire selected date period, rather than each bucket corresponding to a specific day/week/month.
When you select multiple cohorts to track you are segmenting the report by those cohorts, with each bucket being the average number of users in each cohort who performed the event within the date period. When you select one cohort, that will apply a filter to the report to only show users within that cohort.
You can also choose to compare these results to users who are not in the selected cohorts. Simply check the box at the bottom of the query builder to do so.
Understanding the Retention Report Chart
Retention only counts unique users; not totals. In other words the user buckets will include every unique user that sent that event in that time window, starting and stopping at 0:00 of the beginning day and midnight of the ending day. A customer can only be counted once per bucket, but can be included in more than one bucket.
For example, if you are bucketing based on your "item purchased" event and creating weekly buckets, a customer who purchased at least one item each week will be in every bucket, not just the bucket for their first purchase.
The first column Date indicates the day/week/month when the user performed the event for the first time. The People column indicates the number of users that performed the event within the date period from the first column.
Each subsequent column of the report represents one unit of the date period you have selected (either day, week, or month). For example, in the image below, each column represents a 24 hour period of time, because “day” is selected.
The beginning and ending of each date bucket will be different for each user in the user bucket. The limits of the time bucket marked "1" will be between 1 and 2 time periods (in this example 24-48 hours) after the cohorting event was sent. If a customer sends an event at 3pm on Tuesday then bucket "1" for him begins 3pm Wednesday and ends at 2:59pm Thursday.
Each box within a row is assigned a shade of blue. The shading gets darker the higher the percentage retention. It's important to note that the scale is relative to each cohort, i.e. each row. White boxes indicate that the data is still in flux and not set yet because the time is still ongoing. Hover over a white box to see when the last qualifying date for that bucket will occur.