Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Desafío: Mapeo del Ciclo de Vida de un Explorador de SpaceStream | Segmentación Avanzada de Cohortes y Métricas de Retención
Análisis de Cohortes con Python
Sección 2. Capítulo 3
single

single

Desafío: Mapeo del Ciclo de Vida de un Explorador de SpaceStream

Desliza para mostrar el menú

Ahora tienes la tarea de calcular métricas avanzadas de retención para SpaceStream, un servicio intergaláctico de holovisión. Como Analista Principal de Datos, analizarás una cohorte de 5 usuarios durante tres meses, rastreando quién permanece leal y quién se desvía. El objetivo es calcular tres métricas clave para cada mes: Tasa de Retención, Tasa de Deserción y Tasa de Supervivencia.

Comienza examinando el conjunto de datos proporcionado, donde cada usuario está marcado como activo (1) o inactivo (0) para cada mes. Las columnas month_0, month_1 y month_2 representan la actividad a lo largo de tres meses consecutivos. La solución requerirá utilizar pandas para procesar este conjunto de datos y extraer las métricas necesarias para cada mes.

1234567891011121314151617181920212223242526
import pandas as pd data = { "user_id": [1, 2, 3, 4, 5], "month_0": [1, 1, 1, 1, 1], # Everyone starts active "month_1": [1, 0, 1, 0, 1], # 3 users active "month_2": [1, 0, 0, 0, 0], # 1 user active } df = pd.DataFrame(data) # Calculating retention rate: fraction of original cohort active in each month cohort_size = len(df) retention_rate = [df[f"month_{i}"].sum() / cohort_size for i in range(3)] # Calculating churn rate: 1 - retention rate churn_rate = [1 - r for r in retention_rate] # Calculating survival rate: fraction of users still active in ALL months up to i survival_rate = [] for i in range(3): still_active = df[[f"month_{j}" for j in range(i + 1)]].all(axis=1).sum() survival_rate.append(still_active / cohort_size) print("retention_rate:", retention_rate) print("churn_rate:", churn_rate) print("survival_rate:", survival_rate)

Este código calcula las métricas requeridas para cada mes. La tasa de retención mide qué fracción de la cohorte original está activa en un mes determinado. La tasa de deserción es simplemente uno menos la tasa de retención, indicando la proporción que ya no está activa. La tasa de supervivencia verifica los usuarios que han permanecido activos de forma continua desde el inicio hasta el mes actual, requiriendo que el usuario tenga un 1 en cada mes hasta el momento.

Tarea

Desliza para comenzar a programar

Escribe una función de Python llamada calculate_cohort_metrics(df) que reciba un DataFrame con la misma estructura que el anterior y devuelva tres listas: retention_rate, churn_rate y survival_rate para cada mes. La función debe:

  • Aceptar un DataFrame donde cada fila representa un usuario y cada columna después de user_id corresponde a un mes (por ejemplo, month_0, month_1, ...).
  • Calcular la tasa de retención para cada mes como la fracción de usuarios del cohort activos en ese mes.
  • Calcular la tasa de abandono para cada mes como uno menos la tasa de retención.
  • Calcular la tasa de supervivencia para cada mes como la fracción de usuarios que estuvieron activos en todos los meses hasta e incluyendo ese mes.
  • Devolver las tres listas en el siguiente orden: retention_rate, churn_rate, survival_rate.

Solución

Switch to desktopCambia al escritorio para practicar en el mundo realContinúe desde donde se encuentra utilizando una de las siguientes opciones
¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 3
single

single

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

some-alt