Загрузка данных…
СИБУР
Analytics Hub
Методология
Проект
⬇ На главную

Методология

Почему так считаем и что за этим стоит

Методология сквозной аналитики

Основана на AMEC Integrated Evaluation Framework (Association for Measurement and Evaluation of Communications) — международном стандарте оценки коммуникаций. Пять уровней воронки: Outputs → Outtakes → Outcomes → Impact → Organisational impact. На дашборде эта воронка русифицирована и приземлена на B2B-контекст СИБУРа.
Охват
Outputs
Глубина
Outtakes
Вовлечение
Outcomes
Действие
Outcomes
Горячих → KAM
Impact
Методология согласована с Викторией Брацыхиной 19.04.2026.

5 KPI и их формулы

Единый словарь метрик дашборда и их ограничения
KPI Определение Формула Ограничения
Охват Уникальные компании с любым сигналом за 30 д COUNT DISTINCT(companies WHERE last_signal >= today−30d) Сигнал = email open/click OR site visit OR TG activity OR webinar
Глубина Из Охвата — активны в 2+ каналах COUNT DISTINCT(companies WHERE channels_active_30d >= 2) Измеряет кросс-канальную интеграцию. Не «во всех каналах» — структура каналов разная
Вовлечение Weighted open rate email за 30 д SUM(opens_unique_7d) / SUM(sent) × 100 Apple MPP и Gmail image-prefetch инфлируют open rate на iOS. CTOR точнее
Действие Клики по контенту magazine.sibur.ru / sibured.ru COUNT(clicks WHERE host IN (content_sk) AND date >= today−30d) В Google Sheet G5 считается с шумом (ya.ru, соцсети, foquz) — там 654
Горячих → KAM Компании с composite score ≥ 0.5 COUNT DISTINCT(companies WHERE segment = 'Горячий') Передаются менеджерам отношений (Key Account Managers)

5 каналов и их статус

Где собираем данные, что уже работает и чего ждём
📧
Email · СК
DashaMail API, 26 кампаний за 2026, snapshot 24h/72h/7d, 15 936 подписчиков, 78.7% атрибутировано к компании.
✅ Активен
📧
Email · БПС
DashaMail, open rate 9.7% за 30д. Campaign-level только — нет email→company атрибуции, ждём файл от коллеги.
⚠️ Частично
🌐
Сайт · СК
Яндекс Метрика counter 87766804 (magazine.sibur.ru), 14 915 визитов за 30д.
✅ Активен
🌐
Сайт · БПС
Яндекс Метрика counter 94048583 (sibured.ru), фильтр startURLPath=@'/businesspractices', 6 658 визитов за 30д.
✅ Активен
💬
TG · СК
Сообщество @sibur_clients, 829 клиентов, 1 585 записей (LEAD + Chatkeeper + экспорт).
✅ Активен
🎥
Вебинары · БПС
МТС Линк API. Ждём MTS_LINK_TOKEN — после подключения появятся 30+ событий в месяц.
⏳ Ждём

Composite score и сегментация

Как считается единый score компании и почему именно так
composite  = 0.6 × email_score + 0.4 × tg_score
email_score = [ log1p(clickers_90d) + 0.15 × log1p(max(0, openers_90d − clickers_90d)) ]
              × 0.5^(days_since_last_event / 60)
tg_score    = min(1, msgs_lifetime/5 + rx_on_admin/20)
              × 0.5^(days_since_last_event / 60)

Log-шкала без capping. Крупные компании не «слипаются» в 0.99 — сохраняется разрешение в топе, топ-5 реально ранжируется.

Decay 60 дней. B2B-цикл, а не 14 дней как для consumer-email: клиенты СИБУРа реагируют медленнее, решение о закупке занимает недели.

Ratio click:open = 6.7×. Кликер весомее просто открывателя в 6.7 раза (1 / 0.15), потому что клик = интент.

SIBUR-домены отфильтрованы. 696 адресов из внутреннего домена не участвуют в email_score (иначе искажали бы топ).

Пороги сегментов · обоснованы по перцентилям распределения
🔥 Горячий ≥ 0.5 p99 — 23 компании, передать KAM top ~0.3%
🟡 Тёплый 0.2–0.5 p90 — 250 компаний, watchlist для реактивации top ~3%
🟢 Холодный < 0.2 8 281 компания, стандартная рассылка ~96%
Пороги подтверждены Викторией как «вариант B, круглые числа».

Снапшоты email-кампаний 24h / 72h / 7d

Почему нельзя сравнивать вчерашнюю кампанию с недельной

Зачем нужны. Метрики email «дотекают» первые 3 суток — открытия, клики и отписки приходят волной. Нельзя сравнивать open rate новой кампании (2 часа назад) с ней же через неделю: это будут разные цифры для одного и того же события.

Как работает. Коллектор dashamail_snapshots.py фризит значения в трёх точках: +24h, +72h, +7d после send_date. Записывает 21 колонку в data_campaigns (opens/clicks/ctor/unsub/bounce × 3 точки + служебные).

Финальные метрики. Все цифры на Dashboard считаются только по _7d, и только для кампаний в окне [today−30, today−7] — чтобы у каждой было не меньше 7 суток «дотекания».

Preliminary. Кампании младше 7 дней помечаются «предварительно» и показываются отдельным блоком, чтобы не искажать weighted average.

Три источника TG-сообщества

Разные файлы — разные области ответственности
📋
LEAD · identity, 1 585 записей
Из формы регистрации в @sibur_clients. Single source of truth для name/company/role.
SoT identity
🚪
Chatkeeper events · community status
События join/leave/returned. Single source of truth для is_in_community и tenure_days.
SoT status
💬
Экспорт чата · activity
Messages, reactions_received. Merge по user_id, не перезапись — только обогащение.
activity
🗑️
USER.group_status
Не используется — Виктория явно подтвердила 19.04: мусорные данные. Замена — Chatkeeper events.
отключено

Ограничения и честные оговорки

Что следует учитывать при интерпретации цифр
  • Apple MPP / Gmail image-prefetch инфлируют open rate на iOS — авто-открытия без участия человека.
  • Δ (динамика MoM) везде null до накопления 2+ snapshot history (ожидается к концу апреля 2026).
  • Email-атрибуция БПС отсутствует — блокер на внешнюю зависимость, ждём правильный файл от коллеги.
  • Вебинары БПС не подключены — после получения MTS_LINK_TOKEN добавится ~30 событий в месяц.
  • content_clicks_weekly — только по СК. БПС появится после подключения email→company атрибуции (П6).
  • data_companies.last_signal хранится как дата через RAW + numberFormat. Без этого Google Sheet превратил бы дату в serial 46129.xx при пересчёте.

Словарь русификации

Единый язык дашборда — без кальки с английского
Open rate% открытий
CTR% кликов
CTOR% кликов от открытий
Unsub rate% отписок
Bounce% отказов
ReachОхват
DepthГлубина
RisersАктивизировались
TierСегмент
Hot / Warm / ColdГорячий / Тёплый / Холодный

Почему так — 6 ключевых архитектурных решений

Короткие обоснования главных MVP-развилок
  1. Одна Google-таблица, не PG. MVP-подход — пользователь видит данные сразу, без деплоя БД и фронта. Миграция на PostgreSQL возможна при превышении ~1 млн строк.
  2. Мульти-базные рассылки = 1 строка с конкатенацией имён баз. Согласовано 18.04. Альтернатива (строка-per-база) дала бы дубли в weighted averages.
  3. Resends = отдельные строки с parent_campaign_id. Видно uplift от досылки; при этом фильтр по send_type=original даёт чистые метрики оригинальной рассылки.
  4. Классификация по базам, не по subject. БПС часто шлёт без префикса в теме («Вебинары в апреле»), а имя базы всегда содержит «бпс» — надёжнее.
  5. Сайт БПС = только /businesspractices. Без фильтра ловит весь sibured.ru — корпоративный трафик к нашей аудитории отношения не имеет.
  6. Email-фильтр SIBUR — 696 адресов не попадают в email_score. Иначе сотрудники СИБУРа, массово открывающие внутренние рассылки, инфлировали бы сегмент «Горячих».