single
Challenge: Het in Kaart Brengen van de Levenscyclus van een Spacestream-Verkenner
Veeg om het menu te tonen
Je bent nu verantwoordelijk voor het berekenen van geavanceerde retentiemetingen voor SpaceStream, een intergalactische holovisiondienst. Als Lead Data Analyst analyseer je een cohort van 5 gebruikers over drie maanden, waarbij je bijhoudt wie loyaal blijft en wie afhaakt. Het doel is om drie cruciale statistieken per maand te berekenen: retentiepercentage, churn-percentage en overlevingspercentage.
Begin met het onderzoeken van de meegeleverde dataset, waarin elke gebruiker als actief (1) of inactief (0) is gemarkeerd voor elke maand. De kolommen month_0, month_1 en month_2 geven de activiteit over drie opeenvolgende maanden weer. Je oplossing vereist het gebruik van pandas om deze dataset te verwerken en de benodigde statistieken per maand te extraheren.
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)
Deze code berekent de benodigde statistieken voor elke maand. Het retentiepercentage geeft aan welk deel van het oorspronkelijke cohort in een bepaalde maand actief is. Het churn-percentage is simpelweg één min het retentiepercentage en geeft het aandeel weer dat niet langer actief is. Het overlevingspercentage kijkt naar gebruikers die continu actief zijn gebleven vanaf het begin tot en met de huidige maand – hiervoor moet een gebruiker in elke maand tot nu toe een 1 hebben.
Veeg om te beginnen met coderen
Schrijf een Python-functie genaamd calculate_cohort_metrics(df) die een DataFrame accepteert met dezelfde structuur als hierboven en drie lijsten retourneert: retention_rate, churn_rate en survival_rate voor elke maand. De functie moet:
- Een DataFrame accepteren waarbij elke rij een gebruiker is en elke kolom na
user_ideen maand voorstelt (bijv.month_0,month_1, ...). - Het retentiepercentage voor elke maand berekenen als het aandeel cohortgebruikers dat in die maand actief is.
- Het churnpercentage voor elke maand berekenen als één min het retentiepercentage.
- Het survivalpercentage voor elke maand berekenen als het aandeel gebruikers dat in alle maanden tot en met die maand actief was.
- De drie lijsten retourneren in de volgorde: retention_rate, churn_rate, survival_rate.
Oplossing
Bedankt voor je feedback!
single
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.