Session v mobilní analytice: co to je, jak se počítá a jaké metriky

Autor: IT Sectr Publikováno: 2026-04-21 Doba čtení: 10 min

Session v mobilní analytice je období nepřetržité interakce uživatele s aplikací, časově omezené. Metrika slouží jako základ pro výpočet retence, zapojení a LTV. Podle údajů Adjust, 2025 je medián délky relace v aplikacích 4–7 minut, ale výrazně se liší mezi kategoriemi. Porozumění metrikám relací je klíčové pro hodnocení kvality uživatelského zážitku.

Hlavní body

  • Relace — nepřetržité období interakce uživatele s aplikací bez dlouhé přestávky.
  • Délka relace (Session Duration) — klíčová metrika zapojení, měřená v minutách.
  • Interval mezi relacemi (Session Interval) ukazuje, jak často se uživatel vrací do aplikace.
  • iOS a Android definují začátek a konec relace odlišně kvůli rozdílům v životním cyklu aplikace.
  • Analýza relací umožňuje segmentovat publikum podle úrovně zapojení a identifikovat problematické scénáře.

Co je relace v mobilní analytice?

Relace je časový úsek, během kterého uživatel aktivně interaguje s aplikací. Relace začíná okamžikem otevření aplikace (nebo návratu z pozadí) a končí po období nečinnosti nebo zavření.

Různé analytické platformy definují hranice relace odlišně. Firebase Analytics považuje relaci za ukončenou po 30 minutách nečinnosti, AppsFlyer — po 60 minutách, Amplitude — po 5 minutách nebo událostí session_end. Neexistuje jednotný standard.

Proč jsou relace důležité

Metriky založené na relacích tvoří základ pro výpočet retence (Retention Rate), hloubky zapojení (Stickiness Ratio) a rozdělení uživatelů podle frekvence používání (Session Frequency). Bez správného definování relace budou všechny odvozené metriky nesprávné.

Podle údajů Mixpanel (2024) vykazují aplikace, které zlepšily Session Duration o 15%, růst LTV o 22% během čtvrtletí. To je přímá korelace mezi časem v aplikaci a monetizací.

Jak se měří relace?

Měření relace je založeno na událostech životního cyklu aplikace: open (session_start) a close (session_end). Mezi nimi jsou zaznamenávány všechny akce uživatele.

kotlin
// Nejjednodušší sledovač relací pro 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
    }
}

Kód sleduje začátek a konec relace prostřednictvím systémových callbacků. Parametr SESSION_TIMEOUT (30 minut) určuje, kdy je návrat z pozadí považován za novou relaci, nikoli za pokračování předchozí.

Pravidla timeoutu různých platforem

PlatformaTimeout relaceZpůsob určení
Firebase Analytics30 minAutomaticky, bez přizpůsobení
Amplitude5 min (výchozí)Nastavitelné přes SDK
AppsFlyer60 minPevný interval
Mixpanel30 minNastavitelné přes volbu minimumSessionDuration
Adjust60 minAutomaticky, vázáno na životní cyklus

Výběr timeoutu ovlivňuje metriky: krátký timeout (5 min) vytváří více relací, dlouhý timeout (60 min) — spojuje interakce. Nejdůležitější — stanovit pravidlo a neměnit jej při porovnávání období.

Klíčové metriky relací

Analýza relací se opírá o čtyři základní metriky. Každá odhaluje určitý aspekt chování uživatele.

Session Duration

Délka relace — průměrný čas, který uživatel stráví v aplikaci během jedné návštěvy. Pro zpravodajské aplikace je norma 2–4 minuty, pro hry — 8–15 minut, pro streamovací služby — 20+ minut. Pokud Session Duration klesá, je to signál problémů s obsahem nebo výkonem.

Session Interval

Interval mezi relacemi — čas mezi koncem předchozí relace a začátkem následující. Krátký interval (minuty nebo hodiny) ukazuje na vysoké zapojení. Dlouhý interval (dny) — na nízký zájem nebo utilitární scénář, kdy je aplikace potřeba zřídka.

Sessions Per User

Počet relací na uživatele za období (den, týden, měsíc) — ukazatel Stickiness. Vzorec: DAU / MAU (Day Active Users / Monthly Active Users). Hodnota nad 20% je považována za dobrou, nad 50% — za vynikající pro většinu kategorií aplikací.

Session Depth

Hloubka relace — počet obrazovek nebo akcí během jedné relace. Ukazuje, jak hluboko se uživatel noří do funkcionality aplikace. Nízká hloubka při vysoké délce naznačuje problémy s navigací.

  • Session Duration — čas v aplikaci na návštěvu
  • Session Interval — frekvence návratů
  • Sessions Per User — úroveň zapojení
  • Session Depth — kvalita interakce

Relace v iOS a Android

Platformní rozdíly v životním cyklu aplikace přímo ovlivňují definici relace. iOS a Android zpracovávají stavy pozadí a oznámení odlišně.

Android — životní cyklus Activity

Na Androidu relace začíná voláním onStart() prvního Activity a končí při onStop() posledního Activity. Systém však může zabít proces na pozadí, což falešně ukončí relaci. Doporučuje se používat Application.ActivityLifecycleCallbacks pro spolehlivé sledování.

kotlin
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()
                }
            }
        })
    }
}

Počítadlo activityReferences určuje, zda uživatel vidí alespoň jednu obrazovku. Když se aktivita stane 0 — aplikace přešla na pozadí, relace skončila.

iOS — UIApplicationDelegate

Na iOS je relace vázána na metody applicationDidBecomeActive a applicationDidEnterBackground. Oznámení o kliknutí na push notifikaci mohou uměle zvyšovat počítadlo relací — to je třeba zohlednit v analytice.

Příklad v Swift:

swift
import UIKit

class AppDelegate: UIResponder, UIApplicationDelegate {

    func applicationDidBecomeActive(_ application: UIApplication) {
        Analytics.trackSessionStart()
    }

    func applicationDidEnterBackground(_ application: UIApplication) {
        Analytics.trackSessionEnd()
    }
}

Upozornění: na iOS přepínání mezi aplikacemi (App Switcher) neukončuje relaci — pouze přechod do hlubokého pozadí nebo přejetí pro zavření.

Jak analyzovat uživatelské relace?

Analýza relací přesahuje prosté počítání. Segmentace a kohortová analýza odhalují vzorce zapojení, které nejsou vidět v agregovaných datech.

Kohortová analýza relací

Seskupujte uživatele podle týdne instalace a sledujte průměrný počet relací v prvních 7 dnech. Pokud je v kohortě nedávných instalací Sessions Per User nižší než u starších, je to signál zhoršení onboardingu nebo kvality provozu.

  • Den 0 — instalace + první relace
  • Den 1–3 — období aktivace (očekává se 3+ relací)
  • Den 7–30 — vytváření návyku (stabilní 1–2 relace denně)
  • Den 30+ — udržení loajálních uživatelů

Anomálie relací: jak je odhalit

Anomálie v metrikách relací jsou časnými indikátory problémů. Náhlý nárůst krátkých relací (do 5 sekund) po vydání ukazuje na chybu při spuštění. Pokles Session Duration o 30% za den — možný výpadek serveru nebo změna API. Nastavte monitorování s prahy: pokud průměrná Session Duration klesla o více než 2 standardní odchylky od 7denního klouzavého průměru — alert v systému.

Používejte segmentaci podle verze aplikace v reportech relací. Verze 3.2.0 ukazuje Session Duration 4 minuty, verze 3.2.1 — 2 minuty. Příčina — změna v onboardingu. Vrácení verze obnoví metriku. Bez segmentace podle verze byste viděli průměrný pokles, ale nenašli byste příčinu.

Segmentace podle frekvence relací

Power Users (5+ relací denně) — vaše klíčové publikum. Casual Users (1–2 relace týdně) — skupina pro reaktivaci. Dormant Users (0 relací za 30 dní) — kandidáti na retargeting nebo odhlášení z push notifikací.

Pro každý segment počítejte samostatné metriky: Session Duration pro Power Users ukáže hloubku používání, pro Casual — bariéry vstupu. Podle údajů Amplitude (2024) aplikace, které personalizují obsah podle segmentu relací, zvyšují Session Duration v průměru o 18% měsíčně.

Využití relací v reportech retence

Retence se počítá prostřednictvím relací: uživatel je udržen v den N, pokud měl alespoň jednu relaci. Různé produkty však vyžadují různé definice. Pro sociální sítě může být relace 1 sekunda (jen otevřel pro kontrolu notifikací), pro streamovací službu — 15 minut.

Používejte relace odinstalace jako indikátor kvality: pokud po aktualizaci vzrostl počet krátkých relací (méně než 10 sekund), uživatelé nenacházejí potřebnou funkcionalitu. To je časný signál UX problémů před růstem odinstalací.

Atribuce relací provozu

Propojte relace se zdrojem provozu: uživatelé z placených kanálů by měli mít více relací a delší Session Duration. Pokud organický provoz vykazuje Session Duration o 40% vyšší než placený, problém je v kvalitě cílení. Atribuce relací pomáhá optimalizovat rozpočet na akvizici.

Často kladené otázky

Jak dlouhá by měla být průměrná relace v mobilní aplikaci?

Průměrná délka relace závisí na kategorii: hry — 8–15 minut, sociální sítě — 5–10 minut, utility — 1–3 minuty. Důležitější je trend: pokud Session Duration klesne o 20% za měsíc, je potřeba UX audit.

Proč relace nekončí při minimalizaci aplikace?

Mnoho analytických SDK nezaznamenává událost konce při minimalizaci — čekají na timeout. Pokud uživatel minimalizoval aplikaci na 1 minutu a vrátil se, počítá se to jako jedna relace. Teprve po timeoutu (30–60 min) začíná nová relace.

Jak souvisejí relace s retencí?

Retence uživatele v den N se vypočítá jako podíl těch, kteří nainstalovali a měli alespoň jednu relaci ten den. Pokud relace nejsou správně sledovány, retence bude systematicky podhodnocena nebo nadhodnocena.

Ovlivňuje práce na pozadí počítání relací?

Ano, aktivita na pozadí (přehrávání hudby, navigace, synchronizace) může udržovat aplikaci v aktivním stavu. Je lepší oddělovat relace v popředí (uživatel vidí obrazovku) od procesorových relací (práce na pozadí bez rozhraní).

Jaký timeout relace zvolit pro předplatnou aplikaci?

Pro předplatné služby (streaming, fitness, vzdělávání) se doporučuje timeout 5–10 minut. Uživatelé se často vracejí po krátké přestávce — a každá pauza by měla být počítána jako nová relace, aby nedocházelo ke zkreslování Session Duration.

Shrnutí

  • Relace — základní prvek mobilní analytiky, který definuje období interakce uživatele s aplikací.
  • Timeout relace se pohybuje od 5 do 60 minut v závislosti na platformě a nastavení SDK.
  • Session Duration — metrika zapojení, norma závisí na kategorii aplikace.
  • Session Interval ukazuje frekvenci návratů a pomáhá identifikovat utilitární scénáře.
  • iOS a Android vyžadují odlišný přístup ke sledování kvůli rozdílům v životním cyklu.
  • Kohortová analýza relací odhaluje zhoršení onboardingu nebo kvality provozu.
  • Segmentace podle frekvence relací umožňuje personalizovat obsah a zvyšovat zapojení.

Vyvineme mobilní aplikaci na klíč

IT Sectr vytváří aplikace pro iOS a Android pro startupy a podniky od roku 2017. Poradíme vám a navrhneme nejlepší řešení.

Prodiskutovat projekt

Přečtěte si také