La sesión en analítica móvil es un período de interacción continua del usuario con la aplicación, limitado en el tiempo. Esta métrica sirve como base para calcular la retención, el compromiso y el LTV. Según Adjust, 2025, la duración mediana de una sesión en las aplicaciones es de 4–7 minutos, pero varía mucho según la categoría. Comprender las métricas de sesión es fundamental para evaluar la calidad de la experiencia del usuario.
Puntos clave
Una sesión es un período de tiempo durante el cual el usuario interactúa activamente con la aplicación. La sesión comienza cuando se abre la aplicación (o se regresa del fondo) y finaliza después de un período de inactividad o al cerrarse.
Diferentes plataformas de análisis definen los límites de la sesión de manera distinta. Firebase Analytics considera una sesión completada tras 30 minutos de inactividad, AppsFlyer tras 60 minutos, Amplitude tras 5 minutos o con el evento session_end. No existe un único estándar.
Las métricas basadas en sesiones son la base para calcular la retención (Retention Rate), la profundidad de compromiso (Stickiness Ratio) y la distribución de usuarios por frecuencia de uso (Session Frequency). Sin una definición correcta de la sesión, todas las métricas derivadas serán incorrectas.
Según Mixpanel (2024), las aplicaciones que mejoraron la Session Duration en un 15% demostraron un crecimiento del LTV del 22% en un trimestre. Esta es una correlación directa entre el tiempo en la aplicación y la monetización.
La medición de la sesión se basa en eventos del ciclo de vida de la aplicación: open (session_start) y close (session_end). Entre ellos, se registran todas las acciones del usuario.
// Basic session tracker for 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
}
}
El código rastrea el inicio y el fin de la sesión a través de callbacks del sistema. El parámetro SESSION_TIMEOUT (30 minutos) determina cuándo un retorno del fondo se considera una nueva sesión y no una continuación de la anterior.
| Plataforma | Timeout de sesión | Método de determinación |
|---|---|---|
| Firebase Analytics | 30 min | Automático, sin personalización |
| Amplitude | 5 min (predeterminado) | Configurable a través del SDK |
| AppsFlyer | 60 min | Intervalo fijo |
| Mixpanel | 30 min | Configurable mediante la opción minimumSessionDuration |
| Adjust | 60 min | Automático, vinculado al ciclo de vida |
La elección del timeout afecta las métricas: un timeout corto (5 min) crea más sesiones, uno largo (60 min) fusiona las interacciones. Lo importante es fijar una regla y no cambiarla al comparar períodos.
El análisis de sesiones se basa en cuatro métricas básicas. Cada una revela un aspecto específico del comportamiento del usuario.
La duración de la sesión es el tiempo promedio que un usuario pasa en la aplicación por visita. Para aplicaciones de noticias, la norma es de 2–4 minutos; para juegos, de 8–15 minutos; para servicios de streaming, de 20+ minutos. Si la Session Duration cae, es una señal de problemas con el contenido o el rendimiento.
El intervalo entre sesiones es el tiempo entre el final de la sesión anterior y el inicio de la siguiente. Un intervalo corto (minutos u horas) indica un alto compromiso. Un intervalo largo (días) señala bajo interés o un caso de uso utilitario donde la aplicación rara vez se necesita.
El número de sesiones por usuario en un período (día, semana, mes) es un indicador de Stickiness. Fórmula: DAU / MAU (Daily Active Users / Monthly Active Users). Un valor superior al 20% se considera bueno, superior al 50% — excelente para la mayoría de las categorías de aplicaciones.
La profundidad de la sesión es el número de pantallas o acciones en una sola sesión. Muestra cuán profundamente el usuario explora la funcionalidad de la aplicación. Una profundidad baja con una duración alta indica problemas de navegación.
Las diferencias de plataforma en el ciclo de vida de la aplicación afectan directamente la definición de la sesión. iOS y Android manejan los estados de fondo y las notificaciones de manera diferente.
En Android, una sesión comienza cuando se llama a onStart() de la primera Activity y finaliza con onStop() de la última Activity. Sin embargo, el sistema puede eliminar el proceso en segundo plano, lo que finaliza la sesión falsamente. Se recomienda usar Application.ActivityLifecycleCallbacks para un seguimiento fiable.
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()
}
}
})
}
}
El contador activityReferences determina si el usuario ve al menos una pantalla. Cuando llega a 0, la aplicación ha pasado a segundo plano y la sesión finaliza.
En iOS, una sesión está vinculada a los métodos applicationDidBecomeActive y applicationDidEnterBackground. Las notificaciones push pueden inflar artificialmente el recuento de sesiones; esto debe tenerse en cuenta en el análisis.
Ejemplo en Swift:
import UIKit
class AppDelegate: UIResponder, UIApplicationDelegate {
func applicationDidBecomeActive(_ application: UIApplication) {
Analytics.trackSessionStart()
}
func applicationDidEnterBackground(_ application: UIApplication) {
Analytics.trackSessionEnd()
}
}
Nota: en iOS, cambiar entre aplicaciones (App Switcher) no finaliza la sesión — solo el paso a fondo profundo o el deslizamiento de cierre la activan.
El análisis de sesiones va más allá del simple recuento. La segmentación y el análisis de cohortes revelan patrones de compromiso que no se pueden ver en los datos agregados.
Agrupe a los usuarios por semana de instalación y observe el número promedio de sesiones en los primeros 7 días. Si la cohorte de instalaciones más reciente tiene un Sessions Per User más bajo que las anteriores, es una señal de deterioro en la incorporación o la calidad del tráfico.
Las anomalías en las métricas de sesión son indicadores tempranos de problemas. Un aumento repentino de sesiones cortas (menos de 5 segundos) después de un lanzamiento señala un error de inicio. Una caída del 30% en la Session Duration en un día puede indicar una caída del servidor o un cambio de API. Configure una supervisión con umbrales: si la duración promedio de la sesión cae más de 2 desviaciones estándar de la media móvil de 7 días, active una alerta.
Utilice la segmentación por versión de la aplicación en los informes de sesión. La versión 3.2.0 muestra una Session Duration de 4 minutos, la versión 3.2.1 muestra 2 minutos. La causa es un cambio en la incorporación. Revertir la versión restaura la métrica. Sin la segmentación por versión, vería una caída promedio pero no encontraría la causa raíz.
Los Power Users (5+ sesiones al día) — su audiencia clave. Los Casual Users (1–2 sesiones por semana) — un grupo para reactivar. Los Dormant Users (0 sesiones en 30 días) — candidatos para retargeting o exclusión de notificaciones push.
Para cada segmento, calcule métricas separadas: la Session Duration para los Power Users muestra la profundidad de uso, mientras que para los Casual Users muestra las barreras de entrada. Según Amplitude (2024), las aplicaciones que personalizan el contenido por segmento de sesión aumentan la Session Duration en un promedio del 18% mensual.
La retención se calcula a través de las sesiones: un usuario se retiene en el Día N si tuvo al menos una sesión. Sin embargo, diferentes productos requieren diferentes definiciones. Para las redes sociales, una sesión puede ser de 1 segundo (solo abrió para ver notificaciones), mientras que para un servicio de streaming puede ser de 15 minutos.
Utilice las sesiones de desinstalación como indicador de calidad: si después de una actualización aumenta el número de sesiones cortas (menos de 10 segundos), los usuarios no encuentran la funcionalidad necesaria. Esta es una señal temprana de problemas de UX antes de que aumenten las desinstalaciones.
Vincule las sesiones con las fuentes de tráfico: los usuarios de canales pagados deberían tener más sesiones y una mayor Session Duration. Si el tráfico orgánico muestra una Session Duration un 40% superior al tráfico pagado, hay un problema de calidad de segmentación. La atribución de sesiones ayuda a optimizar el presupuesto de adquisición.
Preguntas frecuentes
La duración promedio de la sesión depende de la categoría: juegos — 8–15 minutos, redes sociales — 5–10 minutos, utilidades — 1–3 minutos. La tendencia es lo que más importa: si la Session Duration cae un 20% en un mes, se necesita una auditoría de UX.
Muchos SDK de análisis no generan un evento de finalización al minimizar — esperan un timeout. Si el usuario minimiza la aplicación durante 1 minuto y regresa, se cuenta como una sola sesión. Solo después del timeout (30–60 min) comienza una nueva sesión.
La retención de un usuario en el Día N se calcula como la proporción de instaladores que tuvieron al menos una sesión ese día. Si las sesiones no se rastrean correctamente, la retención se subestimará o sobreestimará sistemáticamente.
Sí, la actividad en segundo plano (reproducción de música, navegación, sincronización) puede mantener la aplicación en un estado activo. Es mejor separar las sesiones en primer plano (el usuario ve la pantalla) de las sesiones de procesador (trabajo en segundo plano sin interfaz de usuario).
Para servicios de suscripción (streaming, fitness, educación), se recomienda un timeout de 5–10 minutos. Los usuarios suelen regresar después de una pausa corta, y cada pausa debe contar como una nueva sesión para no distorsionar la Session Duration.
Resumen
Desarrollaremos una aplicación móvil llave en mano
IT Sectr crea aplicaciones para iOS y Android para startups y empresas desde 2017. Le asesoraremos y le propondremos la mejor solución.
Lea también