Retentie- en churn-metrics berekenen
Veeg om het menu te tonen
Retentie- en churn-metrics zijn essentiële hulpmiddelen in cohortanalyse. Ze helpen bij het meten van hoe goed een product gebruikers over tijd behoudt en waar gebruikers mogelijk afhaken. Het retentiepercentage kwantificeert het percentage gebruikers uit een cohort dat na een bepaalde periode actief blijft. Het churnpercentage is het complement en toont het percentage gebruikers dat is gestopt met deelnemen. Het overlevingspercentage volgt de kans dat een gebruiker tot elke tijdsperiode actief blijft, wat inzicht geeft in de levensduur van gebruikers.
Formules:
- Retentiepercentage (op periode n):
Retention Rate = (Number of users active in period n) / (Number of users in cohort at period 0); - Churnpercentage (op periode n):
Churn Rate = 1 - Retention Rate (at period n); - Overlevingspercentage (op periode n):
Survival Rate = (Number of users still active at period n) / (Number of users in cohort at period 0).
Deze metrics worden vaak gevisualiseerd met behulp van retentiecurves of survival plots, waarmee snel patronen zichtbaar worden, zoals sterke dalingen of stabiele periodes. Door deze percentages over meerdere cohorten en tijdsperioden te volgen, kunnen succesvolle engagementstrategieën en verbeterpunten worden geïdentificeerd.
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"]])
Deze code laat zien hoe retentie-, churn- en overlevingspercentages voor gebruikerscohorten berekend en gevisualiseerd kunnen worden met pandas en matplotlib in Python.
Het doel is om te analyseren hoe groepen gebruikers (cohorten) zich over tijd gedragen, met focus op hun betrokkenheid en levensduur bij een product.
Datastructuur:
- De data is georganiseerd als een DataFrame waarbij elke rij een gebruiker vertegenwoordigt;
- Kolommen bevatten een unieke gebruikers-ID, de cohortmaand (wanneer de gebruiker zich heeft aangemeld) en binaire activiteitsindicatoren per maand (1 = actief, 0 = inactief).
Berekeningslogica:
Voor elk cohort:
- Berekent de code het retentiepercentage per maand als het aandeel gebruikers dat nog actief is ten opzichte van de oorspronkelijke cohortgrootte;
- Berekent het churnpercentage als het complement van retentie (1 - retentiepercentage);
- Volgt het overlevingspercentage, dat de kans toont dat een gebruiker tot elke periode actief blijft, waarbij het aantal resterende gebruikers na elke maand wordt bijgewerkt.
Visualisatie:
- Retentie- en survivalcurves worden per cohort geplot met matplotlib;
- Deze grafieken helpen om visueel te vergelijken hoe snel gebruikers afhaken (churn) of betrokken blijven (retentie/overleving) tussen cohorten en tijdsperioden, waardoor trends en patronen in gebruikersbetrokkenheid zichtbaar worden.
Het interpreteren van retentie- en churn-metrics is essentieel voor het nemen van onderbouwde zakelijke beslissingen. Hoge retentiecijfers geven aan dat gebruikers blijvende waarde in je product zien, wat wijst op sterke betrokkenheid en een goede product-marktfit. Daarentegen kunnen hoge churn-cijfers wijzen op problemen zoals onvervulde gebruikersbehoeften, een gebrekkige onboarding of concurrentiedruk. Survival curves helpen bij het visualiseren van hoe snel cohorten krimpen – sterke dalingen kunnen laten zien wanneer gebruikers doorgaans hun interesse verliezen.
Door deze metrics regelmatig te volgen, kun je trends in de tijd en tussen verschillende cohorten identificeren. Bijvoorbeeld, als een nieuwe feature samenvalt met een hogere retentie, kan het de moeite waard zijn om daar verder in te investeren. Aan de andere kant, als churn toeneemt na een bepaalde update, kan dat wijzen op een behoefte aan productverbetering of extra gebruikersondersteuning. Uiteindelijk stellen deze metrics je in staat om hypotheses te testen, gebruikersreizen te optimaliseren en middelen effectief toe te wijzen.
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.