Solved

How to get an overview of average time spent in app per user per day.

  • 12 December 2018
  • 14 replies
  • 3326 views

Userlevel 3
Badge

I have session event which has duration property (time spent in app). However, I can't find a way to get an overview of total time spent in app per day, and then an average time per user. Is it possible?


icon

Best answer by michael 14 December 2018, 22:51

Hi Ainius,

Michael from Mixpanel Support here.

In order to find the total or average of a specific numeric event property over time (such as duration) you will want to head into the Insights report.

There, in the report's dropdown, select the "properties" button next to the event that has your desired duration property.

Once you select the duration property, you will then have the option to choose one of multiple operators (total, average, median, min, max, etc) that you can then use to calculate the total time spent in the app, and average time per user.

Hope this helps!


View original

14 replies

Userlevel 4
Badge +2

Hi Ainius,

Michael from Mixpanel Support here.

In order to find the total or average of a specific numeric event property over time (such as duration) you will want to head into the Insights report.

There, in the report's dropdown, select the "properties" button next to the event that has your desired duration property.

Once you select the duration property, you will then have the option to choose one of multiple operators (total, average, median, min, max, etc) that you can then use to calculate the total time spent in the app, and average time per user.

Hope this helps!


Userlevel 4
Badge

Hi @michael!

I am using App Session > duration for that. Do you think is the right way? The number I get, is in minutes?

Thanks


Userlevel 4
Badge

Hi and @bkool @michael and @Ainius

This is a tricky question and I think there is no solution in Mixpanel for that right now. Let´s see, we have:

Events:

- App session: this event is not triggered only when the user opens the app but also when he or she spends more than 10 seconds on it: "Triggered when users spend more than N seconds (default: 10 seconds) in the app. Includes "Session Length" property, measured in seconds." So this event seems to be useless for knowing average daily time spent (?).

Besides, I couldn´t find "duration" as an App session´s property.

Events properties:

- Session Length : App sessions has the property Session Length which is "The number of seconds the user spent in the session." But, as it is a string, you can only group app sessions by session length. Does not work.

User properties:

- Total App Sessions: "The total number of "App Session" events that the user has sent." (A)

- Total App Sessions Length: "The amount of time in seconds from when the user launches the app until the user stops using or leaves the app." (B)

So, in Insights, if you go for (B/A)/60 you should get the average minutes per session but always knowing that "app sessions" is not only performed when the user opens the app.






Userlevel 4
Badge

Oh and you have that!:

// time an event named 'Registered' mixpanel.time_event('Registered'); mixpanel.track('Registered', {'Gender': 'Male', 'Age': 21});

When called for a particular event name, the next track call for that event name will include the elapsed time between the 'time_event' and 'track' calls. This value is stored as seconds in the '$duration' property.


Userlevel 2
Badge

Awesome Michael,
I have been turning my head around for two days to find how to display the sum/average/... of a property (and not "event + breakdown").

This should be placed in the public Docs somewhere. This is a really frequent use case ("How many X a user has Done?") and the entry in the Docs could be something like "How to track a Property for a given Event "

The "click" on "properties" in your first picture is not the most obvious process when someone starts with Mixpanel. I'm happy to know it now.


Userlevel 3
Badge

@michael How to take not the duration of the song but the duration of the time spend by user in one day (not in one session)?
After two days of research I can not find it.


Userlevel 3
Badge

@Jice_Lavocat Can You show how to configure it?
After a two days of research I still can not find the time that user spend in one day (not session time).

Please if You have the answer I will be happy to see it.


Userlevel 3
Badge

@IvanMuniz I have the same question - it looks like in the MixPanel there is no possibility to have the total time that user spend in one day (not session time).

Do anybody have other answer?


Userlevel 3
Badge

Hi there! I also would like to know the average time spent per user in our platform. Is it correct to use formula with these events? 

 

 

Userlevel 6
Badge +4

Hi @annette42,  

 

Thanks for sharing your query. There is only a couple of tweaks I would do to get average time a user spends per day on your app. First, only one session end event is needed on your query. This will show the average in second but you can add a formula of A/60 to get it in minutes. Dividing by the session event count is not necessary, as each session event will be summed and divided by the count on its own when using the average data function.

Lastly, you can breakdown your report by day on the line graph. I have attached a screenshot from my dummy account to help see the set up described 




 

Hi @stephanie,

Thanks for sharing the screenshot, that is very clear.

One thing I dont understand still, how do I know that I am looking at the average time per user per day? In my case I know that many of my customers use my software more than one time a day. From the screenshots above I get the idea that I am looking into the average time per session per user per day. But that is not the same as the average time per user per day.

Another question: I tend to use session start, I see you are using session end. When I exchange session start for session end in my case there is no difference in the time spent per user. But just wondering, is there a specific reason I should use session end/start?

 

Kind regards,

Mirjam

Hi @stephanie I would like to know how this calculation method differ from this one: https://community.mixpanel.com/data-management-10/how-to-accurately-calculate-session-length-am-i-doing-it-right-3895

I tried both, in `Insight` (same configuration with your guide from this thread), I got about 3.5 minutes

but in `Funnel` (same configuration with https://community.mixpanel.com/data-management-10/how-to-accurately-calculate-session-length-am-i-doing-it-right-3895), I got about 58 seconds

Which one is more accurate to measure average session duration? 

Userlevel 5
Badge +3

@M Irjam — The query that Stephanie showed above is averaging the session event to demonstrate  the average session time per day. The average data function will return the average of a numeric property value across all instances of the selected event, which is Session Start/End. This is why the session start and session end event yield the same results — because they both hold the same property breakdown.

If you are interested in the  average time spent per user per day, the simplest way is to use Funnels. You would first  set up a two-step funnel of session start --> session end that would look like this:
?name=inline488842309.png
From here, if you scroll down you'll see a clock icon that indicates "average time between steps," which, for this simple funnel, will answer your question exactly. Here, those that started a session took an average of 22.77min before ending their session.
?name=inline1607578423.png​​
Session start and session end are default values in Mixpanel, and the average default timeout is 30 minutes, which could conceivably be inflating your true average (e.g. if users do some events for 5 minutes and then change windows but don't log out, this would be marked as 30 minutes). Default timeout lengths, as well as the events that constitute session starts and session ends, are all customizable - learn more about how to do that here

One other feature to check out: if you click "funnel steps" on the right in your funnel and choose "average time to convert" instead of funnel steps, you'll get a more granular breakdown of the time ranges your users spend in your product, which is another valuable way to analyze your question.

 

@fansts — this addresses your question as well! While the insights report is looking at a breakdown of average session length across all sessions, the funnels report is a breakdown of the average session length per user. It is important to add here that you want to make sure that your time to convert is high enough to not exclude sessions that you are interested in analyzing. 

 

I hope this helps!

@cherise  -- Awesome, thank you for reaching out!  

Your description is super useful, thanks, I have added it to my dashboard :grinning:

 

I know my customers log in several times a day.. And I am curious how much time per day each customer is spending on my platform.  And how often users do a session start.   This means that average session length tells me something about each individual session, but not about the sum per person spent per day, or the sum of sessions per person a day.

 

I came up with the following, do you have a suggestion to add?

  • For A: I can aggregate by average, and max, but not by sum, so I use average as an estimation-
  • For B: I use maximum instead of sum as the same here, I cannot choose sum,   in this line I hope to get an idea of how often each user is doing a session start on a daily basis.

link to my dashboard

 

Reply