Berechnung von Retentions- und Churn-Metriken
Swipe um das Menü anzuzeigen
Retention- und Churn-Metriken sind wesentliche Werkzeuge in der Kohortenanalyse. Sie helfen dabei, zu messen, wie gut ein Produkt Nutzer über die Zeit hinweg bindet und an welchen Stellen Nutzer verloren gehen. Die Retention Rate quantifiziert den Prozentsatz der Nutzer einer Kohorte, die nach einem bestimmten Zeitraum weiterhin aktiv sind. Die Churn Rate ist das Gegenstück dazu und zeigt den Prozentsatz der Nutzer, die nicht mehr aktiv sind. Die Survival Rate verfolgt die Wahrscheinlichkeit, dass ein Nutzer bis zu jedem Zeitpunkt aktiv bleibt, und bietet so einen Einblick in die Nutzer-Lebensdauer.
Formeln:
- Retention Rate (im Zeitraum n):
Retention Rate = (Number of users active in period n) / (Number of users in cohort at period 0); - Churn Rate (im Zeitraum n):
Churn Rate = 1 - Retention Rate (im Zeitraum n); - Survival Rate (im Zeitraum n):
Survival Rate = (Number of users still active at period n) / (Number of users in cohort at period 0).
Diese Metriken werden häufig mithilfe von Retention-Kurven oder Survival-Plots visualisiert, die es ermöglichen, Muster wie starke Abfälle oder stabile Phasen schnell zu erkennen. Durch die Verfolgung dieser Raten über mehrere Kohorten und Zeiträume hinweg lassen sich erfolgreiche Engagement-Strategien und Verbesserungsbereiche identifizieren.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566import pandas as pd import numpy as np import matplotlib.pyplot as plt # Example cohort data: each row is a user, columns are activity in each month (1 = active, 0 = inactive) data = { "user_id": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], "cohort_month": ["2023-01"] * 5 + ["2023-02"] * 5, "month_0": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1], # All users active at signup "month_1": [1, 0, 1, 1, 0, 1, 1, 0, 1, 1], "month_2": [1, 0, 0, 1, 0, 1, 0, 0, 1, 0], "month_3": [0, 0, 0, 1, 0, 1, 0, 0, 0, 0], } df = pd.DataFrame(data) # Calculating retention, churn, and survival rates for each cohort results = [] for cohort, group in df.groupby("cohort_month"): cohort_size = len(group) retention = [] churn = [] survival = [] users_remaining = cohort_size for month in ["month_0", "month_1", "month_2", "month_3"]: active = group[month].sum() retention_rate = active / cohort_size retention.append(retention_rate) churn.append(1 - retention_rate) survival.append(users_remaining / cohort_size) users_remaining = active # Update for next period results.append({ "cohort_month": cohort, "retention": retention, "churn": churn, "survival": survival, }) # Converting results to DataFrame for plotting metrics_df = pd.DataFrame(results) months = ["month_0", "month_1", "month_2", "month_3"] # Plot retention curves plt.figure(figsize=(10, 5)) for idx, row in metrics_df.iterrows(): plt.plot(months, row["retention"], marker="o", label=f"Cohort {row['cohort_month']}") plt.title("Cohort Retention Curves") plt.xlabel("Months Since Signup") plt.ylabel("Retention Rate") plt.legend() plt.show() # Plot survival curves plt.figure(figsize=(10, 5)) for idx, row in metrics_df.iterrows(): plt.plot(months, row["survival"], marker="o", label=f"Cohort {row['cohort_month']}") plt.title("Cohort Survival Curves") plt.xlabel("Months Since Signup") plt.ylabel("Survival Rate") plt.legend() plt.show() # Printing calculated metrics print(metrics_df[["cohort_month", "retention", "churn", "survival"]])
Dieser Code zeigt, wie Retention-, Churn- und Survival-Raten für Nutzerkohorten mit pandas und matplotlib in Python berechnet und visualisiert werden.
Ziel ist es, das Verhalten von Nutzergruppen (Kohorten) über die Zeit zu analysieren, mit Fokus auf deren Engagement und Verbleib bei einem Produkt.
Datenstruktur:
- Die Daten sind als DataFrame organisiert, wobei jede Zeile einen Nutzer repräsentiert;
- Die Spalten umfassen eine eindeutige Nutzer-ID, den Kohortenmonat (Zeitpunkt des Beitritts) und binäre Aktivitätsindikatoren für jeden Monat (1 = aktiv, 0 = inaktiv).
Berechnungslogik:
Für jede Kohorte berechnet der Code:
- Die Retention Rate für jeden Monat als Anteil der noch aktiven Nutzer im Vergleich zur ursprünglichen Kohortengröße;
- Die Churn Rate als Gegenstück zur Retention (1 - Retention Rate);
- Die Survival Rate, die die Wahrscheinlichkeit angibt, dass ein Nutzer bis zu jedem Zeitraum aktiv bleibt, wobei die Anzahl der verbleibenden Nutzer nach jedem Monat aktualisiert wird.
Visualisierung:
- Retention- und Survival-Kurven werden für jede Kohorte mit matplotlib geplottet;
- Diese Diagramme ermöglichen einen visuellen Vergleich, wie schnell Nutzer abspringen (Churn) oder engagiert bleiben (Retention/Survival) über Kohorten und Zeiträume hinweg und zeigen Trends und Muster im Nutzerengagement auf.
Die Interpretation von Retentions- und Churn-Metriken ist entscheidend für fundierte Geschäftsentscheidungen. Hohe Retention-Raten zeigen, dass Nutzer einen fortlaufenden Mehrwert in Ihrem Produkt sehen, was auf starke Bindung und ein gutes Product-Market-Fit hindeutet. Im Gegensatz dazu können hohe Churn-Raten auf Probleme wie unerfüllte Nutzerbedürfnisse, unzureichendes Onboarding oder Wettbewerbsdruck hinweisen. Survival-Kurven visualisieren, wie schnell Kohorten schrumpfen – starke Abfälle können aufzeigen, wann Nutzer typischerweise das Interesse verlieren.
Durch regelmäßiges Tracking dieser Kennzahlen lassen sich Trends im Zeitverlauf und zwischen verschiedenen Kohorten erkennen. Beispielsweise kann eine erhöhte Retention nach der Einführung eines neuen Features darauf hindeuten, dass sich weitere Investitionen in diese Richtung lohnen. Umgekehrt kann ein Anstieg der Churn-Rate nach einem bestimmten Update auf Verbesserungsbedarf am Produkt oder zusätzlichen Nutzer-Support hinweisen. Letztlich ermöglichen diese Kennzahlen das Testen von Hypothesen, die Optimierung der Nutzerreise und eine effektive Ressourcenallokation.
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen