Files
dano2025/old data/preanalysis_old_bad/eda_report.ipynb
2025-12-16 01:51:05 +03:00

56 lines
4.6 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"cells": [
{
"cell_type": "markdown",
"id": "3d3a9c98",
"metadata": {},
"source": [
"# EDA «Коммуникации в Городе»\n",
"\n",
"## Кратко о данных\n",
"- 118189 строк, 8339 клиентов, 35 исходных столбцов + инженерные (totals, CTR/CR, флаги).\n",
"- Диапазон дат: 20250109 — 20251104 (284 дня).\n",
"- Категории сервисов: ent, super, transport, shopping, hotel, avia; активные и пассивные показы/клики, заказы по категориям.\n",
"- Дубликаты по ключу (id, business_dt): нет.\n",
"\n",
"## Качество данных\n",
"- Пропуски: несущественные (NaN почти нет), отрицательных значений не обнаружено.\n",
"- Возраст: 1580 лет, p1/p99 = 22/68, мусора (<14 или >100) нет.\n",
"- Гендер: 68.5% M, 31.5% F. Платформа после нормализации: ~52.5% iOS, ~46.7% Android, 1.1% iPadOS.\n",
"- Признаки «заспамленности» и агрегаты на клиента добавлены: imp/click/order totals, CTR/CR, contact_days, avg_impressions_per_contact_day, order_categories_count.\n",
"\n",
"## Каналы и эффективность (агрегировано по всем строкам)\n",
"- Active impressions ≈ 219.5k, passive impressions ≈ 473.1k.\n",
"- Active clicks ≈ 147.3k (CTR_active ≈ 0.67), passive clicks ≈ 18.1k (CTR_passive ≈ 0.038).\n",
"- Заказы всего: 12439; CR click→order ≈ 7.5%, CR imp→order ≈ 1.8%.\n",
"- Дневных точек: 284; daily агрегаты подготовлены (CTR/CR, day_of_week).\n",
"\n",
"## Демография и устройство vs эффективность (по клиентским агрегатам)\n",
"- Таблицы по полу/возрастным группам/платформам готовы в `04_clients_segmentation.ipynb` (средние impressions/clicks/orders и CTR/CR).\n",
"- Гипотезы: в 05-м ноутбуке добавлены примеры MannWhitney по CTR active vs passive и по полу; можно расширять на платформы и возраст.\n",
"\n",
"## Лаги и сезонность\n",
"- Дневные ряды и метрики CTR/CR по времени и по дням недели — см. `03_time_and_lags.ipynb`.\n",
"- Лаги: реализованы кросс-корреляции orders vs impressions/clicks (hotel, avia) для lag 07; по клиентам — first_imp/click/order и распределения дней до заказа.\n",
"\n",
"## Сегменты и «усталость»\n",
"- Сегменты каналов: only_active / only_passive / both + метрики; бины по числу категорий заказов.\n",
"- «Заспамленность»: bin по avg_impressions_per_contact_day с CTR/CR; stacked доли категорий заказов по возрасту.\n",
"\n",
"## Модели как часть EDA\n",
"- На клиентском уровне собран датасет для задачи `has_any_order`; pipeline с OHE + StandardScaler + LogisticRegression и RandomForest (ROC-AUC и важности).\n",
"- Выводы по коэффициентам/важности доступны в `05_exploratory_models.ipynb`.\n",
"\n",
"## Что делать дальше\n",
"- Прогнать все ноутбуки end-to-end (данные готовы, зависимости в `.venv`): `jupyter lab` или `jupyter nbconvert --execute`.\n",
"- Уточнить нормализацию категорий (при необходимости) и при желании сохранить `dataset/ds_clean.parquet` (флаг в `01_load_and_clean.ipynb`).\n",
"- Добавить/актуализировать бизнес-гипотезы (категории, платформы, возраст) и зафиксировать p-value в таблице гипотез.\n",
"- При необходимости усилить визуализацию: календарные heatmap по CTR, ECDF лагов по каждой категории, PDP для топ-фичей модели.\n"
]
}
],
"metadata": {},
"nbformat": 4,
"nbformat_minor": 5
}