Session в мобилната аналитика: какво е това, как се изчислява и какви метрики

Автор: IT Sectr Публикувано: 2026-04-21 Време за четене: 10 мин

Session в мобилната аналитика е период на непрекъснато взаимодействие на потребителя с приложението, ограничен във времето. Метриката служи като база за изчисляване на задържането, ангажираността и LTV. Според данни на Adjust, 2025, медианната дължина на сесия в приложенията е 4–7 минути, но силно варира между категориите. Разбирането на метриките на сесията е критично за оценка на качеството на потребителското изживяване.

Основни положения

  • Сесия — непрекъснат период на взаимодействие на потребителя с приложението без дълго прекъсване.
  • Продължителност на сесията (Session Duration) — ключова метрика за ангажираност, измервана в минути.
  • Интервал между сесиите (Session Interval) показва колко често потребителят се връща в приложението.
  • iOS и Android определят различно началото и края на сесията поради разлики в жизнения цикъл на приложението.
  • Анализ на сесиите позволява сегментиране на аудиторията по ниво на ангажираност и идентифициране на проблемни сценарии.

Какво е сесия в мобилната аналитика?

Сесия е времеви период, през който потребителят активно взаимодейства с приложението. Сесията започва от момента на отваряне на приложението (или връщане от фонов режим) и приключва след период на бездействие или затваряне.

Различните аналитични платформи определят границите на сесията по различен начин. Firebase Analytics счита сесията за приключила след 30 минути бездействие, AppsFlyer — след 60 минути, Amplitude — след 5 минути или чрез събитие session_end. Няма единен стандарт.

Защо сесиите са важни

Метриките, базирани на сесии, са основа за изчисляване на задържането (Retention Rate), дълбочината на ангажираност (Stickiness Ratio) и разпределението на потребителите по честота на използване (Session Frequency). Без правилно определение на сесията всички производни метрики ще бъдат грешни.

Според данни на Mixpanel (2024), приложенията, които са подобрили Session Duration с 15%, показват ръст на LTV с 22% в рамките на тримесечие. Това е пряка корелация между времето в приложението и монетизацията.

Как се измерва сесията?

Измерването на сесията се базира на събития от жизнения цикъл на приложението: open (session_start) и close (session_end). В промеждутъка между тях се регистрират всички действия на потребителя.

kotlin
// Най-прост тракер на сесии за 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
    }
}

Кодът проследява началото и края на сесията чрез системни обратни извиквания. Параметърът SESSION_TIMEOUT (30 минути) определя кога връщането от фонов режим се счита за нова сесия, а не за продължение на предишната.

Правила за таймаут на различните платформи

ПлатформаТаймаут на сесиятаНачин на определяне
Firebase Analytics30 минАвтоматично, без персонализация
Amplitude5 мин (по подразбиране)Конфигурира се чрез SDK
AppsFlyer60 минФиксиран интервал
Mixpanel30 минКонфигурира се чрез опцията minimumSessionDuration
Adjust60 минАвтоматично, свързано с жизнения цикъл

Изборът на таймаут влияе на метриките: кратък таймаут (5 мин) създава повече сесии, дълъг таймаут (60 мин) — обединява взаимодействията. Най-важното — да се установи правило и да не се променя при сравняване на периоди.

Ключови метрики на сесията

Анализът на сесиите се опира на четири основни метрики. Всяка разкрива определен аспект от поведението на потребителя.

Session Duration

Продължителност на сесията — средното време, което потребителят прекарва в приложението за едно посещение. За новинарски приложения нормата е 2–4 минути, за игри — 8–15 минути, за стрийминг услуги — 20+ минути. Ако Session Duration пада, това е сигнал за проблеми със съдържанието или производителността.

Session Interval

Интервал между сесиите — времето между края на предишната сесия и началото на следващата. Кратък интервал (минути или часове) показва висока ангажираност. Дълъг интервал (дни) — нисък интерес или сценарий на полезност, когато приложението е необходимо рядко.

Sessions Per User

Брой сесии на потребител за период (ден, седмица, месец) — индикатор за Stickiness. Формула: DAU / MAU (Day Active Users / Monthly Active Users). Стойност над 20% се счита за добра, над 50% — за отлична за повечето категории приложения.

Session Depth

Дълбочина на сесията — брой екрани или действия в рамките на една сесия. Показва колко дълбоко потребителят навлиза във функционалността на приложението. Ниска дълбочина при висока продължителност показва проблеми с навигацията.

  • Session Duration — време в приложението на посещение
  • Session Interval — честота на връщанията
  • Sessions Per User — ниво на ангажираност
  • Session Depth — качество на взаимодействие

Сесия в iOS и Android

Платформени различия в жизнения цикъл на приложението пряко влияят върху определението на сесията. iOS и Android обработват фоновете състояния и известията по различен начин.

Android — жизнен цикъл на Activity

На Android сесията започва при извикване на onStart() на първото Activity и завършва при onStop() на последното Activity. Системата обаче може да убие процеса във фонов режим, което фалшиво приключва сесията. Препоръчва се използване на Application.ActivityLifecycleCallbacks за надеждно проследяване.

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

Броячът activityReferences определя дали потребителят вижда поне един екран. Когато активността стане 0 — приложението е преминало във фонов режим, сесията е приключила.

iOS — UIApplicationDelegate

На iOS сесията е свързана с методите applicationDidBecomeActive и applicationDidEnterBackground. Известията за кликване върху push известие могат изкуствено да повишат брояча на сесии — това трябва да се вземе предвид в аналитиката.

Пример на Swift:

swift
import UIKit

class AppDelegate: UIResponder, UIApplicationDelegate {

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

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

Обърнете внимание: на iOS превключването между приложения (App Switcher) не приключва сесията — само преминаване в дълбок фонов режим или плъзгане за затваряне.

Как да анализираме потребителските сесии?

Анализът на сесии надхвърля простото преброяване. Сегментирането и кохортният анализ разкриват модели на ангажираност, които не се виждат в агрегираните данни.

Кохортен анализ на сесии

Групирайте потребителите по седмица на инсталиране и вижте средния брой сесии през първите 7 дни. Ако в кохортата на последните инсталации Sessions Per User е по-нисък от по-старите, това е сигнал за влошаване на onboarding или качеството на трафика.

  • Ден 0 — инсталиране + първа сесия
  • Дни 1–3 — период на активиране (очакват се 3+ сесии)
  • Дни 7–30 — формиране на навик (стабилни 1–2 сесии на ден)
  • Ден 30+ — задържане на лоялни потребители

Аномалии на сесията: как да ги откриваме

Аномалиите в метриките на сесията са ранни индикатори за проблеми. Внезапно нарастване на кратки сесии (до 5 секунди) след издаване показва грешка при стартиране. Пад на Session Duration с 30% за един ден — възможна повреда на сървър или промяна на API. Настройте мониторинг с прагове: ако средната Session Duration е паднала с повече от 2 стандартни отклонения от 7-дневната плъзгаща средна — аларма в системата.

Използвайте сегментиране по версия на приложението в отчетите за сесии. Версия 3.2.0 показва Session Duration 4 минути, версия 3.2.1 — 2 минути. Причина — промяна в onboarding. Връщането на версията възстановява метриката. Без сегментиране по версия бихте видели среден спад, но не бихте намерили причината.

Сегментиране по честота на сесиите

Power Users (5+ сесии на ден) — вашата ключова аудитория. Casual Users (1–2 сесии на седмица) — група за реактивация. Dormant Users (0 сесии за 30 дни) — кандидати за ретаргетиране или отписване от push известия.

За всеки сегмент изчислявайте отделни метрики: Session Duration за Power Users ще покаже дълбочината на използване, а за Casual — бариерите за влизане. Според данни на Amplitude (2024), приложенията, които персонализират съдържанието според сегмента на сесията, увеличават Session Duration средно с 18% на месец.

Използване на сесии в отчетите за задържане

Задържането се изчислява чрез сесии: потребителят е задържан на ден N, ако е имал поне една сесия. Различните продукти обаче изискват различни определения. За социалните мрежи сесията може да бъде 1 секунда (просто отворил да провери известията), за стрийминг услуга — 15 минути.

Използвайте сесии за деинсталиране като индикатор за качество: ако след актуализация е нараснал броят на кратките сесии (по-малко от 10 секунди), потребителите не намират необходимата функционалност. Това е ранен сигнал за UX проблеми преди нарастване на деинсталиранията.

Сесийна атрибуция на трафика

Свържете сесиите с източника на трафик: потребителите от платени канали трябва да имат повече сесии и по-голяма Session Duration. Ако органичният трафик показва Session Duration с 40% по-висок от платения, проблемът е в качеството на таргетиране. Сесийната атрибуция помага за оптимизиране на бюджета за привличане.

Често задавани въпроси

Колко трябва да продължава средната сесия в мобилно приложение?

Средната продължителност на сесията зависи от категорията: игри — 8–15 минути, социални мрежи — 5–10 минути, помощни програми — 1–3 минути. По-важен е трендът: ако Session Duration падне с 20% за месец, е необходим UX одит.

Защо сесията не приключва при минимизиране на приложението?

Много аналитични SDK не записват събитие за край при минимизиране — чакат таймаут. Ако потребителят е минимизирал приложението за 1 минута и се е върнал, това се счита за една сесия. Едва след таймаут (30–60 мин) започва нова сесия.

Как сесиите са свързани със задържането?

Задържането на потребителя на ден N се изчислява като дял на инсталиралите, които са имали поне една сесия този ден. Ако сесиите не се проследяват правилно, задържането ще бъде систематично подценено или надценено.

Влияе ли работата във фонов режим на броенето на сесии?

Да, фоновата активност (възпроизвеждане на музика, навигация, синхронизация) може да задържи приложението в активно състояние. По-добре е да разделяте сесиите на преден план (потребителят вижда екрана) от процесорните сесии (работа във фонов режим без интерфейс).

Какъв таймаут на сесията да изберем за абонаментно приложение?

За абонаментни услуги (стрийминг, фитнес, обучение) се препоръчва таймаут от 5–10 минути. Потребителите често се връщат след кратка пауза — и всяка пауза трябва да се счита за нова сесия, за да не се изкривява Session Duration.

Обобщение

  • Сесия — основен елемент на мобилната аналитика, определящ периода на взаимодействие на потребителя с приложението.
  • Таймаут на сесията варира от 5 до 60 минути в зависимост от платформата и настройките на SDK.
  • Session Duration — метрика за ангажираност, нормата зависи от категорията на приложението.
  • Session Interval показва честотата на връщанията и помага за идентифициране на сценарии за полезност.
  • iOS и Android изискват различен подход за проследяване поради разлики в жизнения цикъл.
  • Кохортният анализ на сесии открива влошаване на onboarding или качеството на трафика.
  • Сегментирането по честота на сесиите позволява персонализиране на съдържанието и повишаване на ангажираността.

Ще разработим мобилно приложение под ключ

IT Sectr създава iOS и Android приложения за стартъпи и бизнеси от 2017 г. Ще ви консултираме и ще предложим най-доброто решение.

Обсъдете проекта

Прочетете също