single
Challenge: Cartographie du Cycle de Vie d’un Explorateur Spacestream
Glissez pour afficher le menu
Vous êtes maintenant chargé de calculer des métriques avancées de rétention pour SpaceStream, un service d’holovision intergalactique. En tant que Lead Data Analyst, vous allez analyser une cohorte de 5 utilisateurs sur trois mois, en suivant qui reste fidèle et qui s’éloigne. L’objectif est de calculer trois métriques essentielles pour chaque mois : Taux de rétention, Taux d’attrition et Taux de survie.
Commencez par examiner le jeu de données fourni, où chaque utilisateur est marqué comme actif (1) ou inactif (0) pour chaque mois. Les colonnes month_0, month_1 et month_2 représentent l’activité sur trois mois consécutifs. Votre solution nécessitera l’utilisation de pandas pour traiter ce jeu de données et extraire les métriques nécessaires pour chaque mois.
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)
Ce code calcule les métriques requises pour chaque mois. Le taux de rétention mesure la fraction de la cohorte initiale encore active à un mois donné. Le taux d’attrition correspond simplement à un moins le taux de rétention, indiquant la proportion qui n’est plus active. Le taux de survie identifie les utilisateurs qui sont restés continuellement actifs depuis le début jusqu’au mois courant – un utilisateur doit avoir une valeur 1 pour chaque mois écoulé.
Glissez pour commencer à coder
Écrire une fonction Python nommée calculate_cohort_metrics(df) qui prend en entrée un DataFrame ayant la même structure que ci-dessus et retourne trois listes : retention_rate, churn_rate et survival_rate pour chaque mois. Votre fonction doit :
- Accepter un DataFrame où chaque ligne correspond à un utilisateur et chaque colonne après
user_idreprésente un mois (par exemple,month_0,month_1, ...). - Calculer le taux de rétention pour chaque mois comme la fraction des utilisateurs du cohort actifs durant ce mois.
- Calculer le taux de churn pour chaque mois comme un moins le taux de rétention.
- Calculer le taux de survie pour chaque mois comme la fraction des utilisateurs ayant été actifs durant tous les mois jusqu'à et y compris ce mois.
- Retourner les trois listes dans l'ordre : retention_rate, churn_rate, survival_rate.
Solution
Merci pour vos commentaires !
single
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion