what are the aggregation options for 'aggregate property per user'? there seems to be two layers of aggregation which is not mentioned in the documentations
You're right that there are indeed two layers of aggregation for "Aggregate Property per User" in Mixpanel Insights. The documentation does actually cover this, though it can be easy to miss. Here's how it works:
Layer 1: Per-User Aggregation
The first layer determines how the property value is aggregated for each individual user. The options are: [Aggregate Property per User]
| Option | Example |
| - | - |
| Sum | Total hours of video watched per user |
| Average | Average hours of video watched per user |
| Distinct count | Number of different videos each user watched |
| Minimum | Minimum hours of video watched per user |
| Maximum | Maximum hours of video watched per user |
Layer 2: Cross-User Aggregation
The second layer then aggregates the per-user values across all users. The options are: [Measurements]
Average
Distribution
Median
Percentiles (P25, P75, P90, P99)
Minimum
Maximum
The default second-layer aggregation is Average.
Why Two Layers?
As the documentation explains, "per user" calculations first calculate the value per user, which is an unhelpful query in its raw form, but becomes useful when you perform an aggregation on that calculation. [Measurements]
Example combining both layers:
Layer 1: Sum of purchase amounts per user โ gives each user's total spend
Layer 2: Average across users โ gives the average total spend per user
This two-layer approach lets you answer nuanced questions like "What is the median of the average cart value per user?" or "What is the distribution of users by their total watch time?" [Additional Aggregation Options]
โน๏ธย Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.
so if i have to do: average session duration per user? kapa.ai
To find the average session duration per user in Mixpanel Insights, here's how to set it up using the two-layer aggregation approach:
Select the metric: Choose the Session Start (or Session End) event, then select Aggregate Property per User
Layer 1 (per-user aggregation): Choose Sum โ this adds up all session durations for each individual user
Layer 2 (cross-user aggregation): Keep the default Average โ this then averages those per-user totals across all users
The property to use is Session Duration (Seconds). If you want the result in minutes, apply a formula and divide by 60. [Sessions FAQ]
So in plain terms:
Layer 1 (Sum per user) โ "How many total seconds did each user spend in sessions?"
Layer 2 (Average across users) โ "What is the average of those totals across all users?"
Mixpanel's documentation also notes that you can apply a formula to divide by 60 to express the result in minutes rather than seconds. [Sessions FAQ]
โน๏ธย Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.
kapa.ai if i do 'average' then 'average' what question does that answer?
Using Average for both layers on "Aggregate Property per User" with Session Duration would answer:
"What is the average of each user's average session duration, across all users?"
Breaking it down:
Layer 1 (Average per user): For each user, calculate their average session duration (i.e., total session time รท number of sessions for that user)
Layer 2 (Average across users): Then take the average of those per-user averages across all users
This maps to the example in the documentation: "What's the average of the average cart value for each user?" โ applied to session duration instead. [Additional Aggregation Options]
Contrast with Sum โ Average (from the previous answer):
Sum โ Average answers: "What is the average total session time per user?" (sums all sessions per user first, then averages)
Average โ Average answers: "What is the average of each user's average session length?" (averages per-session duration per user first, then averages across users)
The difference matters if users have very different numbers of sessions โ the two approaches can yield different results in that case.
โน๏ธย Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.
what if to simply get answers to the question "on avg, how much time is an average user spending on the app"? kapa.ai
To answer "On average, how much time are users spending on the app per session?", the simplest approach is: Use the Session Start event โ Aggregate Property โ Average on the Session Duration (Seconds) property. This is a single-layer aggregation (not per-user), and it directly averages the Session Duration across all sessions. [Sessions Use Cases] To convert to minutes, apply a formula and divide by 60. [Sessions FAQ] ------------------------- Why not "Aggregate Property per User"? The per-user approach first computes a value per user, then aggregates across users โ which weights each user equally regardless of how many sessions they had. The simpler Aggregate Property โ Average weights each session equally, which is typically what people mean by "average time spent per session." If you specifically want "on average, how much total time does each user spend across all their sessions?", then you'd use Aggregate Property per User โ Sum โ Average (as covered in the previous answer).
โน๏ธย Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.
To answer "On average, how much time is an average user spending on the app?", you want each user to be weighted equally (not each session). This means using the per-user approach:
Session Start event โ Aggregate Property per User โ Sum โ Average
Here's the logic:
Layer 1 (Sum per user): Add up all session durations for each individual user โ gives each user's total time on the app
Layer 2 (Average across users): Average those totals across all users โ gives the average total time per user
This is exactly the setup Mixpanel's documentation describes for finding average session duration per user. [Sessions FAQ]
-------------------------
How this differs from the previous answer:
| Approach | Question answered |
| - | - |
| Aggregate Property โ Average | "What is the average session duration across all sessions?" (each session weighted equally) |
| Aggregate Property per User โ Sum โ Average | "What is the average total time spent per user?" (each user weighted equally) |
The distinction matters when users have different numbers of sessions. If a power user has 50 sessions and a casual user has 1, the first approach gives more weight to the power user; the second treats both users equally.
As always, you can divide by 60 in a formula to convert from seconds to minutes. [Sessions FAQ]
โน๏ธย Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.
kapa.ai according to the document link you shared, i saw that first layer is 'average' then 'sum' for average session duration per user
kapa.ai if ive clubbed three events into one meaning custom event, is it possible for me to split that event into 3 to see the split in which one is most done?
Yes, you can see the breakdown of the individual events within a custom event. Here are a few ways to do this: Option 1: Break Down by Event Name When using a custom event in a report, you can break it down by "Event Name" as a property. This will split the results showing how many times each of the underlying 3 events occurred individually. Option 2: Use the Original Raw Events Instead Rather than using the custom event, you can simply select all 3 original events separately in your Insights report and compare them side by side. This gives you a clear view of which event is performed most. Option 3: Expand Custom Events in Flows If you're using the Flows report, you can expand a custom event by event name to view the underlying events. [Custom Events in Flows] ------------------------- It's also worth noting that a custom event is a virtual event โ it doesn't change your raw data. The underlying 3 events are still tracked separately and can always be queried independently. [Custom Events]
Note: Option 1 (breaking down by Event Name) is the most direct approach within Insights, but the knowledge sources don't explicitly confirm this as a built-in breakdown option for custom events in Insights. If it's not available, Option 2 (querying the 3 events separately) is the reliable fallback.
โน๏ธย Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.
