All Users =/ User Profiles

  • 1 December 2020
  • 2 replies

Tried creating a new user cohort and it shows 841 users (all users.png). However, our actual database shows only ~400 users, some of whom are internal administrative/employee accounts.

1st, why the huge discrepancy between: 1) all users and our database of actual registered users (~400 in db) and 2) all users and user profiles (see user profile.png. Shows a count of 37 users). 

2nd, how do we delete these “extra” users that add to the “All Users” count? 

3rd, how do we ensure this deletion/scrub doesn’t recur?

2 replies

To add to the above…

Did a data export from Mixpanel as well as our database into CSV and compared both data sets. Mixpanel appears to be recording multiple (or in some cases single) events for each email address (see attached sheet + notes in sheet).

The data exported from Mixpanel has the following:

  • Unique email addresses = 34 records
  • Total events = 84 (some email addresses were recorded multiple times)

How the data was pulled from Mixpanel - Insights report» ‘Events & Cohorts’>>’Register Total’>>Last 30days 

  1. Why are multiple events being recorded for a unique email address? 
  2. To ensure accurate reporting and decision making, how do we ensure that an account deleted from our database (say a user requests that their account be terminated), does not get reflected in our Mixpanel data? (the Mixpanel data pull has a deleted account)
  3. The goal is to see total registrants for the last 30 days which would be unique email addresses (so 34 not 84 )correct? How do we obtain do this in Mixpanel? 
Userlevel 5
Badge +3

@Ilunafriq —

Thank you for adding the additional detail!

The first thing  to call out is that we never advise a direct comparison to other databases because it’s not entirely comparing apples to apples. One record in your data base is not necessarily equal to a specific action recorded in Mixpanel. This approach is important to understand your data and catch implementation mistakes, but there should be give for direct comparisions.

To dig into why this is the case, I want to point out that Mixpanel will ingest any data that you tell it to. So for example, if you are seeing in your backend that only 34 users registered, but you are seeing that event recorded 84 times in Mixpanel, it’s likely due to the way that the event is getting tracked. A common issue here is when a user is able to “click” or “trigger” the registration  event on the front end, even though it only goes through a single time to your backend. My advice is to see how these events are sent to Mixpanel and reevaluate the code. If they are client side, is there a way that a user could get click happy and trigger extra events? Is there a way to move these events server side? When you pass data directly from your backend to Mixpanel there is less cause for errors like this. 


That said, another way to mitigate this is to understand that a query looking at the total count may be off, so instead you can look at unique reports, which will show you only 1 registration instance per user.