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

Створення Ознак для Когортного Аналізу

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

Фічер інжиніринг — це процес створення нових змінних із сирих даних для покращення аналізу, моделювання або сегментації. У когортному аналізі ефективний фічер інжиніринг допомагає отримати глибші інсайти щодо поведінки користувачів з часом. Типові ознаки включають життєвий цикл користувача (як довго користувач був активним), кількість активностей (скільки разів користувач виконав певну дію) та рецентність (наскільки нещодавно користувач був активним). Ці ознаки дозволяють більш змістовно групувати користувачів, виявляючи закономірності у втриманні, залученості та відтоку. Завдяки створенню таких ознак можна вийти за межі базового призначення когорт і формувати більш інформативні та практичні когорти.

12345678910111213141516171819202122232425262728
import pandas as pd # Sample user activity data data = { "user_id": [1, 1, 1, 2, 2, 3, 3, 3, 3], "activity_date": [ "2024-01-01", "2024-01-10", "2024-02-01", "2024-01-05", "2024-02-20", "2024-01-03", "2024-01-10", "2024-01-20", "2024-03-01" ] } df = pd.DataFrame(data) df["activity_date"] = pd.to_datetime(df["activity_date"]) # Calculate user lifetime (days between first and last activity) user_lifetime = df.groupby("user_id")["activity_date"].agg(["min", "max"]) user_lifetime["user_lifetime_days"] = (user_lifetime["max"] - user_lifetime["min"]).dt.days # Calculate activity count per user activity_counts = df.groupby("user_id").size().rename("activity_count") # Calculate recency (days since last activity, assuming analysis date is 2024-03-15) analysis_date = pd.to_datetime("2024-03-15") recency = df.groupby("user_id")["activity_date"].max().apply(lambda x: (analysis_date - x).days).rename("recency_days") # Combine features into a single DataFrame features = pd.concat([user_lifetime["user_lifetime_days"], activity_counts, recency], axis=1) print(features)

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

question mark

Яке з наведеного найкраще описує мету створення ознак у когортному аналізі?

Виберіть правильну відповідь

Все було зрозуміло?

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

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

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

Запитати АІ

expand

Запитати АІ

ChatGPT

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

Секція 1. Розділ 2
some-alt