Definitions
- Session length is the time between a user opening an app and leaving it, or the app going idle. Average session length is the mean across all sessions in a period.
- Sessions per user is how many sessions an average active user has in a period, usually per day or per month. It measures how often people come back, while session length measures how long they stay.
App session metrics at a glance
| Metric | Question it answers | Formula |
|---|---|---|
| Average session length | How long does a visit last? | Total session time ÷ sessions |
| Sessions per user | How often do people come back? | Sessions ÷ active users |
| Time in app per user | How much time per user in total? | Session length × sessions per user |
| Session interval | How long between two visits? | Average time between a user’s sessions |
| DAU/MAU | How many monthly users use it daily? | Daily active ÷ monthly active users |
How a session is counted
An analytics SDK starts a session when the app comes to the foreground. It ends the session when the app has been in the background, or without user activity, for longer than a timeout. Google Analytics for Firebase uses 30 minutes of inactivity by default; other tools use shorter windows. That is why the same app can show different session counts in different tools: briefly switching to another app and back may be one session in one tool and two in another.
Formulas
Average session length = total time in sessions ÷ number of sessions
Average sessions per user = number of sessions ÷ number of active users (in the same period)
Time in app per user = average session length × sessions per user
Worked example
A language-learning app looks at one day:
| Metric | Value |
|---|---|
| Daily active users | 10,000 |
| Sessions | 18,000 |
| Total time in sessions | 108,000 minutes |
| Average sessions per user | 18,000 ÷ 10,000 = 1.8 |
| Average session length | 108,000 ÷ 18,000 = 6 minutes |
| Time in app per user | 1.8 × 6 = 10.8 minutes |
How to read session metrics
Longer isn't always better:
- For games, reading, video or social apps, longer sessions and more sessions per user usually mean more engagement.
- For banking, travel or utility apps, short sessions can mean the app does its job quickly. Two 40-second sessions a day can be a perfectly healthy banking app.
- Frequency often matters more than duration. An app opened daily for two minutes tends to retain users better than one opened weekly for twenty. Look at sessions per user together with DAU/MAU and retention.
Common pitfalls
- Averages hide outliers. A few users who leave the app open skew the mean; check the median too.
- Compare like with like. New users behave differently from returning ones, and iOS from Android. Segment before drawing conclusions.
- A timeout change changes your numbers. If you change SDK settings, mark the date so nobody mistakes it for a product effect.
How to increase sessions per user
- Give a reason to come back: a daily goal, a streak, fresh content, a reminder the user asked for.
- Use push notifications that carry real value, such as a reply, a status change or a saved item back in stock, not generic "we miss you" messages.
- Make re-entry fast: widgets, deep links and remembering where the user left off.
- Listen to what users say. App reviews often explain metric changes: "much faster to find a recipe now" makes shorter sessions good news.
Example
A recipe app sees average session length fall from 6 to 4 minutes after a redesign, while sessions per user rise from 1.2 to 1.6. Reviews mention that recipes are easier to find. Users get what they came for faster and come back more often, so the shorter sessions are a good sign.