Створення Ознак для Когортного Аналізу
Свайпніть щоб показати меню
Фічер інжиніринг — це процес створення нових змінних із сирих даних для покращення аналізу, моделювання або сегментації. У когортному аналізі ефективний фічер інжиніринг допомагає отримати глибші інсайти щодо поведінки користувачів з часом. Типові ознаки включають життєвий цикл користувача (як довго користувач був активним), кількість активностей (скільки разів користувач виконав певну дію) та рецентність (наскільки нещодавно користувач був активним). Ці ознаки дозволяють більш змістовно групувати користувачів, виявляючи закономірності у втриманні, залученості та відтоку. Завдяки створенню таких ознак можна вийти за межі базового призначення когорт і формувати більш інформативні та практичні когорти.
12345678910111213141516171819202122232425262728import 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)
Ознаки, створені у наведеному прикладі коду — життєвий цикл користувача, кількість активностей та рецентність — є потужними інструментами для сегментації та аналізу когорт. Вимірюючи, як довго користувач залишається активним, як часто він взаємодіє та наскільки нещодавно відбулася остання активність, можна визначити суттєві відмінності між когортами. Наприклад, користувачі з довгим життєвим циклом і частою активністю можуть належати до найбільш залучених когорт, тоді як користувачі з високими значеннями рецентності можуть бути в зоні ризику відтоку. Такі інженерні ознаки дозволяють перейти від простого групування за часом до багатовимірної сегментації, що розкриває глибші поведінкові патерни та підтримує більш цілеспрямовані бізнес-стратегії.
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат