Сквозная аналитика: BI-платформа для производственной компании
Self-hosted BI-стек на Lightdash + dbt + Dagster + Scrapy + Postgres 17: 47 dbt-моделей с full lineage, 22 Dagster ETL-asset, 7 готовых дашбордов (Money In, Атрибуция, Воронка, Correct CPL, Аномалии, Конкуренты, SEO). Multi-touch attribution (first / last / linear / time-decay), Prophet-прогноз CPL на 30 дней, anomaly z-score detection, cross-system stitching через dim_visitor.
Задача клиента
dbt-слой: 47 моделей с full lineage
12 staging views + 35 marts tables
47 dbt-моделей покрывают весь путь данных: staging-слой нормализует сырые данные из 7 источников (Я.Директ, Я.Метрика, Битрикс24, 1С, CoMagic, Unisender, gov-tenders), marts-слой строит факты и измерения для дашбордов. Lineage и документация автогенерятся через dbt docs generate: видно, какие модели зависят от каких источников, какие колонки читают и куда летят дальше. Multi-touch attribution-марты считают first / last / linear / time-decay для каждого лида и сделки.
Dagster: 22 ETL-asset с lineage и retry
Schedule-on-cron 01:00-08:00 МСК для разных источников
Dagster держит 22 asset с описанным lineage: парсинг собственного каталога (5 spider) + 6 интеграций (Я.Директ / Я.Метрика OAuth, Битрикс24 / CMS, 1С УТ OData, CoMagic call-tracking, Unisender email, gov-tenders с zakupki.gov.ru). Failure-sensor пишет в Telegram при ошибке любого asset. Cron 01:00-08:00 МСК распределён между источниками для равномерной нагрузки на внешние API.
7 готовых дашбордов Lightdash
От Money In до Anomaly Detection
Money In: маркетинг-spend по каналам и ROMI. Атрибуция: путь visit -> lead -> deal -> revenue с разбивкой по моделям атрибуции. Воронка по этапам сделки с конверсиями. Correct CPL: CPL пересчитанный по каждой модели атрибуции (last / first / linear / time-decay). Аномалии: z-score detection с severity critical / high / medium. Конкурентный price-monitoring: дельты цен и stock против конкурентов. SEO keyword performance.
FDW и cross-product интеграции
Foreign Data Wrapper к внешним Postgres с tenant-pinning
Postgres FDW (Foreign Data Wrapper) к внешним продуктовым БД для cross-product аналитики: можно делать JOIN между транзакционной БД продукта и BI-схемой без репликации. Tenant-pinning через app.current_tenant server-option на FDW: каждый запрос пробрасывает контекст tenant, RLS на внешней БД работает прозрачно. Backup-стратегия: pg_dump в формате custom + cron 03:00 + 14-дневная ретенция + DR-runbook.
Воронка с автоматической атрибуцией
Каждая стадия отслеживается через events в Postgres, склейка визитов и сделок черезdim_visitorс yclid / gclid / phone / email stitching. Drop-rate подсвечивается красным если ухудшается на 10% к предыдущей неделе.
Funnel · last 30 days
Не только last-click
Сравнение четырёх моделей в одной таблице. First-touch показывает где привлекаем впервые, last-touch: где закрываем, linear делит поровну, time-decay даёт вес по близости к конверсии. Решение по бюджету принимается на основе linear / time-decay, а не привычного last-click.
Attribution comparison
| Канал | First-touch | Last-touch | Linear | Time-decay |
|---|---|---|---|---|
| Яндекс.Директ | 4 820 000 ₽ | 2 140 000 ₽ | 3 480 000 ₽ | 3 010 000 ₽ |
| SEO (organic) | 5 230 000 ₽ | 3 870 000 ₽ | 4 510 000 ₽ | 4 320 000 ₽ |
| 1 240 000 ₽ | 2 850 000 ₽ | 1 980 000 ₽ | 2 380 000 ₽ | |
| Direct | 980 000 ₽ | 3 720 000 ₽ | 2 350 000 ₽ | 2 980 000 ₽ |
| Referral | 1 960 000 ₽ | 1 650 000 ₽ | 1 910 000 ₽ | 1 540 000 ₽ |
Prophet-forecast: куда движется CPL
Стандартный Prophet от Meta учитывает недельную сезонность и тренд. Доверительный интервал даёт диапазон вместо точечного значения. Когда фактическое значение выходит за band, отправляется Telegram-нотификация маркетологу.
CPL forecast · Prophet
Аномалии по z-score, 30-day rolling window
Простой и устойчивый детектор: z = (current − mean) / stddev по 30 дням. Пороги настраиваются черезdbt vars. Срабатывает быстрее чем «упало vs прошлая неделя» и не зависит от дня недели.
Anomaly monitor
| KPI | Текущее | 30-day avg | z-score | Severity |
|---|---|---|---|---|
| CPL Я.Директ | 2 480 ₽ | 1 245 ₽ | +3.2 | HIGH |
| Leads / day | 18 | 42 | -2.8 | MEDIUM |
| CR visit → lead | 1.4% | 5.1% | -4.1 | CRITICAL |
| Avg deal value | 78 200 ₽ | 76 094 ₽ | +0.1 | OK |
| Bounce rate | 64% | 48% | +2.6 | MEDIUM |
| Direct traffic | 4 800 | 2 100 | +5.3 | CRITICAL |
7 готовых дашбордов Lightdash
От Money In до Anomaly Detection
Архитектура
Lightdash
Self-hosted BI UI, 7 дашбордов, drilldown, локализация RU
dbt
47 моделей (12 staging + 35 marts), full lineage, docs
Dagster
22 ETL-asset, schedule + sensors, failure -> Telegram
Scrapy
5 spider для каталога клиента и конкурентов
PostgreSQL 17
BI-схема + FDW к внешним продуктовым БД
Prophet
Forecast CPL / leads на 30 дней с CI
Telegram bot
Failure-нотификации и аномалия-эскалация
pg_dump cron
Custom-format, 14-дневная ретенция, DR-runbook