--- name: "cp-analytics-cross" description: "Сводит несколько площадок в один отчёт и не даёт при этом соврать. Ядро — словарь несовместимости: «просмотр» означает разное на каждой площадке, «показ» — три разные сущности, ER считается от разных знаменателей, метрика для отчёта не равна метрике для денег. Абсолютные просмотры между площадками не сравнивает никогда, работает на нормированных величинах и динамике внутри площадки. Собирает отчёт клиенту: что выросло, что упало, что артефакт платформы, что требует решения, плюс обязательный раздел «чего мы не знаем». Опционально — простой HTML-дашборд без платных сервисов. Триггеры — «сводный отчёт», «все площадки вместе», «дашборд», «сравни ВК и телеграм», «месячный отчёт по соцсетям». Use when the user needs a cross-platform report or wants to compare social networks." --- Перед применением прочитай [правила интеграции «Блог с нуля»](../../context/10-blog-runtime.md). Они задают единый запуск, текущий проект и производственные ограничения; не начинай второй независимый бриф. # cp-analytics-cross · Сводный отчёт по всем площадкам Самый ценный и самый опасный формат в аналитике. Ценный — потому что только здесь видно, где вообще растёт бизнес. Опасный — потому что метрики разных площадок называются одинаково и означают разное, и сводная таблица из абсолютных чисел выглядит убедительно, будучи мусором. ## Когда не этот скилл - Разбор **одной** площадки, её выгрузки и находок → `cp-analytics`. Сюда — только когда площадок несколько и их надо свести. - Разбор упаковки, позиционирования, воронки аккаунта → `cp-audit`. - Договорные и процессные документы работы с заказчиком — бриф, регламент, статус → `cp-client`. Здесь — только числовая часть отчёта. - Решение, что делать дальше по контенту → `cp-content-plan`. ## Контекст Читай из `context/`: `02-metrics.md` §2 (что сопоставимо, а что нет — основа скилла) и §3 (набор нормированных метрик), `07-evidence.md` §3 и §7 (ловушки отрасли, календарь разрывов), `01-platforms.md` §6 (аудитория площадок в РФ, откуда разный масштаб). Профиль бренда — `brands//`: `assets.md` (какие площадки ведутся и в какой роли), `brand.md` (стадия), `offer.md` (что считается результатом). Не нашлось — скажи одной строкой и работай по врезке ниже, факты спрашивай, не выдумывай. ## Врезка констант · словарь несовместимости Читается перед любой сводной таблицей. Это не оговорка в сноске, это метод. **1. «Просмотр» — разные события на разных площадках.** | Площадка | Что считается просмотром | |---|---| | YouTube Shorts | любой старт или рестарт, без минимума (с 31.03.2025) | | YouTube long-form | «легитимные просмотры», порог не раскрыт | | Instagram | единая метрика Views вместо impressions и plays (с 21.04.2025); определение неоднозначно | | ВКонтакте | `views` — все просмотры с повторами, отдельно от `reach` | | Telegram | просмотры поста; **метрики уникальных нет вообще** | | Дзен | показы ≠ открытия ≠ дочитывания — три разных уровня одной воронки | | TikTok | публичного определения найти не удалось | **Абсолютные просмотры между площадками не сравниваются никогда.** Ни в таблице, ни в графике, ни в сумме «всего просмотров за месяц». Сумма разнородных событий — это не число, это иллюзия. **2. «Показ» — три несовместимые сущности.** У YouTube строго определённое событие: превью видно дольше 1 секунды и минимум на 50% площади, с длинным списком исключений — внешние сайты и эмбеды, мобильная веб-версия, YouTube Kids и Music, фоновая вкладка, карточки внутри плеера. У Дзена — появление карточки в ленте. У Instagram метрика упразднена вовсе. Одно слово, три разные вещи. **3. Engagement Rate считается от разных знаменателей.** Подписчики, охват, просмотры — у всех по-своему, и даже внутри одного отраслевого отчёта формулы по площадкам различаются. Иллюстрация: одно исследование даёт медиану вовлечённости Instagram около 5,5%, другое — 0,48% при формально одинаковом знаменателе; разница более чем в 11 раз объясняется составом выборки. Сама платформа считает вовлечённость от **охвата**. Отдельно: у Telegram ERR считается от просмотров, ER — от взаимодействий, и в чужих отчётах их путают постоянно. **4. Метрика для отчёта ≠ метрика для денег.** YouTube показывает автору новые «просмотры» Shorts, но монетизация и допуск в партнёрскую программу считаются по engaged views. Дзен вывел на карточки «Открытия», а монетизация осталась на прежней логике. В отчёте эти две метрики держатся в разных строках и никогда не складываются. **5. Разные окна истории.** Глубина истории у площадок разная: у Дзена подписчики с 25.01.2022, события с 21.06.2021, время просмотра с 01.08.2023; у Instagram история видеопросмотров профиля — только с 06.06.2025; у TikTok история до года. **Год к году на части площадок физически невозможно посчитать** — это не отговорка, это факт, который пишется в отчёт. **6. Календарь разрывов.** 31.03.2025 — YouTube переопределил просмотр Shorts. 21.04.2025 — Instagram упразднил impressions и plays. 30.03.2026 — ВКонтакте провёл автоматическую чистку подписчиков. 27.04.2026 — Дзен заменил «Дочитывания» на «Открытия». Падение на этих датах идёт в раздел «артефакт платформы», а не в «что упало». ## Что сравнивать можно **Сопоставимо более-менее честно:** - **уникальные зрители и охват** — ВК (`reach`, `visitors`), Instagram (reach), VK Клипы (уникальные зрители), Дзен (аудитория): везде «сколько разных людей»; - **среднее время просмотра** — секунды везде секунды; - **подписки, отписки, комментарии** — дискретные действия, считаются одинаково. **Набор нормированных метрик для сводного отчёта.** Только эти шесть, больше не нужно: | Метрика | Формула | Зачем в сводном | |---|---|---| | Вовлечённость на охват | взаимодействия / охват | единственный ER, устойчивый к разнице знаменателей | | Репосты на охват | репосты / охват | потенциал холодного охвата | | Retention | среднее время просмотра / длительность | секунды сопоставимы, проценты тем более | | Подписки на охват | прирост подписчиков / охват | во что конвертируется внимание | | Отношение к своей медиане | метрика единицы / медиана площадки за 20–30 единиц | **главная кросс-метрика**: безразмерная, сравнивается между площадками честно | | Целевые действия | переходы, заявки, продажи из площадки | единственное, что реально сравнимо в деньгах | Последняя строка важнее первых пяти. Если у площадок есть общий измеримый выход — переходы по ссылке, заявки, покупки, — сравнивай его, а не внутренние метрики. Метки в ссылках и разные точки входа на каждую площадку стоят дешевле любой аналитики. ## Вход 1. Какие площадки ведутся и в какой роли: двигатель охвата, дом аудитории, витрина, дубль. 2. Период отчёта и с чем сравниваем: предыдущий период, тот же период год назад, ничего. 3. Что есть на руках по каждой площадке: выгрузка, скриншоты, ничего. Какие столбцы в них есть — от этого зависит, какие строки таблицы вообще существуют (см. «Режим неполных данных»). 4. Есть ли сквозная метка переходов и заявок и какая. 5. Что менялось в периоде: реклама, посевы, коллаборации, смена команды, пауза. 6. Кто читает отчёт: сам автор, клиент, руководитель. От этого зависит объём, но не честность. ## Процесс 1. **Разбери каждую площадку отдельно** через `cp-analytics` — сводный отчёт собирается из готовых разборов, а не вместо них. 2. **Собери накопительную таблицу.** Одна строка — одна единица контента, с колонкой площадки. Эта же таблица переиспользуется в следующем периоде: сводная аналитика имеет смысл только накопительно. 3. **Посчитай медиану по каждой площадке отдельно.** Медианы между площадками не сравниваются, сравниваются отношения единиц к своим медианам. 4. **Заполни только нормированные метрики** из таблицы выше. Абсолютные числа держи в приложении и подписывай площадкой и определением метрики. 5. **Сверь календарь разрывов и глубину истории.** Всё, что объясняется датами и окнами, вынеси в отдельный раздел до того, как начнёшь объяснять контентом. 6. **Разложи выводы по четырём корзинам:** что выросло, что упало, что артефакт платформы, что требует решения. 7. **Заполни «чего мы не знаем».** Раздел обязателен. Пустым он не бывает никогда — как минимум там будет Telegram без уникальных и TikTok без определения просмотра. 8. **Сформулируй решения.** Решение — это выбор: усилить площадку, свернуть площадку, сменить формат, накопить данные. Не «продолжаем работу». ## Режим неполных данных В сводном отчёте неполнота — норма, а не исключение: у Telegram выгрузки нет вообще, по одной площадке есть XLS, по другой три скриншота, профиля бренда может не быть. Правило то же, что в `cp-analytics`: **процедура сокращается, недостающее превращается в следующий шаг, выход не заполняется прочерками.** | Чего нет | Что отпадает | Что выдаётся вместо | |---|---|---| | Реакций и репостов на площадке | строки «вовлечённость / охват» и «репосты / охват» для неё | Площадка остаётся в отчёте с одной строкой — охват и отношение к своей медиане. Пустые колонки не выводятся вовсе | | Данных по одной из площадок целиком | её строка в таблице | Площадка выносится в отдельную строку «не измерялась в этом периоде» с указанием, что именно даст её измерить. Отчёт не отменяется из-за одной дыры | | Сквозной метки переходов и заявок | строка «целевые действия» — главная в таблице | Прямо сказано, что общего измеримого выхода нет и сравнение остаётся внутренним. Первое предложение к следующему периоду — поставить метки: это дешевле любой аналитики | | Предыдущего периода или года | вся колонка сравнения, шаг 5 в части «год к году» | Отчёт становится базовым замером: он задаёт медианы, с которыми будет сравниваться следующий период | | Медианы за 20–30 единиц на площадке | шаг 3 для неё | Медиана считается по тому, что есть, и помечается «предварительная», кросс-метрика «к своей медиане» по этой площадке не выводится | **Отказ подаётся как следующий шаг**, тремя элементами и одной строкой на площадку: ``` <Площадка>: сейчас считается <что>. Чтобы достроить — <что выгрузить>, лежит в <где именно>, займёт <сколько>. Откроет <какой вывод>. ``` Где лежит: ВКонтакте — статистика сообщества, «Выгрузить статистику», XLS/CSV; Дзен — Студия, XLS; YouTube — Advanced mode, до 500 строк на отчёт; TikTok — Business Hub, XLSX/CSV, репортинг собирается руками; Telegram и RuTube — выгрузки нет, переносится руками или скриншотами. Разовый перенос руками по одной площадке — обычно 10–20 минут, и это честнее назвать, чем написать «нет данных». Раздел «чего мы не знаем» и режим неполных данных — разные вещи и не заменяют друг друга: первый говорит, чего нельзя узнать в принципе, второй — что можно узнать за понятное время. ## Выход · структура отчёта клиенту ``` СВОДНЫЙ ОТЧЁТ · <бренд> · <период> · <площадки> ГЛАВНОЕ (3 строки, без цифр из разных площадок в одной строке) | Площадка | Охват | Вовл./охват | Репосты/охват | Подписки/охват | К своей медиане | Целевые действия | |---|---|---|---|---|---|---| | ВКонтакте | … | … | … | … | 1,2× | … | | Telegram | … | … | … | … | 0,8× | … | | Дзен | … | … | … | … | … | … | ЧТО ВЫРОСЛО <площадка · метрика · насколько · на скольких единицах · насколько это надёжно> ЧТО УПАЛО <то же. Если падение объясняется артефактом — его здесь нет, оно ниже> АРТЕФАКТЫ ПЛАТФОРМЫ <дата · что изменилось · какой график сломался · что это НЕ означает> ЧТО ТРЕБУЕТ РЕШЕНИЯ <вопрос · варианты · что выбрать и на каком основании · к какому сроку> ЧЕГО МЫ НЕ ЗНАЕМ - <какие метрики недоступны на каких площадках> - <какие сравнения невозможны и почему: разные определения, разная глубина истории> - <где чисел мало и разница неразличима> ЧЕМ ДОСТРОИТЬ ОТЧЁТ [если данных по части площадок не было] <площадка: что выгрузить · где лежит · сколько займёт · какой вывод откроет> ``` Правило первой строки: в «главном» не должно быть ни одной суммы по площадкам. «Суммарный охват во всех соцсетях» — не показатель, а сложение разных единиц измерения. ## Опция · простой HTML-дашборд Не обязательство, а возможность. Имеет смысл, когда отчёт повторяется каждый месяц и таблица уже накоплена. Минимальный вариант без платных сервисов: таблица в CSV → один HTML-файл с инлайновым JS, который читает CSV и рисует три-четыре графика. Что показывать: динамика нормированных метрик по каждой площадке отдельными панелями, отношение к медиане общей шкалой, целевые действия одним графиком. Жёсткие правила дашборда, иначе он врёт красивее таблицы: - **никаких общих осей для абсолютных просмотров разных площадок** — только отдельные панели; - у каждой панели подпись, что именно считает эта площадка под этой метрикой; - вертикальные линии на датах из календаря разрывов прямо на графике; - серым помечены периоды, где единиц меньше десяти; - дата обновления данных и период каждого источника в шапке. Предлагай дашборд только если пользователь просит визуализацию или отчёт повторяющийся. Разовому разбору он не нужен. ## Чек-лист перед выдачей Чек-лист условный. Пункт, для которого нет данных ни по одной площадке, помечается **«неприменимо — нет <чего>»**, а не считается проваленным и не пропускается молча. - Ни одного сравнения абсолютных просмотров между площадками, включая суммы и «всего охватов». - Каждая площадка сравнивается сама с собой, между площадками — только нормированные и безразмерные величины. - Медиана считается по каждой площадке отдельно, за 20–30 единиц. (Меньше единиц — помечена как предварительная; нет данных по площадке — неприменимо.) - В таблице подписано, что означает метрика на каждой площадке, где определения расходятся. - Календарь разрывов сверен, артефакты вынесены в свой раздел до раздела «что упало». - Проверено, возможно ли сравнение год к году на каждой площадке; где невозможно — сказано. (Неприменимо, если сравнивать не с чем: отчёт базовый.) - Пустых колонок и строк из прочерков в таблице нет: чего не измеряли — того в таблице нет, и это названо в «чем достроить». - Раздел «чего мы не знаем» заполнен и не формален, а «чем достроить» назван отдельно от него — с местом выгрузки и оценкой времени. - Метрика для денег и метрика для отчёта не смешаны в одной строке. - Решения сформулированы как выбор, а не как «продолжаем». - Ни одного внешнего бенчмарка и ни одной цифры без источника и даты. ## Красные линии 1. Не складывать просмотры разных площадок. Никогда, ни под каким названием. 2. Не строить единый рейтинг площадок по абсолютным числам. Площадки различаются по размеру аудитории в разы, и рейтинг покажет размер платформы, а не работу. 3. Не подставлять ER из внешних отчётов как норму. Расхождение между исследованиями превышает порядок величины. 4. Не выдавать динамику, попавшую на дату смены определения метрики, за результат работы. 5. Не сравнивать год к году там, где глубины истории нет. Отсутствие данных не заменяется оценкой. 6. Не смешивать органику и платное в одной строке. У TikTok они технически не сводятся, у остальных сводятся, но означают разное. 7. Не обещать результата от рекомендаций отчёта. 8. Не прятать неудобное в приложение. Падение, которое объясняется контентом, называется падением. 9. Не выдавать таблицу с колонками из прочерков и не отменять отчёт из-за дыры по одной площадке. Неполные данные означают сокращённый отчёт плюс строку «чем достроить», а не отписку.