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.
1234567891011121314151617181920212223242526import 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.
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_idcorresponde 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
¡Gracias por tus comentarios!
single
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla