single
Challenge: Mapping the Lifecycle of a SpaceStream-udforsker
Stryg for at vise menuen
Du skal nu beregne avancerede fastholdelsesmetrikker for SpaceStream, en intergalaktisk holovision-tjeneste. Som Lead Data Analyst skal du analysere en kohorte på 5 brugere over tre måneder og følge, hvem der forbliver loyale, og hvem der falder fra. Målet er at beregne tre centrale metrikker for hver måned: Fastholdelsesrate, Churn-rate og Overlevelsesrate.
Start med at undersøge det givne datasæt, hvor hver bruger er markeret som aktiv (1) eller inaktiv (0) for hver måned. Kolonnerne month_0, month_1 og month_2 repræsenterer aktivitet over tre på hinanden følgende måneder. Din løsning kræver, at du bruger pandas til at behandle datasættet og udtrække de nødvendige metrikker for hver måned.
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)
Denne kode beregner de nødvendige metrikker for hver måned. Fastholdelsesraten måler, hvilken andel af den oprindelige kohorte der er aktive i en given måned. Churn-raten er blot én minus fastholdelsesraten og angiver andelen, der ikke længere er aktive. Overlevelsesraten viser brugere, der har været kontinuerligt aktive fra starten og frem til den aktuelle måned – hvilket kræver, at en bruger har en 1 i hver måned indtil nu.
Swipe to start coding
Skriv en Python-funktion kaldet calculate_cohort_metrics(df), der tager en DataFrame med samme struktur som ovenfor og returnerer tre lister: retention_rate, churn_rate og survival_rate for hver måned. Din funktion skal:
- Acceptere en DataFrame, hvor hver række er en bruger, og hver kolonne efter
user_ider en måned (f.eks.month_0,month_1, ...). - Beregne retention rate for hver måned som andelen af cohort-brugere, der er aktive i den pågældende måned.
- Beregne churn rate for hver måned som én minus retention rate.
- Beregne survival rate for hver måned som andelen af brugere, der har været aktive i alle måneder op til og med den pågældende måned.
- Returnere de tre lister i rækkefølgen: retention_rate, churn_rate, survival_rate.
Løsning
Tak for dine kommentarer!
single
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat