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.
1234567891011121314151617181920212223242526import 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.
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
Tack för dina kommentarer!
single
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