Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Challenge: Kartlegging av Livssyklusen til en Spacestream-Utforsker | Avansert kohortsegmentering og retensjonsmetrikker
Kohortanalyse med Python
Seksjon 2. Kapittel 3
single

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.

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)

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.

Oppgave

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_id er 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

Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 3
single

single

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

some-alt