Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Техніки призначення когорт | Структурування та підготовка когортних даних
Когортний аналіз з Python
Секція 1. Розділ 1
single

single

Техніки призначення когорт

Свайпніть щоб показати меню

Когортний аналіз — це потужна аналітична техніка, яка дозволяє групувати користувачів на основі спільних характеристик або досвіду в межах визначеного періоду часу. Найпоширеніший метод — призначати користувачів до когорт відповідно до дати їхньої першої транзакції або взаємодії. Такий підхід дає змогу відстежувати поведінку різних груп у динаміці, виявляючи тенденції, такі як утримання, залученість і відтік, які були б приховані в агрегованих даних.

Призначення користувачів до когорт є базовим кроком у когортному аналізі. Визначаючи чіткі правила для призначення до когорт — наприклад, групування за місяцем або тижнем першої покупки користувача — можна створити змістовні сегменти для глибшого аналізу. Цей процес допомагає не лише виявляти зміни в поведінці користувачів, а й підтримує більш цілеспрямовані бізнес-рішення, такі як оцінка впливу змін продукту чи маркетингових кампаній на окремі групи користувачів.

Розуміння та впровадження коректного призначення до когорт забезпечує, що ваш аналіз відображає справжні користувацькі шляхи та надає практичні інсайти. Наступний приклад коду демонструє, як призначати користувачів до когорт за датою їхньої першої транзакції в Python з використанням pandas.

12345678910111213141516171819
import pandas as pd # Sample transaction data data = { "user_id": [1, 2, 1, 3, 2, 4], "transaction_date": [ "2024-01-15", "2024-01-20", "2024-02-10", "2024-03-05", "2024-03-10", "2024-03-15" ], "amount": [100, 150, 200, 120, 80, 90] } df = pd.DataFrame(data) df["transaction_date"] = pd.to_datetime(df["transaction_date"]) # Assigning each user to a cohort based on their first transaction month df["cohort_month"] = df.groupby("user_id")["transaction_date"].transform("min").dt.to_period("M") print(df[["user_id", "transaction_date", "cohort_month"]])

Логіка призначення до когорт полягає у визначенні унікальної події або характеристики — найчастіше дати першої транзакції користувача — і використанні її для визначення когорти для кожного користувача. У наведеному вище прикладі коду використовується pandas для групування даних за user_id і знаходження мінімальної transaction_date для кожного користувача. Ця дата потім конвертується у місячний період, створюючи cohort_month, що представляє когорту користувача.

Під час впровадження призначення до когорт слід враховувати крайові випадки, такі як користувачі з кількома транзакціями в один день, відсутніми датами транзакцій або ті, хто може повернутися до системи після тривалої відсутності. Найкращою практикою є забезпечення стійкості логіки призначення до когорт до таких ситуацій шляхом обробки відсутніх значень і перевірки, що кожен користувач призначений до однієї когорти на основі його справжньої першої взаємодії.

Дотримання цих принципів допомагає зберігати цілісність когорт, забезпечуючи, що подальший аналіз точно відображає поведінку користувачів і підтримує обґрунтовані бізнес-рішення.

Завдання

Проведіть, щоб почати кодувати

Вам надано DataFrame df зі стовпцями user_id та signup_date, які представляють реєстрації користувачів. Виконайте наступні кроки:

  • Перетворіть стовпець signup_date у формат datetime.
  • Для кожного користувача визначте найранішу дату реєстрації (signup_date).
  • Створіть новий стовпець cohort_week, який міститиме тижневий період (YYYY-MM-DD з тижневою частотою) першої дати реєстрації користувача, використовуючи функціонал періодів pandas з частотою 'W'.
  • Виведіть отриманий DataFrame, який має містити новий стовпець cohort_week.

Не змінюйте жодних інших стовпців або структури DataFrame, окрім додавання необхідного стовпця cohort_week.

Рішення

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

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

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

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

single

Запитати АІ

expand

Запитати АІ

ChatGPT

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

some-alt