Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Challenge: Cartographie du Cycle de Vie d’un Explorateur Spacestream | Segmentation Avancée des Cohortes et Métriques de Rétention
Analyse de Cohortes avec Python
Section 2. Chapitre 3
single

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.

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)

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é.

Tâche

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_id repré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

Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 3
single

single

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

some-alt