Session sa mobile analytics ay isang panahon ng tuloy-tuloy na interaksyon ng user sa application, na may limitasyon sa oras. Ang metrik na ito ay nagsisilbing batayan para sa pagkalkula ng retention, engagement at LTV. Ayon sa datos ng Adjust, 2025, ang median na haba ng sesyon sa mga application ay 4–7 minuto, ngunit malaki ang pagkakaiba-iba sa pagitan ng mga kategorya. Ang pag-unawa sa mga metrik ng sesyon ay kritikal para sa pagtatasa ng kalidad ng karanasan ng gumagamit.
Mga Pangunahing Punto
Sesyon ay isang yugto ng oras kung saan aktibong nakikipag-ugnayan ang user sa application. Nagsisimula ang sesyon mula sa pagbubukas ng application (o pagbabalik mula sa background) at nagtatapos pagkatapos ng panahon ng kawalan ng aktibidad o pagsasara.
Iba't ibang analytics platform ang magkaiba ang pagtukoy sa mga hangganan ng sesyon. Itinuturing ng Firebase Analytics na tapos na ang sesyon pagkatapos ng 30 minutong kawalan ng aktibidad, AppsFlyer — pagkatapos ng 60 minuto, Amplitude — pagkatapos ng 5 minuto o sa pamamagitan ng session_end event. Walang iisang pamantayan.
Ang mga metrik na batay sa sesyon ay pundasyon para sa pagkalkula ng retention (Retention Rate), lalim ng engagement (Stickiness Ratio) at pamamahagi ng mga user ayon sa dalas ng paggamit (Session Frequency). Kung walang tamang pagtukoy sa sesyon, lahat ng hinangong metrik ay magiging mali.
Ayon sa datos ng Mixpanel (2024), ang mga application na nagpabuti ng Session Duration ng 15% ay nagpapakita ng paglago ng LTV na 22% sa loob ng isang quarter. Ito ay direktang ugnayan sa pagitan ng oras sa application at monetization.
Pagsukat ng sesyon ay batay sa mga kaganapan sa lifecycle ng application: open (session_start) at close (session_end). Sa pagitan ng mga ito, lahat ng aksyon ng user ay naitala.
// Pinakasimpleng session tracker para sa 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
}
}
Sinusubaybayan ng code ang simula at katapusan ng sesyon sa pamamagitan ng system callbacks. Tinutukoy ng parameter na SESSION_TIMEOUT (30 minuto) kung kailan ang pagbabalik mula sa background ay itinuturing na bagong sesyon, hindi pagpapatuloy ng nauna.
| Platform | Timeout ng sesyon | Paraan ng pagtukoy |
|---|---|---|
| Firebase Analytics | 30 min | Awtomatiko, walang kustomisasyon |
| Amplitude | 5 min (default) | Maaaring i-configure sa pamamagitan ng SDK |
| AppsFlyer | 60 min | Fixed interval |
| Mixpanel | 30 min | Maaaring i-configure sa pamamagitan ng minimumSessionDuration option |
| Adjust | 60 min | Awtomatiko, naka-ugnay sa lifecycle |
Ang pagpili ng timeout ay nakakaapekto sa mga metrik: maikling timeout (5 min) ay lumilikha ng mas maraming sesyon, mahabang timeout (60 min) — pinagsasama ang mga interaksyon. Pinakamahalaga — itakda ang panuntunan at huwag itong baguhin kapag nagkukumpara ng mga panahon.
Pagsusuri ng sesyon ay batay sa apat na pangunahing metrik. Bawat isa ay nagpapakita ng partikular na aspeto ng pag-uugali ng user.
Tagal ng sesyon — average na oras na ginugugol ng user sa application bawat pagbisita. Para sa mga news application, ang norm ay 2–4 minuto, para sa mga laro — 8–15 minuto, para sa streaming services — 20+ minuto. Kung bumaba ang Session Duration, ito ay senyales ng problema sa content o performance.
Interval sa pagitan ng mga sesyon — oras sa pagitan ng pagtatapos ng nakaraang sesyon at simula ng susunod. Maikling interval (minuto o oras) ay nagpapahiwatig ng mataas na engagement. Mahabang interval (araw) — mababang interes o utilitarian scenario kung saan bihira kailangan ang application.
Bilang ng mga sesyon bawat user sa isang panahon (araw, linggo, buwan) — indicator ng Stickiness. Formula: DAU / MAU (Day Active Users / Monthly Active Users). Ang halagang higit sa 20% ay itinuturing na mabuti, higit sa 50% — mahusay para sa karamihan ng mga kategorya ng application.
Lalim ng sesyon — bilang ng mga screen o aksyon sa loob ng isang sesyon. Nagpapakita kung gaano kalalim ang pagpasok ng user sa functionality ng application. Mababang lalim na may mataas na tagal ay nagpapahiwatig ng mga problema sa navigation.
Mga pagkakaiba sa platform sa lifecycle ng application ay direktang nakakaapekto sa pagtukoy ng sesyon. Magkaiba ang pag-handle ng iOS at Android sa background states at notifications.
Sa Android, nagsisimula ang sesyon sa pagtawag ng onStart() ng unang Activity at nagtatapos sa onStop() ng huling Activity. Gayunpaman, maaaring patayin ng system ang proseso sa background, na maling magtatapos sa sesyon. Inirerekomenda ang paggamit ng Application.ActivityLifecycleCallbacks para sa maaasahang pagsubaybay.
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()
}
}
})
}
}
Tinutukoy ng counter na activityReferences kung nakakakita ang user ng kahit isang screen. Kapag naging 0 ang aktibidad — ang application ay napunta sa background, tapos na ang sesyon.
Sa iOS, ang sesyon ay naka-ugnay sa mga pamamaraang applicationDidBecomeActive at applicationDidEnterBackground. Ang mga notification ng pag-click sa push notification ay maaaring artipisyal na magpataas ng session counter — ito ay dapat isaalang-alang sa analytics.
Halimbawa sa Swift:
import UIKit
class AppDelegate: UIResponder, UIApplicationDelegate {
func applicationDidBecomeActive(_ application: UIApplication) {
Analytics.trackSessionStart()
}
func applicationDidEnterBackground(_ application: UIApplication) {
Analytics.trackSessionEnd()
}
}
Pansinin: sa iOS, ang paglipat sa pagitan ng mga application (App Switcher) ay hindi nagtatapos ng sesyon — tanging ang pagpasok sa malalim na background o pag-swipe para isara.
Pagsusuri ng sesyon ay lampas sa simpleng pagbibilang. Ang segmentation at cohort analysis ay nagpapakita ng mga pattern ng engagement na hindi nakikita sa pinagsama-samang datos.
I-grupo ang mga user ayon sa linggo ng pag-install at tingnan ang average na bilang ng mga sesyon sa unang 7 araw. Kung sa cohort ng mga kamakailang pag-install ay mas mababa ang Sessions Per User kaysa sa mas luma, ito ay senyales ng pagbaba ng kalidad ng onboarding o traffic.
Mga anomalya sa session metrics ay maagang tagapagpahiwatig ng mga problema. Biglang pagtaas ng Maiikling Sesyon (hanggang 5 segundo) pagkatapos ng release ay nagpapahiwatig ng bug sa startup. Pagbaba ng Session Duration ng 30% sa isang araw — posibleng server failure o pagbabago sa API. I-configure ang monitoring na may mga threshold: kung ang average na Session Duration ay bumaba ng higit sa 2 standard deviations mula sa 7-araw na moving average — alerto sa system.
Gamitin ang segmentation ayon sa bersyon ng application sa mga ulat ng sesyon. Bersyon 3.2.0 ay nagpapakita ng Session Duration na 4 na minuto, bersyon 3.2.1 — 2 minuto. Dahilan — pagbabago sa onboarding. Pagbabalik ng bersyon ay nagpapanumbalik ng metrik. Kung walang segmentation ayon sa bersyon, makikita mo ang average na pagbaba ngunit hindi mo mahahanap ang dahilan.
Power Users (5+ sesyon bawat araw) — iyong pangunahing audience. Casual Users (1–2 sesyon bawat linggo) — grupo para sa reactivation. Dormant Users (0 sesyon sa loob ng 30 araw) — mga kandidato para sa retargeting o pag-unsubscribe mula sa push notifications.
Para sa bawat segment, kalkulahin ang hiwalay na metrik: Session Duration para sa Power Users ay magpapakita ng lalim ng paggamit, at para sa Casual — mga hadlang sa pagpasok. Ayon sa datos ng Amplitude (2024), ang mga application na nag-personalize ng content ayon sa session segment ay nagpapataas ng Session Duration ng average na 18% bawat buwan.
Retention ay kinakalkula sa pamamagitan ng mga sesyon: ang user ay napanatili sa Araw N kung mayroon siyang kahit isang sesyon. Gayunpaman, ang iba't ibang produkto ay nangangailangan ng iba't ibang pagtukoy. Para sa social networks, ang sesyon ay maaaring 1 segundo (binuksan lang para tingnan ang mga notification), para sa streaming service — 15 minuto.
Gamitin ang mga sesyon ng pag-uninstall bilang tagapagpahiwatig ng kalidad: kung pagkatapos ng update ay tumaas ang bilang ng maiikling sesyon (mas mababa sa 10 segundo), hindi mahanap ng mga user ang kinakailangang functionality. Ito ay maagang senyales ng UX problema bago tumaas ang mga pag-uninstall.
I-ugnay ang mga sesyon sa pinagmumulan ng traffic: ang mga user mula sa mga bayad na channel ay dapat magkaroon ng mas maraming sesyon at mas mataas na Session Duration. Kung ang organic traffic ay nagpapakita ng Session Duration na 40% mas mataas kaysa sa bayad, ang problema ay nasa kalidad ng targeting. Session attribution ay tumutulong na i-optimize ang budget sa pag-akit.
Mga Madalas Itanong
Ang average na tagal ng sesyon ay depende sa kategorya: mga laro — 8–15 minuto, social media — 5–10 minuto, mga utility — 1–3 minuto. Mas mahalaga ang trend: kung ang Session Duration ay bumaba ng 20% sa loob ng isang buwan, kailangan ng UX audit.
Maraming analytics SDK ang hindi nagtatala ng end event kapag pinaliit — naghihintay sila ng timeout. Kung pinaliit ng user ang application ng 1 minuto at bumalik, ito ay itinuturing na isang sesyon. Pagkatapos lamang ng timeout (30–60 min) magsisimula ang bagong sesyon.
Ang Retention ng user sa Araw N ay kinakalkula bilang proporsyon ng mga nag-install na may kahit isang sesyon sa araw na iyon. Kung ang mga sesyon ay hindi nasusubaybayan nang tama, ang retention ay sistematikong mababawasan o madaragdagan.
Oo, ang background activity (pag-play ng musika, navigation, synchronization) ay maaaring panatilihing aktibo ang application. Mas mainam na paghiwalayin ang foreground sessions (nakikita ng user ang screen) mula sa processor sessions (background work na walang interface).
Para sa mga serbisyong subscription (streaming, fitness, edukasyon) inirerekomenda ang timeout na 5–10 minuto. Ang mga user ay madalas bumalik pagkatapos ng maikling pahinga — at bawat pahinga ay dapat ituring na bagong sesyon upang hindi masira ang Session Duration.
Buod
Gagawa kami ng mobile application na turnkey
Gumagawa ang IT Sectr ng mga iOS at Android application para sa mga startup at negosyo mula noong 2017. Magpapayo kami sa iyo at magmumungkahi ng pinakamahusay na solusyon.
Basahin din