Партнёр amoCRM · Бизнес-партнёр 1С-Битрикс · по всей России

Запись № 012 · Аналитика

Как Roistat считает ROMI и ROI и почему зелёный отчёт не значит прибыль

ROMI в Roistat считается от выручки, ROI — от прибыли, и один и тот же канал может показать по ним 300 % и 0 %. Разбираем, откуда Roistat берёт каждую цифру формулы и почему после настройки окупаемость расходится с деньгами.

8 минут чтения Лаборатория внедрений
ROMI без прибыли. Обложка записи «Как Roistat считает ROMI и ROI и почему зелёный отчёт не значит прибыль»

Roistat считает ROMI по формуле (Выручка − Расходы) / Расходы × 100 %, ROI — по формуле (Прибыль − Расходы) / Расходы × 100 %, где прибыль равна выручке за вычетом себестоимости. Выручка — сумма сделок в группе статусов «Оплаченные», расходы — всё, что загружено из рекламных кабинетов и введено вручную. Зелёный ROMI означает, что выручка канала покрыла рекламу, и ничего не говорит о марже. Ниже разбираем, откуда Roistat берёт каждую цифру формулы и где при настройке появляется ошибка.

ROI и ROMI в Roistat: чем отличаются формулы

В глоссарии Roistat обе метрики стоят рядом и различаются одним слагаемым. ROMI берёт выручку и себестоимость не учитывает. ROI берёт прибыль, то есть выручку минус себестоимость по сделкам, созданным и оплаченным в выбранный период.

Сравнение двух колонок: ROMI считается от выручки без себестоимости и в примере равен 300 %, ROI считается от прибыли и в том же примере равен 0 %.
Канал с ROMI 300 % может ничего не заработать сверх рекламы.

Условный пример в долях без валюты. Канал потратил 100 единиц, сделки по нему принесли 400 единиц выручки, себестоимость проданного — 300 единиц. ROMI = (400 − 100) / 100 = 300 %. Прибыль = 400 − 300 = 100, ROI = (100 − 100) / 100 = 0 %. Канал вернул вложенное в рекламу и ничего не заработал сверх этого. В отчёте с колонкой ROMI он выглядит лучшим, в отчёте с колонкой ROI — нулевым.

Для решения о бюджете нужна колонка ROI. ROMI полезен как быстрый индикатор, когда маржа по всем направлениям примерно одинакова. Если компания продаёт товары с разной наценкой, каналы по ROMI сравнивать нельзя: канал с дешёвым оборотистым товаром обгонит канал с маржинальным.

Откуда Roistat берёт выручку

Roistat не считает деньги сам. Он читает сделки из CRM. В amoCRM сумма берётся из поля «Бюджет» сделки, а в выручку попадают только сделки, чей статус отнесён к группе «Оплаченные». Распределение статусов по группам («Оплаченные», «Отменённые», «В работе» и другие) задаётся в настройках интеграции, в разделе «Загрузка заявок из CRM: распределение статусов».

Воронка из пяти шагов: визит, сделка в CRM с полем roistat, сумма в поле «Бюджет», статус из группы «Оплаченные», выручка канала по модели атрибуции.
Выручка доходит до канала, только если на каждом шаге есть данные.

Отсюда три типовые ошибки. Первая — новый статус воронки забыли отнести к «Оплаченным», и сделки в нём выпадают из выручки. Вторая — менеджер закрывает сделку с пустым «Бюджетом», и она попадает в продажи с нулевой суммой. Третья — оплату фиксируют в другом поле или в учётной системе, а «Бюджет» остаётся суммой из первого коммерческого предложения. Все три лечатся на стороне CRM: обязательное поле суммы на переходе в оплаченный этап, робот, который переносит фактическую сумму в «Бюджет», проверка статусов при каждом изменении воронки.

Roistat загружает полную историю изменений сделок amoCRM. Удалённая в CRM сделка через несколько минут исчезает и из Аналитики, поэтому чистка базы задним числом меняет выручку прошлых месяцев.

Себестоимость: где Roistat её ищет

Без себестоимости ROI считать не из чего. Roistat ищет её по приоритету:

  1. Стандартное поле CRM, например из МойСклад.
  2. Дополнительное поле, указанное в настройках интеграции. Можно передать прибыль, тогда себестоимость = выручка − прибыль.
  3. Поле cost.
  4. Процент прибыли в настройках проекта: прибыль = процент × выручка.

Важная деталь из документации: если по сделке данных нет, применяется процент из настроек, и показатели пересчитываются за весь период проекта. Поменяли процент в марте — ROI за прошлый год тоже изменился. Для отчёта, который сравнивают месяц к месяцу, это ловушка: цифры в старой выгрузке и в живом отчёте перестают совпадать.

Процент из настроек подходит компании с одной товарной линейкой. При нескольких направлениях с разной маржой мы передаём себестоимость по каждой сделке полем из CRM: его заполняет робот или интеграция с товарами, менеджер в нём ничего не вводит.

Период: дата создания сделки или дата продажи

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

В настройках отчёта можно включить группировку «По дате продажи»: показатели → расширенные настройки → «Группировать заявки по». Датой продажи Roistat считает момент, когда сделка впервые загрузилась в статусе из группы «Оплаченные». В amoCRM можно включить опцию «Использовать дату продажи из CRM», тогда берётся дата из сделки. Выручка по дате оплаты отражает, сколько денег пришло в этом месяце, и совпадает с кассой. Для оценки рекламы этот режим хуже: апрельская оплата январской заявки сравнивается с апрельским расходом.

При длинном цикле сделки мы держим оба среза рядом. В кейсе застройщика на Кипре сделки считаются в двух вариантах: по дате создания заявки и по дате события в воронке.

Какие расходы попадают в знаменатель

В знаменателе ROMI и ROI — маркетинговые расходы канала. Кабинеты, подключённые по API (например, Яндекс Директ), отдают расходы сами. В настройках канала Директа задаются НДС, комиссия агентства и скидка площадки. Если их не выставить, расход в Roistat разойдётся с платёжками. Подробно эти расхождения разобраны в статье почему расходы в Roistat не сходятся с кабинетом Яндекса.

Всё, что не приходит по API, вводится вручную: Аналитика → «Ввод расхода». Туда заносят ведение рекламы агентством, оплату блогеров, наружную рекламу. Расход можно привязать к любому уровню меток roistat. Система распределяет его пропорционально дням периода, а внутри дня — пропорционально визитам. У канала без введённого расхода знаменатель пустой: заявки и выручка по нему есть, трат нет, и в отчёте он выглядит бесплатным.

Как модель атрибуции меняет ROMI канала

Выручка сделки достаётся каналу по правилам модели атрибуции. По умолчанию работает модель «Стандартная»: учитываются заявки, созданные в выбранный период, ценность получает канал последнего визита. В модели «Первый клик» вся ценность уходит каналу первого визита цепочки. «Последний платный клик» пропускает визиты без расходов и отдаёт сделку последнему платному каналу.

Расходы при этом остаются на месте, меняется только числитель. Канал, который приводит новых людей, в «Стандартной» получает мало сделок и низкий ROMI. В «Первом клике» его ROMI растёт, а у ретаргетинга и брендового поиска падает. Прямые заходы участвуют в цепочках наравне с другими каналами, и в «Стандартной» им достаётся выручка каждой сделки, где прямой заход был последним. Как выбрать модель под свой цикл сделки, разбираем в статье о моделях атрибуции Roistat.

Сравнивать ROMI каналов имеет смысл внутри одной модели. Когда один отчёт собран в «Стандартной», а другой в «Первом клике», цифры противоречат друг другу, и обе при этом посчитаны верно.

Roistat настроили, а окупаемость всё равно врёт

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

Первое место — строка «Неизвестно» или «Неизвестное значение» в отчёте. По документации туда попадают сделки без номера визита, каналы, не добавленные ни в одну группу, и сделки, чей последний визит был вне периода группировки. Без источника остаются сделки, созданные вручную, заявки с форм, которые отправляют данные в CRM в обход Roistat, и сделки с некорректно заполненным полем roistat. Выручка в «Неизвестно» есть, но ни одному каналу она не засчитана.

