single
Challenge: Mapping the Lifecycle of a SpaceStream Explorer
Свайпніть щоб показати меню
Вам доручено обчислити розширені метрики утримання для SpaceStream — міжгалактичного сервісу голографічного телебачення. Як провідний дата-аналітик, ви проаналізуєте когорту з 5 користувачів протягом трьох місяців, відстежуючи, хто залишається лояльним, а хто відпадає. Ваша мета — розрахувати три ключові метрики для кожного місяця: рівень утримання (Retention Rate), рівень відтоку (Churn Rate) та рівень виживання (Survival Rate).
Почніть з аналізу наданого датасету, де кожен користувач позначений як активний (1) або неактивний (0) для кожного місяця. Стовпці month_0, month_1 та month_2 відображають активність протягом трьох послідовних місяців. Для вирішення завдання потрібно використати pandas для обробки цього датасету та обчислення необхідних метрик для кожного місяця.
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)
Цей код обчислює необхідні метрики для кожного місяця. Рівень утримання показує, яка частка початкової когорти залишається активною у відповідному місяці. Рівень відтоку — це просто одиниця мінус рівень утримання, що вказує на частку користувачів, які більше неактивні. Рівень виживання визначає користувачів, які залишалися безперервно активними з початку до поточного місяця — тобто користувач повинен мати 1 у кожному місяці до цього моменту.
Проведіть, щоб почати кодувати
Напишіть функцію Python під назвою calculate_cohort_metrics(df), яка приймає DataFrame з такою ж структурою, як вище, і повертає три списки: retention_rate, churn_rate та survival_rate для кожного місяця. Ваша функція повинна:
- Приймати DataFrame, де кожен рядок — це користувач, а кожен стовпець після
user_id— це місяць (наприклад,month_0,month_1, ...). - Обчислювати коефіцієнт утримання для кожного місяця як частку користувачів когорти, активних у цьому місяці.
- Обчислювати коефіцієнт відтоку для кожного місяця як одиниця мінус коефіцієнт утримання.
- Обчислювати коефіцієнт виживання для кожного місяця як частку користувачів, які були активні у всі місяці до цього включно.
- Повернути три списки у такому порядку: retention_rate, churn_rate, survival_rate.
Рішення
Дякуємо за ваш відгук!
single
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат