Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Challenge: Kartläggning av Livscykeln för en SpaceStream-Explorer | Avancerad Kohortsegmentering och Retentionsmått
Kohortanalys med Python
Avsnitt 2. Kapitel 3
single

single

Challenge: Kartläggning av Livscykeln för en SpaceStream-Explorer

Svep för att visa menyn

Du har nu fått i uppgift att beräkna avancerade retention-mått för SpaceStream, en intergalaktisk holovisionstjänst. Som Lead Data Analyst ska du analysera en kohort på 5 användare över tre månader och följa vilka som förblir lojala och vilka som försvinner. Målet är att beräkna tre viktiga mått för varje månad: Retention Rate (retentionsgrad), Churn Rate (avhoppsgrad) och Survival Rate (överlevnadsgrad).

Börja med att granska den tillhandahållna datamängden, där varje användare är markerad som aktiv (1) eller inaktiv (0) för varje månad. Kolumnerna month_0, month_1 och month_2 representerar aktivitet under tre på varandra följande månader. Din lösning kräver att du använder pandas för att bearbeta denna datamängd och ta fram de nödvändiga måtten för varje månad.

1234567891011121314151617181920212223242526
import 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)

Denna kod beräknar de nödvändiga måtten för varje månad. Retention rate mäter andelen av den ursprungliga kohorten som är aktiv under en viss månad. Churn rate är helt enkelt ett minus retention rate och visar andelen som inte längre är aktiva. Survival rate kontrollerar vilka användare som har varit kontinuerligt aktiva från början fram till aktuell månad – vilket kräver att en användare har 1 för varje månad hittills.

Uppgift

Svep för att börja koda

Skriv en Python-funktion kallad calculate_cohort_metrics(df) som tar emot en DataFrame med samma struktur som ovan och returnerar tre listor: retention_rate, churn_rate och survival_rate för varje månad. Funktionen ska:

  • Acceptera en DataFrame där varje rad motsvarar en användare och varje kolumn efter user_id är en månad (t.ex. month_0, month_1, ...).
  • Beräkna retention rate för varje månad som andelen kohortanvändare som är aktiva den månaden.
  • Beräkna churn rate för varje månad som ett minus retention rate.
  • Beräkna survival rate för varje månad som andelen användare som varit aktiva under samtliga månader fram till och med den aktuella månaden.
  • Returnera de tre listorna i ordningen: retention_rate, churn_rate, survival_rate.

Lösning

Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 2. Kapitel 3
single

single

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

some-alt