Session Analytics FAQ
1. What is a session?
- the end-user launches another app
- the end-user powers off or reboots the device
- the app is no longer in the foreground and visible to the end-user
If the device goes into standby/sleep (i.e. if the screen goes black after a certain amount of inactivity) without first stopping the app via one of the three methods mentioned above, the app will continue to run in the background and ArborXR records this as idle duration.
2. What is idle duration?
A session could even be made up of multiple active durations and multiple idle durations, if the app is not stopped between the instances of activity and idleness.
3. What is active duration?
Active duration is the session duration minus idle duration.
4. What is average active duration?
The average active duration is the total active duration of an app divided by total app sessions.
5. What is max active duration?
Max duration is the longest single session of active duration.
6. Why do some devices show long periods of idle duration?
7. In the session analytics .csv export, why do some sessions not have an "End Time", "Session Duration", "Idle Duration" or "Active Duration" logged?
Our analytics data can only report on the data it has received from a device. If a device starts a session but then loses it's connection with our backend analytics platform we will then wait until the device reconnects to our platform to fill in the data that was missed while the device was offline. If analytics data is exported during a time in which the device is not connected to our platform we will show a session for that device as having no "End Time", no "Session Duration'', no "Idle Duration", and no "Active Duration".
To list a few examples of how this could happen:
- The device might have lost its connection to Wi-Fi.
- The device could be having trouble communicating with our API.
- The device may have been factory reset directly via the device's settings and will never share the remaining session information to our API as a result.
Let's take a look at a practical example of this as a timeline of events:
- 10:00AM Device starts "Application A"
- 10:05AM Device loses connection, because Wi-Fi router has lost power.
- 10:10AM An Admin creates an analytics export. In this export, there is a session on the device for "Application A" with a start time but no end time. This indicates that the device has lost connection, or that the device's current session has not yet ended.
- 10:15AM Device starts another application "Application B", therefore ending its session with "Application A" and beginning another with "Application B".
- 10:20AM Device closes "Application B" and the device then enters an idle state.
- 10:25AM Device reconnects to Wi-Fi and sends the session data that our analytics platform missed while the Device was offline.
- -10:30AM An Admin creates another analytics export. In this export, there are now two sessions that both have a start and end time. The session that previously only had a start time now has an end time because the device filled in that historic info once it reconnected to our platform.