Beräkning av Retention- och Churn-mått
Svep för att visa menyn
Retentions- och churn-mått är viktiga verktyg inom kohortanalys och hjälper dig att mäta hur väl din produkt behåller användare över tid samt var du eventuellt tappar dem. Retentionsgraden kvantifierar andelen användare från en kohort som förblir aktiva efter en viss period. Churn-graden är komplementet och visar andelen användare som har slutat engagera sig. Överlevnadsgraden spårar sannolikheten att en användare förblir aktiv upp till varje tidsperiod, vilket ger en bild av användarens livslängd.
Formler:
- Retentionsgrad (vid period n):
Retention Rate = (Number of users active in period n) / (Number of users in cohort at period 0); - Churn-grad (vid period n):
Churn Rate = 1 - Retention Rate (at period n); - Överlevnadsgrad (vid period n):
Survival Rate = (Number of users still active at period n) / (Number of users in cohort at period 0).
Dessa mått visualiseras ofta med hjälp av retentionskurvor eller överlevnadsdiagram, vilket gör det enkelt att snabbt upptäcka mönster, såsom kraftiga bortfall eller stabila perioder. Genom att följa dessa mått över flera kohorter och tidsperioder kan du identifiera framgångsrika engagemangsstrategier och områden som behöver förbättras.
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"]])
Denna kod visar hur man beräknar och visualiserar retentions-, churn- och överlevnadsgrader för användarkohorter med hjälp av pandas och matplotlib i Python.
Syftet är att analysera hur grupper av användare (kohorter) beter sig över tid, med fokus på deras engagemang och livslängd i en produkt.
Datastruktur:
- Datan är organiserad som en DataFrame där varje rad representerar en användare;
- Kolumner inkluderar ett unikt användar-ID, kohortmånad (när användaren gick med) och binära aktivitetsindikatorer för varje månad (1 = aktiv, 0 = inaktiv).
Beräkningslogik:
För varje kohort:
- Beräknas retentionsgraden för varje månad som andelen användare som fortfarande är aktiva jämfört med den ursprungliga kohortstorleken;
- Churn-graden beräknas som komplementet till retention (1 - retentionsgrad);
- Överlevnadsgraden visar sannolikheten att en användare förblir aktiv upp till varje period, där antalet kvarvarande användare uppdateras efter varje månad.
Visualisering:
- Retentions- och överlevnadskurvor ritas för varje kohort med matplotlib;
- Dessa diagram hjälper dig att visuellt jämföra hur snabbt användare faller bort (churn) eller förblir engagerade (retention/överlevnad) mellan olika kohorter och tidsperioder, vilket avslöjar trender och mönster i användarengagemang.
Att tolka retention- och churn-mått är avgörande för att fatta välgrundade affärsbeslut. Höga retentionsnivåer indikerar att användare upplever ett kontinuerligt värde i produkten, vilket tyder på starkt engagemang och produktmarknadsanpassning. Omvänt kan höga churn-nivåer signalera problem som ouppfyllda användarbehov, bristfällig onboarding eller konkurrenstryck. Överlevnadskurvor hjälper till att visualisera hur snabbt kohorter minskar – branta nedgångar kan avslöja när användare vanligtvis tappar intresset.
Genom att regelbundet följa dessa mått kan du identifiera trender över tid och mellan olika kohorter. Om till exempel en ny funktion sammanfaller med ökad retention kan det vara värt att investera vidare i den riktningen. Om churn däremot ökar efter en viss uppdatering kan det tyda på behov av produktförbättring eller ytterligare användarstöd. I slutändan ger dessa mått dig möjlighet att testa hypoteser, optimera användarresor och fördela resurser effektivt.
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal