Сквозная аналитика: расчёт ROMI, модель данных и связка Битрикс24 с Power BI

Сквозная аналитика: расчёт ROMI, модель данных и связка Битрикс24 с Power BI

Обновлено 3 сентября 2026 года.

Сквозная аналитика связывает доступные данные о привлечении, обращениях, заказах и оплатах. Она помогает сравнивать каналы и находить потери в воронке, но не гарантирует наблюдение каждого касания и не доказывает причинный вклад рекламы только по совпавшим идентификаторам.

Начинать стоит с решения, которое предстоит принять: перераспределить бюджет, проверить качество лидов, сократить время обработки или оценить повторные покупки. Затем определяют показатели, источники и контрольные суммы. Выбор BI-системы имеет смысл после этого.

ROMI, ROAS и прибыль: что именно считаем

Чтобы избежать двусмысленности, в этой статье используем следующую договорённость: ROMI оценивает маржинальный результат, отнесённый к маркетингу, после вычета маркетинговых затрат. Маржинальный доход до маркетинга — выручка за вычетом согласованных переменных затрат, например себестоимости и переменной стоимости исполнения заказа.

ROMI = (атрибутированный маржинальный доход до маркетинга − затраты на маркетинг) / затраты на маркетинг × 100%.

ROAS отвечает на другой вопрос: сколько атрибутированной выручки приходится на рекламные расходы. Его можно выражать коэффициентом или процентом. Если вместо маржинального дохода подставить в формулу ROMI выручку, себестоимость будет проигнорирована, а результат получит другой экономический смысл.

Учебный пример, не клиентский кейс:

Показатель Значение
Выручка продаж, отнесённых к маркетингу 700 000 ₽
Согласованные переменные затраты без маркетинга 490 000 ₽
Маржинальный доход до маркетинга 210 000 ₽
Маркетинговые затраты; в примере это только реклама 120 000 ₽
Маржинальный результат после маркетинга 90 000 ₽
ROMI 75%
ROAS 5,83 раза, или примерно 583%

ROMI выше нуля в этой договорённости означает, что отнесённый маржинальный доход покрыл включённые маркетинговые затраты. Порог 100% не является точкой безубыточности. Но положительный ROMI ещё не означает чистую прибыль компании: постоянные расходы и другие статьи могут оставаться за рамками расчёта.

Заранее зафиксируйте состав затрат. Если добавляются работа агентства, производство материалов или другие расходы, они должны попасть в знаменатель и вычитаться в числителе. Не вычитайте маркетинг повторно, если он уже включён в показатель маржи. Валюту, налоги, возвраты и момент признания выручки учитывайте одинаково во всех источниках.

Атрибутированный результат и дополнительный эффект рекламы

Атрибуция распределяет ценность наблюдаемой покупки между касаниями по выбранному правилу. Это полезная управленческая модель, но не ответ на вопрос «произошла бы покупка без рекламы». Часть покупателей могла бы прийти и без конкретного объявления.

Если задача — оценить дополнительный эффект, нужен подходящий эксперимент или обоснованная причинная модель. В обычном отчёте называйте показатель атрибутированным ROMI и сохраняйте правило распределения. Не выдавайте его за точное измерение созданной рекламой прибыли.

Какие данные и связи нужны

Источник Что брать Что проверить
Рекламный кабинет Расходы, показы, клики, идентификаторы кампаний и объявлений Период, часовой пояс, валюта, налоги, корректировки и полнота загрузки
Веб-аналитика и формы Наблюдаемые визиты, события, метки и идентификаторы Сохранение идентификаторов при заявке, потерянные метки, ограничения сбора
CRM Лиды, сделки, ответственные, стадии, источники и связи с клиентами Дубли, пропуски, история изменений, критерий качественного лида
Учёт заказов и оплат Заказы, оплаты, возвраты, себестоимость Согласование с финансовыми итогами и связь с CRM
Звонки и другие обращения События и доступные связи с клиентом или визитом Не учитывать одно обращение повторно в нескольких системах

Успешная стадия сделки не всегда равна оплате, а сумма сделки не всегда равна признанной выручке. Выберите источник истины для каждого показателя. CRM полезна для процесса продаж, но для LTV достаточно надёжной истории заказов и клиентов — обязательность конкретной CRM-системы из самой метрики не следует.

Читай также:  Битрикс24 и аналитика данных: BI Конструктор, Power BI и внешнее хранилище

UTM-метки описывают источник и кампанию, но не являются уникальным ключом пользователя или заказа. ClientID Метрики идентифицирует браузер: у одного человека могут быть разные ClientID на разных устройствах и в браузерах. Для собственных идентификаторов используется UserID по правилам сервиса. ClientID и UserID в Метрике.

Для передачи офлайн-результатов Метрика использует специальные идентификаторы, включая ClientID, UserID, yclid или PurchaseId, в зависимости от сценария. Их нужно заранее сохранить и передать с корректными датами и данными события. У привязки есть ограничения и период дополнения; успешная загрузка файла ещё не доказывает, что все конверсии связались с визитами. Импорт офлайн-данных; Отчёт о привязке конверсий.

Как избежать двойного счёта

Определите детализацию каждой таблицы. В расходах это может быть одна строка на дату и кампанию; в заказах — одна строка на заказ; в оплатах — одна строка на платёж. Эти таблицы нельзя бездумно соединять только по дате.

Например, рекламный расход 10 000 ₽ за день после JOIN с пятью сделками этого дня повторится пять раз. Простая сумма даст 50 000 ₽. Проблема возникла в модели данных, и форматирование диаграммы её не исправит.

Обычно расходы, продажи и оплаты хранят отдельными таблицами фактов, связывая с согласованными справочниками дат, кампаний и каналов. Если применяется атрибуция, отдельная таблица хранит заказ, канал и вес распределения. Сумма весов по полностью распределяемому заказу должна равняться единице. Нераспределённые продажи лучше показать отдельной группой, а не незаметно исключить.

Проверьте также фильтры: если расходы известны только по кампании, фильтр конкретного клиента не превращает их автоматически в расходы на этого клиента. Для такого расчёта нужна явная методика распределения.

Модель атрибуции выбирают под вопрос

  • Первое касание показывает источник первого наблюдаемого контакта в выбранном окне.
  • Последнее касание отдаёт результат последнему учитываемому контакту; правило исключения прямого трафика нужно задавать отдельно.
  • Линейное распределение делит ценность между учитываемыми касаниями по заданному правилу.
  • Модель на основе данных оценивает веса по данным и алгоритму конкретной системы; результат зависит от наблюдаемости и настроек.

Это возможные подходы для собственной аналитической модели. Их наличие в конкретной платформе проверяют отдельно. Например, в Google Analytics модели первого клика, линейная, временного спада и позиционная недоступны с ноября 2023 года. Нельзя перечислять их как текущий набор настроек GA4. Актуальная справка Google об атрибуции.

Не называйте data-driven модель безусловно «самой точной»: она распределяет результат в рамках доступных данных и своей методики. Сравнивайте модели при одинаковом окне, составе событий и определении конверсии; полезно понимать, какие решения меняются при смене правила.

Календарный отчёт, когорты и повторные покупки

Календарный отчёт отвечает, сколько компания потратила и получила за период. Когортный — какой результат со временем принесли клиенты или лиды, привлечённые в определённый период. Оба отчёта нужны, но отвечают на разные вопросы.

При длинном цикле сделки свежая когорта ещё не успела принести все оплаты. Сравнивайте когорты одинакового возраста или явно показывайте, что период наблюдения не завершён. Не объявляйте кампанию убыточной только потому, что расходы уже загружены, а оплаты ещё не наступили.

Для LTV уточните, считаете ли вы выручку или маржинальный вклад, за какой горизонт и по какой группе клиентов. Наблюдаемый результат за 12 месяцев и прогноз всей будущей жизни клиента — разные показатели. CAC требует согласованного состава затрат на привлечение и числа новых клиентов; все заказы в знаменателе превращают его в другую метрику.

Читай также:  GPTs в ChatGPT: как выбрать помощника и проверить его ответы

Не максимизируйте один процент ROMI отдельно от объёма результата. Более высокий процент на очень маленьком бюджете может давать меньше маржинального дохода. Для изменения бюджета полезны также абсолютный вклад, ограничения продаж и ожидаемый эффект дополнительного расхода.

Как подключить Битрикс24 к Power BI

Описание подключения через BI Data Connector поможет сверить настройку выбранного способа выгрузки. Для чтения запросов к промежуточной базе можно использовать форматирование SQL.

Штатный BI-коннектор Битрикс24 не следует описывать как обычный OData Feed. В официальном сценарии используются шаблон отчёта, адрес портала и секретный ключ, а загрузку сущностей выполняет функция Power Query bx24_load_entity. Документация по запросам описывает HTTP-эндпойнт pbi.php. Подключение Power BI; Запросы BI-коннектора.

  1. Проверьте доступность BI-аналитики на вашем тарифе и лимиты выгрузки, а также условия установки выбранного источника или шаблона.
  2. В разделе BI-аналитики получите данные подключения и скачайте подходящий шаблон.
  3. Откройте его в Power BI Desktop, задайте адрес и ключ. До полной загрузки ограничьте период под задачу.
  4. Проверьте нужные сущности, пользовательские поля, типы дат и смысл каждого показателя.
  5. Сверьте данные с CRM и источником оплат, затем добавьте расходы и модель атрибуции.
  6. Опубликуйте в выбранное рабочее пространство, настройте доступ и обновление, проверьте результат под ролью получателя отчёта.

Другие варианты — REST API, сторонний коннектор или промежуточное SQL-хранилище. Встроенный BI-коннектор, BI Конструктор и сторонний BI Data Connector — разные решения. Сравнивайте состав сущностей, историю, ограничения и задержку обновления, а не только название.

Для конфиденциальных CRM-данных не используйте Power BI Publish to web / Опубликовать в Интернете: этот режим делает отчёт доступным публично без обычной проверки прав. Он отличается от публикации в рабочее пространство и защищённого встраивания. Условия Publish to web.

Пример мер DAX

Допустим, таблица Attribution уже содержит маржинальный доход до маркетинга, распределённый по каналам без дублей, в столбце AllocatedMargin. Таблица Costs содержит согласованные маркетинговые затраты в MarketingAmount. Обе корректно фильтруются общими справочниками канала и периода.

Attributed Margin = SUM(Attribution[AllocatedMargin])

Marketing Cost = SUM(Costs[MarketingAmount])

ROMI % =
DIVIDE(
    [Attributed Margin] - [Marketing Cost],
    [Marketing Cost]
)

Мере ROMI % задайте процентный формат. При 210 000 ₽ маржинального дохода и 120 000 ₽ затрат результат равен 0,75 и отображается как 75%; умножать его ещё на 100 не нужно. При нулевых затратах DIVIDE без третьего аргумента возвращает BLANK, поскольку такой ROMI не определён. DIVIDE в DAX.

Формула не исправляет неверные связи таблиц. До использования проверьте общий итог, отдельный канал, период, пустые значения и нулевой расход.

Порядок внедрения и критерии приёмки

  1. Согласуйте определения метрик и решения, для которых строится отчёт.
  2. Назначьте владельцев CRM-данных, расходов, оплат и итоговой модели.
  3. На ограниченном периоде настройте сбор идентификаторов и выгрузку.
  4. Сверьте расходы с кабинетом, оплаты с учётом, сделки с CRM. Отдельно покажите пропуски, дубли и неатрибутированные продажи.
  5. Проверьте обновление, повторную загрузку, возвраты и изменения старых сделок.
  6. Опишите правила доступа, обработки сбоев и пересчёта истории.
  7. Расширяйте систему после подтверждения качества и полезности для выбранных решений.

Нет универсального порога рекламного бюджета, с которого такая система обязана окупаться, и гарантированной экономии 15–30%. Для небольшого проекта может хватить простой сверяемой таблицы. Для сложного — потребуются витрины, автоматизация и сопровождение. Даже один канал может нуждаться в аналитике качества лидов; сначала расширять рекламу ради сложности отчёта не требуется.