Второе — звонки. Если коллтрекинг не пишет источник в сделку, продажи по телефону выпадают из рекламных каналов. В кейсе Metako мы написали сервис, который каждые 10 минут берёт журнал звонков Roistat и дописывает источник в сделку amoCRM. Итог — 95 % сделок со звонков с меткой источника.

Дальше по списку идут причины из разделов выше: пустой «Бюджет», статус вне «Оплаченных», процент себестоимости вместо фактической, канал без введённых расходов, сравнение отчётов в разных моделях.

Что мы делаем, чтобы ROMI совпадал с деньгами

Работу начинаем со сверки. Выручку Roistat за закрытый период сравниваем с оплаченными сделками в CRM по одним и тем же датам. Каждое расхождение раскладываем по причинам: статусы, суммы, сделки без источника. После сверки заводим себестоимость по сделке и переводим отчёт на ROI и прибыль, вносим ручные расходы по всем каналам, которые их не передают.

Следующий шаг — вернуть данные о продажах в рекламу. В кейсе строительства авторских бань мы связали сайт, рекламные кабинеты, телефонию с коллтрекингом и amoCRM в одну воронку и передаём события из CRM в Метрику, чтобы Директ учился на сделках. Стоимость конверсионного события, ведущего к продаже, снизилась на 33 %.

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

Частые вопросы

Ответы на вопросы, которые нам чаще всего задают по этой теме.

Чем ROI отличается от ROMI в Roistat?
ROMI = (Выручка − Расходы) / Расходы × 100 %, себестоимость в нём не участвует. ROI = (Прибыль − Расходы) / Расходы × 100 %, где прибыль — выручка минус себестоимость. Для решений о бюджете нужен ROI: он показывает, заработал ли канал сверх затрат на рекламу.
Что отражает выручка по дате оплаты в Roistat?
Сколько денег пришло в выбранном периоде: датой продажи считается момент, когда сделка впервые загрузилась в статусе из группы «Оплаченные», или дата из CRM, если включена опция «Использовать дату продажи из CRM». По умолчанию отчёт строится по дате создания сделки, и этот режим точнее для оценки рекламы.
Что значит «Неизвестное значение» в отчёте Roistat?
Туда попадают сделки без номера визита, каналы, не добавленные ни в одну группу, и сделки, последний визит которых был вне периода группировки. Обычно это сделки, созданные вручную, или заявки с форм, отправленные в CRM в обход Roistat. Выручка в этой строке не засчитана ни одному каналу.
Почему канал в Roistat выглядит бесплатным?
У него нет расходов в знаменателе. Кабинеты по API отдают расходы сами, а агентство, блогеров и наружную рекламу нужно вносить вручную в Аналитике на вкладке «Ввод расхода», с привязкой к метке roistat.
Откуда Roistat берёт себестоимость?
По приоритету: стандартное поле CRM, дополнительное поле из настроек интеграции, поле cost, процент прибыли в настройках проекта. Процент применяется, когда данных по сделке нет, и пересчитывает показатели за весь период проекта. Передать себестоимость по каждой сделке помогаем при настройке аналитики.

Автор

Лаборатория внедрений

Внедряем и сопровождаем amoCRM и Битрикс24, делаем интеграции, разработку и аналитику. Пишем о том, что видим на аудитах и в проектах.

О компании
ПРОМОКОДROISTAT
НОВОМУ АККАУНТУ

Хотите посмотреть Roistat на своих данных?

Мы партнёры Roistat. Новому аккаунту, зарегистрированному по нашей партнёрской ссылке, Roistat начисляет бонус на использование системы. Настройку под ваши источники и CRM возьмём на себя.

Направление на анализ

Начнём с пары вопросов

Ответьте на них, и мы свяжемся с вами в течение 2 рабочих часов.

Обсудить задачу на созвоне
MAX TG Обсудить задачу