Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Beräkning av Retention- och Churn-mått | Avancerad Kohortsegmentering och Retentionsmått
Kohortanalys med Python

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.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
import 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:

  1. Beräknas retentionsgraden för varje månad som andelen användare som fortfarande är aktiva jämfört med den ursprungliga kohortstorleken;
  2. Churn-graden beräknas som komplementet till retention (1 - retentionsgrad);
  3. Ö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.

question mark

Vilket av följande påståenden om retention- och churn-mått i kohortanalys är korrekt?

Vänligen välj det korrekta svaret

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 2. Kapitel 2

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Avsnitt 2. Kapitel 2
some-alt