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?
Best answer by cherise
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.