single
Challenge: Mapping the Lifecycle of a SpaceStream Explorer
Pyyhkäise näyttääksesi valikon
Tehtävänäsi on nyt laskea edistyneitä pysyvyysmittareita SpaceStreamille, galaktiselle holovisio-palvelulle. Pääanalyytikkona analysoit viiden käyttäjän kohorttia kolmen kuukauden ajalta, seuraten ketkä pysyvät uskollisina ja ketkä siirtyvät pois. Tavoitteena on laskea kolme keskeistä mittaria jokaiselle kuukaudelle: pysyvyysaste (Retention Rate), poistuma-aste (Churn Rate) ja selviytymisaste (Survival Rate).
Aloita tarkastelemalla annettua aineistoa, jossa jokainen käyttäjä on merkitty aktiiviseksi (1) tai epäaktiiviseksi (0) kullekin kuukaudelle. Sarakkeet month_0, month_1 ja month_2 kuvaavat aktiivisuutta kolmen peräkkäisen kuukauden aikana. Ratkaisusi vaatii pandas-kirjaston käyttöä tämän aineiston käsittelyyn ja tarvittavien mittareiden laskemiseen jokaiselle kuukaudelle.
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)
Tämä koodi laskee vaaditut mittarit jokaiselle kuukaudelle. Pysyvyysaste mittaa, kuinka suuri osa alkuperäisestä kohortista on aktiivinen kyseisenä kuukautena. Poistuma-aste on yksinkertaisesti yksi miinus pysyvyysaste, eli se kertoo kuinka suuri osa ei enää ole aktiivinen. Selviytymisaste tarkistaa käyttäjät, jotka ovat pysyneet jatkuvasti aktiivisina alusta kyseiseen kuukauteen asti – käyttäjällä täytyy siis olla 1 jokaisessa kuukaudessa tähän asti.
Pyyhkäise aloittaaksesi koodauksen
Kirjoita Python-funktio nimeltä calculate_cohort_metrics(df), joka ottaa syötteenä DataFrame-taulukon yllä kuvatulla rakenteella ja palauttaa kolme listaa: retention_rate, churn_rate ja survival_rate jokaiselle kuukaudelle. Funktion tulee:
- Hyväksyä DataFrame, jossa jokainen rivi on käyttäjä ja jokainen sarake
user_id-tunnisteen jälkeen on kuukausi (esim.month_0,month_1, ...). - Laskea retention rate eli säilyttämisaste jokaiselle kuukaudelle jakamalla kyseisen kuukauden aktiivisten käyttäjien määrä kohortin käyttäjien kokonaismäärällä.
- Laskea churn rate eli poistuma-aste jokaiselle kuukaudelle laskemalla yksi miinus retention rate.
- Laskea survival rate eli säilymisaste jokaiselle kuukaudelle jakamalla niiden käyttäjien määrä, jotka ovat olleet aktiivisia kaikissa kyseiseen kuukauteen asti (mukaan lukien) aktiivisissa kuukausissa, kohortin käyttäjien kokonaismäärällä.
- Palauttaa kolme listaa järjestyksessä: retention_rate, churn_rate, survival_rate.
Ratkaisu
Kiitos palautteestasi!
single
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme