How to measure app analytics sessions sensibly
Let’s be smart about this and acknowledge that we love data and stats. With them, we’re able to learn about our app users, where they come from, what they do in the app and how much money they spend. Stats also help us understand how an app is actually performing. Real facts help us to make real decisions, right? Most importantly, principle number one is to make sure what you measure makes sense (and ideally in the long run it helps you get more than cents).
One of the key app analytics KPIs looks at how often, when and how long people use an app – this is commonly known as sessions.
The API (provided by the underlying operating system) can tell you when an app has been opened, closed and the time in between. Unfortunately, this is what many people in the industry still measure as a session.
It comes from a legacy system - in days gone by when iOS started, you could only have one app open at a time. There was no notification centres, no push messages or anything. An app was just open or it was closed and the time in between was a session. Today things are much more complicated. Many more features and functions have been added to Android and iOS that make this definition defunct.
In iOS, people rarely close the apps they use, so pause and resume are taken as the start and stop part of the session. So, if people go to the notification centre, they pause the application and then resume it when they flick the notification centre away and return to the app. Another example is if they have started the application and the application asks for a permission to send a push message. This message window is not from the app but from the system, so the app pauses briefly to let this happen.
Think of it like driving your car to drive to a friend’s place and stopping at traffic lights along the way and counting everything between as a trip when you have really just made one journey to get there. I guess you could say that before there was just one open road and now there are lots of traffic lights installed so it makes no sense to measure every time you slow down or stop the car as one use of the car.
Android is similar to iOS in that users switch between views and each view is counted as a session. In Android it is also heavily dependent on how the app is actually written so you could rig it to produce hundreds of sessions when actually a user is just switching around between views. Of course this is not a useful definition.
The smart solution is not to re-invent the wheel but to use a measurement that makes sense. There is already a great definition of a session available - a session is a consecutive stream of actions that occur with no more than 30 minutes in between. This means the pausing and resuming of apps are aggregated into blocks that are more than 30 minutes apart.
To give you an example, if the user opens the app, goes to the notification centre, switches to another app and then comes back to your app, then this would be one session (if it happened within 30 minutes). Session start time, session duration and all the pauses in the journey can be calculated.
This gives the developer and marketer a better understanding of user engagement. What this data exactly means for them depends on the individual app.
Let’s take, for example, an app related to ordering food online. When the developer or marketer knows when people are opening the app to look for edibles, they can target their marketing around this to encourage people to use their app over a competitor’s app.
Sensible session measurement gives a realistic understanding of user engagement and a better comparison between apps as some are used for multitasking more than others.
This means beautiful, comparable data. It comes down to the analytics provider to define how a session should be counted and to go the extra mile to do the mathematically challenging stuff to aggregate pauses and restarts into meaningful sessions.
Think about what and why you are measuring user behaviour in your app. Demand sensible sessions from your analytics and get more than cents out of your app.
- » Using automation to connect build engineering and DevOps: A guide
- » ‘Android Game SDK’ is a joint project between Google and Unity
- » Square launches customisable In-App Payments SDK
- » AOSMark ranks the best and worst OEMs for Android updates
- » You can now have unlimited GitHub private repos – and free!