Para este proyecto, utilicé un dataset de más de 9,5 GB disponible en Kaggle, que contiene registros de logins de más de 3 millones de usuarios durante un año.
Originalmente, este dataset fue creado para investigación en sistemas de autenticación basada en riesgos (Risk-Based Authentication, RBA) y recopilado a partir del comportamiento de inicio de sesión de usuarios de un servicio en línea a gran escala en Noruega.
Los datos son sintéticos y se generaron de manera que reflejen patrones plausibles de uso, sin exponer información sensible de los usuarios.
Aunque su propósito inicial estaba enfocado en ciberseguridad, aproveché la riqueza y granularidad de este dataset para realizar análisis de frecuencia y recencia, así como para calcular usuarios activos diarios, semanales y mensuales, adaptándolo a un contexto de análisis de usuarios y métricas de adopción y retención.
Este trabajo se realizó sobre el dataset publicado por Stephan Wiefling, Paul René Jørgensen, Sigurd Thunem y Luigi Lo Iacono, bajo licencia Creative Commons Attribution 4.0 (CC BY 4.0).
Para preparar el dataset y adecuarlo al análisis de usuarios, seguí los siguientes pasos en Python.
Filtrado inicial para excluir los registros correspondientes a logins fallidos, obteniendo 12.541.442 registros.
Filtrado de registros asociados a posibles ataques, dejando 11.736.951 registros.
Filtrado de registros relacionados con “account takeover”, obteniendo 11.308.156 registros.
Selección de las columnas relevantes para el análisis, reduciendo el tamaño de 3,1 GB a 2,7 GB.
Agrupación por usuario y fecha (ya que solo los logins diarios son relevantes), obteniendo 8.815.307 registros, y cálculo de Daily Active Users (DAU) diferenciando usuarios que efectúan su primer login de usuarios ya activos previamente.
Análisis exploratorio de los datos resultantes:
Usuarios únicos: 2.933.249
Fecha mínima: 2020-02-03
Fecha máxima: 2021-02-11
Número de fechas únicas: 375
Creación de una tabla calendario semanal basada en el rango de fechas detectado. No se optó por un calendario diario debido al enorme volumen de registros que habría generado (~1.099.968.375 registros).
Reagrupación de los usuarios y sus logins por semana, generando un calendario por usuario (una fila por cada semana para cada usuario), y unión con los datos de login ( ####### registros). Se aplicó cierta normalización de datos para facilitar los cálculos de métricas.
Cálculo de estadísticas de frecuencia y recencia necesarias para los indicadores de adopción y retención deseados.
Work in progress - project will include:
Total users KPIs
Filters by date period, country, region, device type, browser, OS, etc.
DAU (daily active users) distinguishing "first login" (of a certain user) vs. "previously active".
Recency Categories (logged in this week, this month, this quarter, this year, ever, never) for each user (pie charts).
Weekly and monthly evolution of each category for each user (complete user-calendar analyisis; bar charts pero week/month/etc), as a sofistication of WAU and MAU analysis.