single
Challenge: Mapping the Lifecycle of a Spacestream Explorer
Swipe um das Menü anzuzeigen
Sie sind nun damit beauftragt, fortgeschrittene Retentionsmetriken für SpaceStream, einen intergalaktischen Holovision-Dienst, zu berechnen. Als leitende:r Datenanalyst:in analysieren Sie eine Kohorte von 5 Nutzer:innen über drei Monate hinweg und verfolgen, wer loyal bleibt und wer abspringt. Ihr Ziel ist es, für jeden Monat drei entscheidende Kennzahlen zu berechnen: Retention Rate (Bindungsrate), Churn Rate (Abwanderungsrate) und Survival Rate (Überlebensrate).
Beginnen Sie mit der Analyse des bereitgestellten Datensatzes, in dem jeder Nutzer für jeden Monat als aktiv (1) oder inaktiv (0) markiert ist. Die Spalten month_0, month_1 und month_2 stehen für die Aktivität über drei aufeinanderfolgende Monate. Ihre Lösung erfordert den Einsatz von pandas, um diesen Datensatz zu verarbeiten und die benötigten Kennzahlen für jeden Monat zu extrahieren.
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)
Dieser Code berechnet die geforderten Kennzahlen für jeden Monat. Die Retention Rate misst, welcher Anteil der ursprünglichen Kohorte in einem bestimmten Monat aktiv ist. Die Churn Rate ist einfach eins minus der Retentionsrate und zeigt den Anteil der nicht mehr aktiven Nutzer:innen. Die Survival Rate prüft, welche Nutzer:innen von Beginn an bis zum aktuellen Monat durchgehend aktiv geblieben sind – hierfür muss ein:e Nutzer:in in jedem bisherigen Monat eine 1 aufweisen.
Wischen, um mit dem Codieren zu beginnen
Schreiben Sie eine Python-Funktion namens calculate_cohort_metrics(df), die ein DataFrame mit derselben Struktur wie oben beschrieben entgegennimmt und drei Listen zurückgibt: retention_rate, churn_rate und survival_rate für jeden Monat. Ihre Funktion sollte:
- Ein DataFrame akzeptieren, bei dem jede Zeile einen Nutzer darstellt und jede Spalte nach
user_ideinen Monat repräsentiert (z. B.month_0,month_1, ...). - Die Retentionsrate für jeden Monat als Anteil der Kohorten-Nutzer berechnen, die in diesem Monat aktiv sind.
- Die Churn-Rate für jeden Monat als Eins minus der Retentionsrate berechnen.
- Die Survival-Rate für jeden Monat als Anteil der Nutzer berechnen, die in allen Monaten bis einschließlich diesem Monat aktiv waren.
- Die drei Listen in folgender Reihenfolge zurückgeben: retention_rate, churn_rate, survival_rate.
Lösung
Danke für Ihr Feedback!
single
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen