Session inom mobilanalys är en period av kontinuerlig interaktion mellan användaren och applikationen, begränsad i tid. Mätvärdet fungerar som grund för beräkning av retention, engagemang och LTV. Enligt data från Adjust, 2025 är medianlängden för en session i applikationer 4–7 minuter, men varierar kraftigt mellan kategorier. Att förstå sessionmätvärden är avgörande för att bedöma kvaliteten på användarupplevelsen.
Huvudpunkter
Session är en tidsperiod under vilken användaren aktivt interagerar med applikationen. Sessionen börjar när applikationen öppnas (eller återvänder från bakgrunden) och slutar efter en period av inaktivitet eller stängning.
Olika analysplattformar definierar sessionens gränser olika. Firebase Analytics anser att en session är avslutad efter 30 minuters inaktivitet, AppsFlyer — efter 60 minuter, Amplitude — efter 5 minuter eller genom session_end-händelsen. Det finns ingen enhetlig standard.
Mätvärden baserade på sessioner utgör grunden för att beräkna retention (Retention Rate), engagemangsdjup (Stickiness Ratio) och fördelning av användare efter användningsfrekvens (Session Frequency). Utan en korrekt definition av session kommer alla härledda mätvärden att vara felaktiga.
Enligt data från Mixpanel (2024) visar applikationer som förbättrat Session Duration med 15% en LTV-ökning på 22% under ett kvartal. Detta är en direkt korrelation mellan tid i applikationen och intäktsgenerering.
Mätning av session baseras på applikationens livscykelhändelser: open (session_start) och close (session_end). Mellan dem registreras alla användaråtgärder.
// Enklaste sessionsspåraren för Android
class SessionTracker {
private var sessionStart: Long = 0L
private val SESSION_TIMEOUT = 30 * 60 * 1000L
fun onAppOpened() {
sessionStart = System.currentTimeMillis()
Analytics.logEvent("session_start")
}
fun onAppClosed() {
val duration = System.currentTimeMillis() - sessionStart
Analytics.logEvent("session_end") {
param("duration_ms", duration)
}
}
fun isNewSession(lastActive: Long): Boolean {
return (System.currentTimeMillis() - lastActive) > SESSION_TIMEOUT
}
}
Koden spårar start och slut av sessionen via systemåteranrop. Parametern SESSION_TIMEOUT (30 minuter) avgör när återkomst från bakgrunden betraktas som en ny session, inte en fortsättning på den föregående.
| Plattform | Session timeout | Bestämningsmetod |
|---|---|---|
| Firebase Analytics | 30 min | Automatiskt, utan anpassning |
| Amplitude | 5 min (standard) | Konfigurerbart via SDK |
| AppsFlyer | 60 min | Fast intervall |
| Mixpanel | 30 min | Konfigurerbart via alternativet minimumSessionDuration |
| Adjust | 60 min | Automatiskt, kopplat till livscykeln |
Valet av timeout påverkar mätvärden: kort timeout (5 min) skapar fler sessioner, lång timeout (60 min) — kombinerar interaktioner. Det viktigaste — fastställa regeln och inte ändra den vid jämförelse av perioder.
Analys av sessioner bygger på fyra grundläggande mätvärden. Varje avslöjar en specifik aspekt av användarbeteende.
Sessionslängd — den genomsnittliga tid som en användare tillbringar i applikationen per besök. För nyhetsapplikationer är normen 2–4 minuter, för spel — 8–15 minuter, för streamingtjänster — 20+ minuter. Om Session Duration minskar är det en signal om problem med innehåll eller prestanda.
Intervall mellan sessioner — tiden mellan slutet av föregående session och början av nästa. Kort intervall (minuter eller timmar) indikerar högt engagemang. Långt intervall (dagar) — lågt intresse eller ett användningsscenario där applikationen sällan behövs.
Antal sessioner per användare under en period (dag, vecka, månad) — en indikator på Stickiness. Formel: DAU / MAU (Day Active Users / Monthly Active Users). Ett värde över 20% anses bra, över 50% — utmärkt för de flesta applikationskategorier.
Sessionsdjup — antalet skärmar eller åtgärder under en session. Visar hur djupt användaren går ner i applikationens funktionalitet. Lågt djup vid hög duration indikerar navigationsproblem.
Plattformsskillnader i applikationens livscykel påverkar direkt definitionen av session. iOS och Android hanterar bakgrundstillstånd och notifieringar olika.
På Android börjar en session vid anrop av onStart() för den första Activity och slutar vid onStop() för den sista Activity. Systemet kan dock döda processen i bakgrunden, vilket felaktigt avslutar sessionen. Det rekommenderas att använda Application.ActivityLifecycleCallbacks för tillförlitlig spårning.
class AnalyticsApp : Application() {
private var activityReferences = 0
override fun onCreate() {
super.onCreate()
registerActivityLifecycleCallbacks(object : ActivityLifecycleCallbacks {
override fun onActivityStarted(act: Activity) {
if (++activityReferences == 1) {
Analytics.trackSessionStart()
}
}
override fun onActivityStopped(act: Activity) {
if (--activityReferences == 0) {
Analytics.trackSessionEnd()
}
}
})
}
}
Räknaren activityReferences avgör om användaren ser minst en skärm. När aktiviteten blir 0 — har applikationen gått till bakgrunden, sessionen är avslutad.
På iOS är sessionen kopplad till metoderna applicationDidBecomeActive och applicationDidEnterBackground. Notifieringar om klick på push-notis kan artificiellt öka sessionsräknaren — detta måste beaktas i analysen.
Swift exempel:
import UIKit
class AppDelegate: UIResponder, UIApplicationDelegate {
func applicationDidBecomeActive(_ application: UIApplication) {
Analytics.trackSessionStart()
}
func applicationDidEnterBackground(_ application: UIApplication) {
Analytics.trackSessionEnd()
}
}
Observera: på iOS avslutar inte växling mellan applikationer (App Switcher) sessionen — endast övergång till djup bakgrund eller svep för att stänga.
Analys av sessioner går utöver enkel räkning. Segmentering och kohortanalys avslöjar engagemangsmönster som inte syns i aggregerad data.
Gruppera användare efter installationsvecka och titta på genomsnittligt antal sessioner under de första 7 dagarna. Om Sessions Per User i kohorten för senaste installationer är lägre än i äldre, är detta en signal om försämrad onboarding eller trafikkvalitet.
Anomalier i sessionmätvärden är tidiga indikatorer på problem. Plötslig ökning av korta sessioner (upp till 5 sekunder) efter en release indikerar ett startfel. Minskning av Session Duration med 30% på en dag — möjligt serverfel eller API-ändring. Konfigurera övervakning med trösklar: om genomsnittlig Session Duration har minskat med mer än 2 standardavvikelser från 7-dagars glidande medelvärde — alert i systemet.
Använd segmentering efter applikationsversion i sessionsrapporter. Version 3.2.0 visar Session Duration 4 minuter, version 3.2.1 — 2 minuter. Orsak — förändring i onboarding. Återställning av versionen återställer mätvärdet. Utan segmentering efter version skulle du se en genomsnittlig minskning men inte hitta orsaken.
Power Users (5+ sessioner per dag) — din kärnpublik. Casual Users (1–2 sessioner per vecka) — grupp för reaktivering. Dormant Users (0 sessioner på 30 dagar) — kandidater för retargeting eller avprenumeration från push-notiser.
För varje segment, beräkna separata mätvärden: Session Duration för Power Users visar användningsdjup, och för Casual — inträdesbarriärer. Enligt data från Amplitude (2024) ökar applikationer som anpassar innehåll efter sessionssegment Session Duration med i genomsnitt 18% per månad.
Retention beräknas via sessioner: användaren är behållen på dag N om hen hade minst en session. Olika produkter kräver dock olika definitioner. För sociala nätverk kan en session vara 1 sekund (bara öppnade för att kolla notiser), för en streamingtjänst — 15 minuter.
Använd avinstallation sessioner som kvalitetsindikator: om antalet korta sessioner (mindre än 10 sekunder) ökade efter en uppdatering, hittar användarna inte den nödvändiga funktionaliteten. Detta är en tidig signal om UX-problem innan antalet avinstallationer ökar.
Koppla sessioner till trafikkälla: användare från betalda kanaler bör ha fler sessioner och längre Session Duration. Om organisk trafik visar 40% högre Session Duration än betald, ligger problemet i målgruppsinriktningens kvalitet. Session attribution hjälper till att optimera budgeten för användaranskaffning.
Vanliga frågor
Genomsnittlig sessionslängd beror på kategori: spel — 8–15 minuter, sociala medier — 5–10 minuter, verktyg — 1–3 minuter. Trenden är viktigare: om Session Duration minskar med 20% på en månad behövs en UX-granskning.
Många analys-SDK:er registrerar inte slut-händelsen vid minimering — de väntar på timeout. Om användaren minimerade applikationen i 1 minut och kom tillbaka, räknas detta som en session. Först efter timeout (30–60 min) börjar en ny session.
Retention av användare på dag N beräknas som andelen installatörer som hade minst en session den dagen. Om sessioner inte spåras korrekt kommer retentionen att systematiskt underskattas eller överskattas.
Ja, bakgrundsaktivitet (musikuppspelning, navigering, synkronisering) kan hålla applikationen i aktivt tillstånd. Det är bättre att separera förgrundssessioner (användaren ser skärmen) från processorsessioner (bakgrundsarbete utan gränssnitt).
För prenumerationstjänster (streaming, fitness, utbildning) rekommenderas en timeout på 5–10 minuter. Användare återvänder ofta efter en kort paus — och varje paus bör räknas som en ny session för att inte snedvrida Session Duration.
Sammanfattning
Vi utvecklar en mobil applikation nyckelfärdigt
IT Sectr skapar iOS- och Android-applikationer för startups och företag sedan 2017. Vi ger dig råd och föreslår den bästa lösningen.
Läs också