single
Challenge: Kartlegging av Livssyklusen til en Spacestream-Utforsker
Sveip for å vise menyen
Du har nå fått i oppgave å beregne avanserte retensjonsmetrikker for SpaceStream, en intergalaktisk holovision-tjeneste. Som ledende dataanalytiker skal du analysere en kohort på 5 brukere over tre måneder, og følge med på hvem som forblir lojale og hvem som faller fra. Målet ditt er å beregne tre sentrale metrikker for hver måned: Retensjonsrate, Churn-rate og Overlevelsesrate.
Start med å undersøke det medfølgende datasettet, hvor hver bruker er markert som aktiv (1) eller inaktiv (0) for hver måned. Kolonnene month_0, month_1 og month_2 representerer aktivitet over tre påfølgende måneder. Løsningen din krever at du bruker pandas for å behandle datasettet og hente ut 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 koden beregner de nødvendige metrikker for hver måned. Retensjonsrate måler hvilken andel av den opprinnelige kohorten som er aktive i en gitt måned. Churn-rate er rett og slett én minus retensjonsraten, og viser andelen som ikke lenger er aktive. Overlevelsesrate ser på brukere som har vært kontinuerlig aktive fra starten og frem til inneværende måned – det vil si at brukeren må ha en 1 i hver måned så langt.
Sveip for å begynne å kode
Skriv en Python-funksjon kalt calculate_cohort_metrics(df) som tar inn en DataFrame med samme struktur som ovenfor og returnerer tre lister: retention_rate, churn_rate og survival_rate for hver måned. Funksjonen din skal:
- Akseptere en DataFrame der hver rad er en bruker og hver kolonne etter
user_ider en måned (f.eks.month_0,month_1, ...). - Beregne beholdningsrate (retention rate) for hver måned som andelen kohortbrukere som er aktive i den måneden.
- Beregne frafallsrate (churn rate) for hver måned som én minus beholdningsraten.
- Beregne overlevelsesrate (survival rate) for hver måned som andelen brukere som har vært aktive i alle måneder opp til og med den måneden.
- Returnere de tre listene i rekkefølgen: retention_rate, churn_rate, survival_rate.
Løsning
Takk for tilbakemeldingene dine!
single
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår