Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Challenge: Mapping the Lifecycle of a SpaceStream Explorer | Розширена сегментація когорт і метрики утримання
Когортний аналіз з Python
Секція 2. Розділ 3
single

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 для обробки цього датасету та обчислення необхідних метрик для кожного місяця.

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)

Цей код обчислює необхідні метрики для кожного місяця. Рівень утримання показує, яка частка початкової когорти залишається активною у відповідному місяці. Рівень відтоку — це просто одиниця мінус рівень утримання, що вказує на частку користувачів, які більше неактивні. Рівень виживання визначає користувачів, які залишалися безперервно активними з початку до поточного місяця — тобто користувач повинен мати 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.

Рішення

Switch to desktopПерейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 3
single

single

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

some-alt