директор и машина · маркетинг · запись № 008 · · Давид Герштейн
Сквозная аналитика своими руками: аудит данных вместо покупки BI-сервиса
Сквозную аналитику стоит начинать не с покупки сервиса, а с проверки данных: дубли дают 2-3 копии лида, 10-15% трафика не атрибутируется (в декабре — до 30%). Сначала свести отчёты продаж и маркетинга к одной точке правды и посчитать стоимость лида по каналам через качественные лиды, а не валовые заявки, а дальше повесить дешёвую модель на ежедневную сверку цифр вместо часа ручной работы аналитика в день.
Содержание · 8 разделов
- Сквозная аналитика: с чего начать, пока сервис не куплен
- Сквозная аналитика: сначала ревизия данных, а не дашборд
- Атрибуция: 10-15% лидов вы всё равно не отследите
- Цена канала: считать по качественным лидам, а не по валовым заявкам
- Контрольные точки: план по дням, а не по месяцу
- ИИ-связка: ежедневная проверка отчёта на аномалии вместо ручной сверки
- Экономика: что стоит и что даёт
- Чек-лист: с чего начать в понедельник
Суммы в разборе пересчитаны на условную компанию — пропорции, механика и выводы реальные.
Сквозная аналитика: с чего начать, пока сервис не куплен
Если у вас конверсия в отчёте падает третью неделю подряд, а отдел продаж говорит, что звонков столько же, — скорее всего, вы смотрите не на рынок, а на дубли в собственной базе. Сквозная аналитика начинается не с выбора платформы, а с трёх вопросов к каждой цифре: откуда она берётся, по какой дате считается и не задваивается ли по пути.
Первую рабочую версию вы соберёте за неделю на том, что уже есть: выгрузка из CRM, Google Sheets, час внимания. На этом шаге в компании на 40 человек нашлись дубли, дававшие 2-3 копии на один лид, и 10-15% лидов, которые не привязать к каналу вообще (в декабре — до 30%). Пока эти дыры открыты, любой купленный дашборд будет аккуратно показывать ваши же кривые данные.
Сквозная аналитика звучит как проект на полгода и бюджет с шестью нулями. На практике первую рабочую версию вы соберёте за неделю — и она ответит на главный вопрос: какие каналы дают деньги, а какие только заявки. Разбирал этот случай подробно — куда пропадают заявки с сайта на пути к оплате.
Руководитель компании открыл с утра отчёт по лидам — конверсия падала третий день подряд. Полез разбираться: одна входящая точка создавала два-три дубликата на каждый лид. Реальная картина была другой — просто одного человека в базе считали за троих. Нашёл случайно: цифры совсем не бились с ощущением от звонков отдела продаж, вот и пересмотрел отчёт не по привычке. Не открой он его в то утро — решения принимались бы ещё неделю на кривых цифрах, а бюджет канала тем временем продолжал списываться в прежнем темпе.
Вот и весь секрет: сквозную аналитику начинают не с покупки сервиса, а с проверки, не врут ли данные, которые уже есть. Час на аудит одного источника обычно дешевле недели решений, принятых по кривой картине.
Сквозная аналитика: сначала ревизия данных, а не дашборд
У меня было ощущение, что сквозная аналитика — это дашборд с графиками и деньги на дорогую платформу. На деле первые месяцы ушли не на визуализацию, а на поиск дыр в данных, которые уже были. Дыры оказались простыми и дорогими. Я и сам сначала искал, какой сервис купить, а не что проверить, — на этот поиск ушло больше времени, чем потом на весь аудит.
Пример: у двух менеджеров разошлись цифры по продажам за месяц — расхождение почти на 10%. Проверили через CRM: потеряли одну сделку — её посчитали рекомендацией, а не лидом, и не включили в расчёт. Дальше нашлась вторая проблема: при фильтрации по месяцу оплаты вместо месяца создания договора разница выросла почти до 40% от суммы. Это не ошибка человека — это ошибка настройки фильтра, которую никто не проверял месяцами.
Прежде чем считать что-то сквозным, ответьте на три вопроса про имеющиеся данные: откуда берётся цифра, по какой дате она считается и не задваивается ли она где-то по пути. Пока эти вопросы не закрыты, любой красивый дашборд врёт красиво — и чем он красивее, тем сложнее заподозрить подвох. Спрашивать «откуда эта цифра» раньше, чем принимать по ней решение, — это отдельный навык руководителя, и он даёт больше любой новой платформы: вы перестаёте покупать инструмент под проблему, которой у вас нет. Разбирал этот случай подробно — как считать стоимость лида, чтобы не платить за брак.
Дубли лидов — самая частая дыра
Одна входящая точка — например, форма на сайте — может плодить несколько карточек в CRM: то двойной клик, то вебхук, продублированный интеграцией. Конверсия при этом падает не потому, что стало хуже, а потому что в знаменателе теперь в два-три раза больше лидов, чем было на самом деле. Проверяется просто: сравнить число уникальных телефонов и почт с числом карточек в CRM за один день. Не совпадает — у вас дыра, а не тренд.
Похожая история с датами разобрана в статье о том, как CRM врёт данные и сдвигает даты — там же способ поймать искажение до того, как оно попадёт в отчёт для руководителя.
| Где нашли ошибку | Расхождение | Эффект, если не поймать |
|---|---|---|
| Отчёт двух менеджеров за месяц | Расхождение почти на 10% — из-за сделки, посчитанной как рекомендация, а не лид | Решения по итогам месяца принимаются на заниженной выручке |
| Фильтр по дате оплаты вместо даты договора | Разница выросла почти до 40% от суммы в зависимости от способа фильтрации | Прогноз кассы искажается на треть без единой ошибки человека |
| Дубли на входящей точке (форма на сайте) | валовых лидов заметно больше уникальных контактов — на треть за день | Конверсия выглядит упавшей в полтора раза, хотя реальный трафик не изменился |
Атрибуция: 10-15% лидов вы всё равно не отследите
В любой кампании часть лидов не привязать к каналу — кто-то блокирует куки, кто-то чистит историю браузера. У нас эта доля держалась на 10-15%, а в декабре подскочила до 30%: праздничный трафик идёт с других устройств и по другим сценариям.
Сначала я сам пробовал силой раскидать эти лиды по каналам, чтобы отчёт выглядел полным — не помогает, только добавляет шум. Правильнее выделить их отдельной строкой с пояснением причины. Тогда видно: доля растёт — значит, что-то поменялось в трафике или на сайте, и это повод разбираться, а не подгонять цифры.
Отдельная и более неприятная версия той же проблемы — когда система технически не даёт разделить конверсию даже по видимым источникам. У нас Google и Яндекс какое-то время сливались в один поток из-за ограничений интеграции. Без разделения непонятно, какой канал реально работает — это уже не аналитическая, а управленческая проблема: нет данных — нет рычага давления ни на подрядчика, ни на бюджет. Если ваш подрядчик показывает вам два источника одной строкой, это не отчёт, а его удобство — просите разделить до того, как обсуждать результат.
рассылка журнала
Разборы про лиды и рекламу — на почту
Куда утекает бюджет, почему падает качество лидов и как считать источники, когда половина без метки.
Цена канала: считать по качественным лидам, а не по валовым заявкам
Цена канала — это не бюджет, поделённый на валовое число заявок, а бюджет, поделённый на число лидов, дошедших до контроля качества, за тот же период. Разница огромная. Сам расчёт разбираю по шагам отдельно: как считать стоимость лида, чтобы не платить за брак.
Пример на условных цифрах, чтобы формулу можно было приложить к своему каналу: бюджет канала, поделённый на число качественных лидов (наш реальный случай по каналу в соцсети), даёт цену за качественный лид почти втрое выше, чем тот же бюджет, делённый на валовые заявки. На бумаге валовая цифра выглядит втрое дешевле и втрое обманчивее на практике, потому что ничего не говорит о том, сколько из этих заявок дойдёт до сделки.
На диаграмме — один и тот же бюджет канала: делённый на валовые заявки он даёт индекс 100, делённый на качественные лиды — индекс 296, почти втрое выше. Первая цифра выглядит красивее, вторая — честнее говорит о деньгах.
Канал в соцсети дал за месяц лишь считанные единицы продаж на десятки качественных лидов — на первый взгляд провал. При разборе выяснилось: это первое касание клиента, а не готовый к покупке лид, цикл сделки здесь длиннее, чем у остальных источников. Считать стоимость лида так же, как по контекстной рекламе, — методологическая ошибка. Прими решение по валовой цифре — закрыли бы канал и потеряли источник, которому просто нужна другая воронка.
Ещё случай: после смены текста объявления по чужой рекомендации конверсия упала с 33% до 6% — в 5,5 раза, а объём лидов вырос на четверть. Формально «лидов стало больше», по факту стоимость качественного лида выросла в разы: новый трафик оказался возрастным, иногородним, из-за рубежа. Без разбивки по качеству это выглядело бы успехом ещё две недели — пока отдел продаж не начал жаловаться на пустые звонки.
| Что мерить | Частая ошибка | Что делать вместо |
|---|---|---|
| Стоимость лида | Бюджет / валовые лиды | Бюджет / лиды, прошедшие контроль качества |
| Конверсия канала | Сравнивать все каналы одной меркой | Учитывать длину цикла сделки для каждого источника |
| Атрибуция | Насильно распределять неотслеживаемые лиды | Выделять отдельной категорией с причиной |
| План по лидам | Смотреть только на итог месяца | Сверять план по дням и неделям |
О том, как разрыв между количеством лидов и реальными продажами прячется в отчётах, я подробнее писал в статье «Лиды есть, а продаж нет» — там разобрано, где именно теряются деньги между маркетингом и отделом продаж.
Контрольные точки: план по дням, а не по месяцу
Когда месячный план по лидам стоит одной цифрой без разбивки по неделям и дням, он бесполезен для управления: об отставании узнаёшь только в последнюю неделю месяца, когда исправлять уже почти нечего. У нас выходило заметное число валовых лидов в день со всех источников, из них меньше половины — качественные в рабочий день; дневной план по качественным лидам был реальной контрольной точкой, а не цифрой для галочки.
За месяц качественными оказались только 40% лидов при плановом отвале не больше 20%. Эту разницу видно, только если считать конверсию в качество каждую неделю, а не подводить итог постфактум. То же с сезонностью: декабрь у нас идёт с коэффициентом 0,8 к плану — заранее известно, что лидов будет на 20% меньше, и это не повод паниковать, а повод не сравнивать декабрь с октябрём напрямую.
Технически такой дашборд не требует дорогого сервиса — у нас его за выходные собрал специалист по SEO, с отслеживанием лидов и конверсий по страницам в реальном времени. Дальше пошла ручная работа: сверять рост трафика с падением продаж и искать, на каком этапе разрыв. Например, конверсия органического трафика падала четыре месяца подряд — с 17% в январе до 10% в апреле, при этом трафик рос. Без разбивки по неделям это выглядело бы как «сайт работает», а по факту качество лидов с этого канала всё время снижалось. Мне понадобилось четыре месяца, чтобы это заметить, — ровно потому, что я смотрел на итог месяца, а не на неделю.
На диаграмме — конверсия органического трафика сайта в лиды, % от посетителей. Трафик за этот же период рос — падала именно конверсия, что видно только при разбивке по месяцам, а не по итогу квартала.
бесплатный курс · телеграм
Свести рекламу и продажи в одну картину
В курсе — как поставить сквозную картину от источника до оплаты: где брать данные, что считать самому, что отдать машине. Без подрядчиков и без программирования.
Начать курс бесплатно →открывается в Telegram · доступ по подписке на канал
ИИ-связка: ежедневная проверка отчёта на аномалии вместо ручной сверки
Ручную сверку каждое утро делал аналитик: сравнивал лиды в CRM с уникальными контактами, смотрел долю неатрибутируемых, прикидывал отставание от плана по дням. Задача рутинная и формализуемая, но требует внимания каждый день — то есть годится для дешёвого классификатора, а не для дорогой топовой модели: здесь не нужно творчество, нужна аккуратная сверка чисел по жёсткой инструкции.
Конвейер выглядит так:
1. Вебхук из Bitrix24 (или amoCRM API) раз в сутки выгружает новые сделки и лиды в Google Sheets: дата, канал, статус, телефон/email, отметка о прохождении контроля качества.
2. Google Apps Script по расписанию (триггер time-driven, ежедневно в 7:00) сворачивает сырые строки в JSON-сводку за последние 7 дней по каналам.
3. Скрипт отправляет JSON в LLM API с промптом ниже.
4. Ответ модели (тоже JSON) пишется в отдельный лист «Аномалии» и дублируется уведомлением в Telegram-бот ответственному аналитику.
5. Аналитик утром открывает лист, а не весь отчёт целиком — смотрит только то, что модель пометила как high или medium.
Модель: дешёвый классификатор — задача классификации и сверки чисел по жёсткой схеме, не творческая, важны скорость и цена при ежедневном прогоне.
Ты — аналитик отдела маркетинга. На входе JSON со сводкой лидов по каналам за последние 7 дней.
Проверь на аномалии:
1. Резкий рост доли неатрибутируемых лидов (более чем на 20% от нормы).
2. Подозрение на дубли: leads_gross превышает leads_unique_contacts более чем на 15% за день.
3. Расхождение конверсии по каналу более чем в 2 раза от среднего за предыдущие 4 недели.
4. Отставание от плана по дням более чем на 20%.
Входные данные:
{{JSON: [{date, channel, leads_gross, leads_unique_contacts, leads_qualified, unattributed_count, plan_daily}]}}
Верни строго JSON по схеме, без пояснений вне JSON:
{"date": "...", "anomalies": [{"type": "...", "channel": "...", "severity": "low|medium|high", "detail": "..."}], "action_required": true/false}
Пример ответа модели:
{
"date": "2026-06-10",
"anomalies": [
{"type": "duplicate_suspect", "channel": "site_form",
"severity": "high",
"detail": "leads_gross заметно превышает unique_contacts, разница около трети"}
],
"action_required": true
}
| Дата | Канал | Тип аномалии | Важность |
|---|---|---|---|
| 2026-06-10 | site_form | duplicate_suspect | high |
Так выглядит лист «Аномалии», в который модель пишет результат прогона: аналитик открывает только его, а не весь отчёт целиком.
Инженерная обвязка простая, без энтерпрайза: Google Apps Script пишет логи прогонов в отдельный лист, каждая ошибка API — таймаут, лимит токенов, пустой ответ — попадает туда же с меткой времени и дублируется в Telegram сообщением «прогон не выполнен». Перезапуск — вручную, кнопкой в меню таблицы, без доступа к серверу аналитик делает это сам за минуту. Тот же принцип я описывал в статье про реальные счета за ИИ — дешёвая модель на рутинной сверке обходится в доллары в месяц, а не в тысячи.
Экономика: что стоит и что даёт
Настройка ~14-26 часов разово (аудит источников + связка вебхук → Sheets → LLM), эксплуатация — несколько долларов в месяц на токены, эффект — экономия около 20 часов ручной сверки в месяц (оценка).
Внедрение. Аудит источников данных — дублей, дат, атрибуции — разовая работа аналитика или толкового менеджера, оценочно 8-16 часов в зависимости от числа источников. Настройка связки вебхук → Google Sheets → LLM API — ещё 6-10 часов работы того, кто умеет писать Apps Script; часто это тот же человек, что уже собирал дашборд за выходные, а не отдельный дорогой подрядчик.
Эксплуатация. Дешёвая модель на ежедневном прогоне сводки по 5-10 каналам обходится в несколько долларов в месяц, не в десятки. Основная статья расходов — не токены, а время человека, который читает и разбирает флаги.
Эффект. Ручная сверка отчётов продаж и маркетинга занимала у аналитика около часа в день — это около 20 часов чистого рабочего времени в месяц только на то, чтобы свести две таблицы руками, не считая ошибок, которые всё равно проскакивают, потому что на 22-й день подряд быть внимательным устаёшь. Что мы не считаем эффектом: время аналитика не сокращается до нуля — оно перераспределяется на разбор флагов, помеченных моделью, а не на саму сверку; в деньгах это экономия часов на рутине, а не сокращение штата.
Окупаемость на этих же оценках: разовая настройка — 14-26 часов работы. Экономия ручного времени — около 20 часов в месяц, что при ставке ~1 000 ₽/час даёт около 20 000 ₽/мес (оценка). Даже по верхней границе разовых работ окупаемость наступает меньше чем за полтора месяца, а дальше это чистая экономия минус несколько долларов на токены.
Отдельно — риск от решения на грязных данных, и это не эффект автоматизации, а иллюстрация цены задержки. При обороте отдела ~9 млн ₽/мес и среднем чеке ~180 тыс. ₽ это около 50 сделок в месяц; дневной бюджет канала, крутящийся на искажённой картине неделю, — это риск потратить бюджет вслепую на канал, который на самом деле работает иначе, чем показывает отчёт. Похожая история — с конверсией 33%→6%: две недели трафика «по инерции» на неверной гипотезе съели заметную часть месячного бюджета канала на лидов, которых потом пришлось признать нецелевыми.
Причины и следствия тут лучше не путать: сама сверка данных не увеличивает число лидов и не чинит воронку — она только показывает, где решения принимались вслепую. Рост качества лидов из истории с аватарами покупателя или снижение оттока — отдельные инициативы, их вклад в деньги считается отдельно, а не приписывается автоматической проверке отчётов. Я это развожу жёстко: сверка данных отвечает за качество решений, а не за рост выручки.
Чек-лист: с чего начать в понедельник
- Сравнить количество лидов в CRM с количеством уникальных телефонов/email за последнюю неделю — найти дубли на входящих точках.
- Выделить неатрибутируемые лиды отдельной категорией в отчёте и посчитать их долю за последний месяц.
- Разбить месячный план по лидам на недели и дни, отметить контрольные точки для отставания.
- Пересчитать стоимость лида по каждому каналу через число лидов, прошедших контроль качества, а не валовое.
- Проверить, можно ли технически разделить источники трафика (например, Google и Яндекс) — если нет, завести задачу на доработку интеграции отдельно от отчётности.
- Настроить простую ежедневную сверку через вебхук из CRM и дешёвую модель вместо часа ручной работы аналитика в день.
Ни один из этих шести пунктов не требует покупки BI-платформы. Все они требуют часа-двух внимания к данным, которые уже есть в системе — и, судя по практике, именно там прячется больше денег, чем в новом канале трафика.
Начните на этой неделе с малого: свяжите источник лида с фактом оплаты хотя бы вручную, по последним пятидесяти сделкам. Уже эта таблица покажет вам, где вы переплачиваете. Полная механика — в бесплатном курсе.
Ваша первая версия должна ответить на один вопрос: какие ваши каналы приносят деньги, а какие только заявки. Не стройте систему — соберите ответ. Всё остальное вы достроите потом, когда поймёте, чего вам не хватает.
Не ждите идеальных данных: ваша первая версия будет неточной, и это нормально. Она нужна не для отчётности, а чтобы вы увидели порядок величин и поняли, какие ваши каналы вообще стоит разбирать подробнее.
Частые вопросы
С чего начать сквозную аналитику своими руками, без бюджета на сервисы?
С аудита данных, которые уже есть в CRM и рекламных кабинетах: найти дубли лидов, свести отчёты продаж и маркетинга, выделить неатрибутируемый трафик отдельной категорией. Платный BI-сервис на этом этапе не нужен — нужны Google Sheets, вебхук из CRM и час времени.
Как считать стоимость лида по каналам без дорогого сервиса?
Делить бюджет канала на количество лидов, дошедших до контроля качества, за тот же период — не на валовое число заявок. Отдельно считать долю качественных лидов по каждому каналу, потому что валовая цифра ничего не говорит о деньгах.
Что делать с лидами, которые невозможно атрибутировать?
Не пытаться силой привязать их к каналу — выделить в отдельную категорию с объяснением причины (блокировщики, очистка cookie) и следить, чтобы её доля не росла бесконтрольно: рост доли — сигнал, что поменялось что-то в трафике или на сайте.
Сквозная аналитика — это то же самое, что подключить готовый сервис или модуль в CRM?
Нет. Сервис — это витрина поверх ваших данных: он покажет ровно то, что лежит в CRM и рекламных кабинетах, вместе с дублями и неверными датами. Пока источники не проверены, подключение платформы не добавляет точности — оно делает ошибку убедительнее. Аудит источников делают руками, его нельзя купить.
#аналитика и отчётность #ии и нейросети #деньги
Присылаю новый разбор в день выхода — с цифрами, которые можно подставить в свою таблицу. Без дайджестов ради дайджестов: нет статьи — нет письма.