I want to build an insight report of WAU, where active user is a user who did purchased during the last 7 days. There are 2 ways todo it: 1. Build a cohort and user it in the events section as "Analyze profiles" 2. choose "All events" in the event section, and filter by the cohort. This brings me 2 different results. Why is that?
Hi Moran S., Please stand by as I search the Mixpanel knowledge base for an AI-powered answer. I normally take about 15 seconds or so. In case AI cannot answer your question, feel free to reach out to Mixpanel support at mixpanel.com/get-support. If you have follow-up questions for this thread, please tag me again with your question: @kapa.ai <follow-up question> 👋
Feel free to ask a follow-up question once I've answered by mentioning me with @kapa.ai
The difference in results between the two approaches comes from how Mixpanel computes cohorts and how filters are applied in reports.
1. Using a Cohort in "Analyze Profiles"
When you build a cohort of users who "did purchase during the last 7 days" and use it in the events section as "Analyze profiles," Mixpanel calculates the size of the cohort at each point in time. For each week, it shows the number of users who, as of the end of that week, meet the cohort criteria (i.e., purchased in the 7 days up to that point). This is a dynamic calculation: the cohort is recomputed for each time interval in your report, so the WAU reflects the number of users in the cohort at the end of each week Using Cohorts in Analysis.
2. Filtering "All Events" by the Cohort
If you choose "All events" and filter by the cohort, Mixpanel first computes the cohort as of the time you run the report (i.e., "right now"), then filters all events in your selected time range to only those performed by users who are currently in the cohort. This means the filter is static: it only includes users who are in the cohort at the moment of the query, not as of each week in the past How Cohorts are Computed.
Why the Results Differ
- Cohort in Events Section ("Analyze profiles"): The cohort is recalculated for each time interval, so the WAU reflects users who met the criteria in each week. - Cohort as a Filter: The cohort is calculated once, at the time of the query, and only users who are in the cohort now are included for all time intervals.This difference in timing—dynamic vs. static cohort membership—explains why you see different WAU numbers.For more details, see the documentation on How Cohorts are Computed and Using Cohorts in Analysis.
kapa.ai is still learning and improving, please let me know how I did by reacting below.
ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.
is the cohort calculates the time according to each week although inside the cohort I used "last 7 days" filter?
Let me check the knowledge base for you again. One moment! 📚
Yes, when you use a cohort with a "last 7 days" filter in an Insights report and visualize cohort size over time (e.g., with a weekly interval), Mixpanel recalculates the cohort for each time interval. This means that for each week shown in your report, the cohort includes users who met the "did purchase during the last 7 days" condition as of the end of that week. The "last 7 days" filter is always relative to the end of each interval, not just the current date.So, even though your cohort definition uses "last 7 days," when you plot it over time, Mixpanel dynamically computes the cohort for each week (or whatever interval you select), using the 7 days leading up to the end of that interval Using Cohorts in Analysis.This dynamic recalculation is what allows you to see how the size of your cohort changes over time, always based on the "last 7 days" relative to each interval.
kapa.ai is still learning and improving, please let me know how I did by reacting below.
ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.
kapa.ai something doesn't make sense - I created this cohot: users who did purchase in the last 7 days, and THEN did play song. This gives me a certain result which gives a good result for all the last 6 months. Then I updated the cohort and added a filter so the play song is also in the last 7 days. then I see only users who actually did it in the last 7 days. Why is that?
Let me check the knowledge base for you again. One moment! 📚
The behavior you're seeing is due to how Mixpanel interprets time-based filters within cohort definitions: - Original cohort: "Users who did purchase in the last 7 days, and THEN did play song." This cohort includes users who, at any point in the last 7 days, made a purchase and then (at any time, not necessarily in the last 7 days) played a song. When you view this cohort over the last 6 months, for each time interval, Mixpanel recalculates the cohort based on users who met the "purchase in the last 7 days" condition as of that interval, and who at any time after that purchase, played a song. This allows users to appear in the cohort for each interval where they met those conditions Using Cohorts in Analysis.- Updated cohort: You added a filter so that "play song" is also in the last 7 days. Now, the cohort only includes users who both purchased and played a song in the last 7 days. This is a much stricter condition: for any given interval, only users who did both actions within the last 7 days of that interval are included. If you view this cohort over time, only users who did both actions in the most recent 7 days of each interval will appear. If you look at the cohort "now," it only includes users who did both actions in the last 7 days from today, which is why you see only recent users.Summary: Adding the "play song in the last 7 days" filter restricts the cohort to users who did both actions within the same recent 7-day window, rather than users who purchased in the last 7 days and played a song at any time after. This is why your cohort size drops to only those who did both actions very recently.This behavior is consistent with how Mixpanel dynamically computes cohorts for each time interval, always using the time filters relative to the end of each interval How Cohorts are Computed.
kapa.ai is still learning and improving, please let me know how I did by reacting below.
ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.
Let me check the knowledge base for you again. One moment! 📚
You are correct: when you add a filter like "where Time last 7 days" to a cohort, that filter applies to the actual last 7 days relative to the time you run the query, not to each interval in a time series report. This means the cohort will only include users who performed the filtered action (e.g., "play song") in the most recent 7 days from today, regardless of the time interval you are analyzing in your report.This is why, after adding the "play song in the last 7 days" filter, your cohort only shows users who did both actions in the actual last 7 days, and not in previous intervals. The cohort is computed as of "right now," and only users who meet all criteria in the current 7-day window are included How Cohorts are Computed.If you want the cohort to be recalculated for each interval (e.g., each week in a 6-month report), you should use the cohort in the "Analyze profiles" section of an Insights report, which dynamically computes the cohort for each interval based on the filters relative to that interval Using Cohorts in Analysis.In summary: - Adding "where Time last 7 days" as a filter in the cohort definition restricts the cohort to users who did the action in the actual last 7 days from today, not relative to each interval in your report.
kapa.ai is still learning and improving, please let me know how I did by reacting below.
ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.
