Show 4-5 events breakdown by user

  • 14 October 2021
  • 1 reply

Hi all,

I’m trying to visualise how many times my users have performed Event A, Event B And Event C. All three events are engagement events and I want to be able to quickly see which users perform these events, and which one they don’t perform. 

What I’ve tried:

  1. If I try to do this from a User Profile query, Mixpanel says you can’t breakdown on events, only on user properties. Which makes sense. 
  2. Now, if I start another query with Event A, B and C and breakdown on user level, I get a breakdown per event. Which is not what I want. Because it shows me Event A and then all users who performed that event X times. Event B and then all users who performed that event X times. 

I want to see Events A, B AND C per user but I’m out of ideas on how to get there. 


I hope this makes sense. Curious if this is possible with Mixpanel. I’m thinking of tying the engagement events to user profiles as props but not sure if that’s the right way forward?




Best answer by aaron 25 October 2021, 18:19

View original

1 reply

Badge +4

To my knowledge there isn’t an easy/simple way to do this in mixpanel. I wrote about our solution to the problem here — but that was simply to identify which users have performed some combination of events, not the frequency of performance. 

In short, if you want to count the number of times a user performs event A OR event B OR event C, you can create a custom event that’s made up of A, B, and C. The custom event will fire whenever one of those 3 events occurs, so that you can see on the insights report the number of times each user did one of those 3 events. 

If you want to count the number of users who performed A OR B OR C, you can create a cohort made up of users who did A or B or C. 

If you want to count or compare the number of users who performed all 3 of A, B, and C against those who performed 2 or 1 out of 3, then you’ve got to get fancy with your cohorts.


  1. You’ll start with 3 cohorts: Cohort A: Users who did A; Cohort B: Users who did B; and Cohort C: Users who did C.
  2. Then you’ll create a set of meta-cohorts.
  3. The first meta-cohort is for users who have performed who have performed all 3 activities. Call this Cohort ABC: Users belonging to Cohort A AND Cohort B AND Cohort C
  4. The second meta-cohorts are for users who have done exactly 2 out of 3 events. You’ll need 3 of them, plus a “wrapper cohort”. 
    1. Cohort AB: Users belonging to Cohort A AND Cohort B AND NOT Cohort C
    2. Cohort BC: Users belonging to Cohort B AND Cohort C AND NOT Cohort A
    3. Cohort AC: Users belonging to Cohort A AND Cohort C AND NOT Cohort B
    4. The “wrapper cohort” — this is what allows you to count users who have performed exactly two of A or B or C, and is defined as Users belonging to Cohort AB OR Cohort BC OR Cohort AC AND NOT Cohort ABC. 

This is the kind of work that mixpanel should really be helping us simplify :-)