single
Sfida: Mappatura del Ciclo di Vita di un Esploratore Spacestream
Scorri per mostrare il menu
Ora ti viene richiesto di calcolare metriche avanzate di retention per SpaceStream, un servizio di holovision intergalattico. In qualità di Lead Data Analyst, analizzerai una coorte di 5 utenti su tre mesi, monitorando chi rimane fedele e chi si allontana. L'obiettivo è calcolare tre metriche fondamentali per ciascun mese: Tasso di Retention, Tasso di Abbandono e Tasso di Sopravvivenza.
Inizia esaminando il dataset fornito, in cui ogni utente è indicato come attivo (1) o inattivo (0) per ciascun mese. Le colonne month_0, month_1 e month_2 rappresentano l'attività nei tre mesi consecutivi. La soluzione richiederà l'utilizzo di pandas per elaborare questo dataset ed estrarre le metriche necessarie per ogni mese.
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)
Questo codice calcola le metriche richieste per ciascun mese. Il tasso di retention misura la frazione della coorte originale che è attiva in un determinato mese. Il tasso di abbandono è semplicemente uno meno il tasso di retention, indicando la proporzione che non è più attiva. Il tasso di sopravvivenza verifica gli utenti che sono rimasti continuamente attivi dall'inizio fino al mese corrente, richiedendo che un utente abbia 1 in ogni mese fino a quel momento.
Scorri per iniziare a programmare
Scrivere una funzione Python chiamata calculate_cohort_metrics(df) che accetti un DataFrame con la stessa struttura sopra descritta e restituisca tre liste: retention_rate, churn_rate e survival_rate per ciascun mese. La funzione deve:
- Accettare un DataFrame in cui ogni riga rappresenta un utente e ogni colonna dopo
user_idrappresenta un mese (ad esempio,month_0,month_1, ...). - Calcolare il retention rate per ogni mese come frazione degli utenti della coorte attivi in quel mese.
- Calcolare il churn rate per ogni mese come uno meno il retention rate.
- Calcolare il survival rate per ogni mese come frazione degli utenti che sono stati attivi in tutti i mesi fino a e incluso quel mese.
- Restituire le tre liste nell'ordine: retention_rate, churn_rate, survival_rate.
Soluzione
Grazie per i tuoi commenti!
single
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione