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

Отчёт зелёный, на счёте прибыли меньше, чем обещает метрика
Частая ситуация: собственник видит по каналу зелёный ROMI, докладывает бюджет, а чистая прибыль за месяц не идёт следом за обещанной окупаемостью. Разница между процентом в отчёте и остатком на счёте появляется из-за базы расчёта.
В Roistat прибыль от сделки считается как Выручка − Себестоимость, и именно это значение подставляется в ROI/ROMI. Пока себестоимость по сделке не заведена, показатель считается фактически от полного чека и переоценивает канал — окупаемость в отчёте выходит выше той, что подтверждается деньгами. Я эту точку проверяю первой, когда разбираю проект с «хорошими цифрами и слабой прибылью».
На сколько счёт от выручки завышает отдачу
Возьму числа из публичного разбора, чтобы показать механику. Расход на рекламу 100 000 ₽, выручка 400 000 ₽ — по выручке это ROMI 300%. При марже 25% валовая прибыль равна тем же 100 000 ₽, и по прибыли ROMI выходит 0%: канал вернул вложенное и вышел в ноль. Тот же расчёт вскрывает и убыток — 100 000 ₽ затрат при 10 000 ₽ валовой прибыли дают ROMI −90%, хотя по обороту канал выглядит рабочим.
По оценке одного публичного разбора, счёт от выручки завышает результат в 2–4 раза против расчёта через валовую прибыль. Коэффициент целиком зависит от маржинальности конкретного бизнеса и между нишами не переносится — это иллюстрация масштаба ошибки, а не универсальный множитель.
Логика видна и в документации Roistat: при заданной прибыльности 60% и чеке 5300 ₽ себестоимость составит 2120 ₽. В прибыль идёт маржинальная часть чека — около 3180 ₽, — а расчёт по полному платежу приписывает каналу лишние деньги, которых в прибыли нет.
Почему сравнение каналов по обороту двигает бюджет в убыток

Один и тот же канал даёт разную картину в зависимости от базы. В публичном примере таргет показал 150% по выручке против 50% по прибыли — разница втрое. Решение об окупаемости корректно принимать по прибыли: канал с высокой выручкой и низкой маржинальностью может быть убыточным из-за высокой себестоимости или скрытых расходов, которых счёт по обороту не видит.
Дальше это бьёт по распределению бюджета. Когда деньги перекладывают по обороту, они уходят в оборотистый низкомаржинальный канал, а каналы с реальной прибылью недополучают вложений. Оборот растёт, прибыль стоит на месте — и причина именно в том, по какому показателю сравнивали. Похожий разбор того, как учёт ломается ещё до сравнения каналов, я делал в материале про то, где Roistat начинает врать после настройки.
Как завести себестоимость в Roistat, чтобы отчёт считал маржу
Себестоимость в Roistat задаётся четырьмя способами, они работают по приоритету:
- Стандартное поле CRM — например, себестоимость из МойСклад, подтянутая в сделку.
- Пользовательское поле в разделе «Поля бизнес-показателей».
- Дополнительное поле cost в самой сделке.
- «Прибыль от сделки, %» от выручки — последний приоритет, грубая оценка через фиксированный процент.
Пока ни один из способов не настроен, маржа в отчётах не учитывается и все расчёты идут от полного чека. Первые три способа дают себестоимость по факту сделки, четвёртый — усреднённую долю, которую стоит применять только когда точной себестоимости в системе пока нет.
Корректная формула включает маржинальность: ROMI = (Выручка × Маржинальность% − Затраты на маркетинг) / Затраты на маркетинг × 100%. Расчёт по одной выручке в источниках описан как грубая ошибка, завышающая результат. Завести себестоимость по каждой сделке и перевести отчёты на маржинальную прибыль — это и есть настройка Roistat, после которой процент в отчёте начинает совпадать с движением денег на счёте.
От валовой прибыли к чистой: где маржа уходит дальше
Валовая прибыль (Выручка − Себестоимость) — первый уровень. Ниже её маржу уменьшают операционные расходы, возвраты и налоги, до строки чистой прибыли. Это разграничение в отчётах Roistat описано неполно, поэтому точку, где именно теряется маржа между валовой и чистой строкой, я проверяю на конкретном проекте, а не принимаю по умолчанию.
Ту же логику подтверждает международный подход к оценке отдачи маркетинга: вклад считается как Прирост выручки × Контрибуционная маржа − Затраты. При выручке 500 000 и марже 60% истинный вклад — 300 000, то есть счёт по выручке систематически переоценивает отдачу. Западный метод при этом дополнительно вычитает продажи, которые случились бы и без рекламы; в Roistat такой поправки обычно нет, и это расхождение методики я закладываю в проверку на своих цифрах.
Отдельный источник искажения — сама модель атрибуции. Roistat перераспределяет выручку и прибыль между каналами, и от этой логики зависит, какому каналу достанется отдача. Как атрибуция приписывает выручку и почему это смещает ROMI, я разбирал в материале про модель распределения выручки в сквозной аналитике.
Что даёт учёт себестоимости для решений по бюджету
Заведённая себестоимость переводит отчёты на валовую и чистую прибыль, и каналы начинают сравниваться по прибыли, а не по обороту. Дальше решение по бюджету опирается на деньги, которые канал оставляет после себестоимости и расходов: вложения идут в прибыльные каналы, а оборотистые низкомаржинальные перестают оттягивать деньги на себя.
Механика простая: сначала — источник себестоимости на каждой сделке, затем — отчёты в терминах прибыли, и только потом сравнение каналов и перераспределение бюджета. В этом порядке зелёный процент в Roistat означает окупаемость, которую видно и на расчётном счёте.

Никита Бердников
Официальный партнёр amoCRM (ID 28602378), Roistat и SIPUNI. 5+ лет настраиваю CRM, сквозную аналитику и телефонию под выручку — лично, без агентских посредников. 25+ проектов, ₽100M+ выручки клиентов.
Похожие статьи

Повторные оплаты и LTV в атрибуции Roistat: почему окупаемые каналы попадают под сокращение и как это исправить
Roistat считает окупаемость канала по первой сделке. Разбираю, как завести повторные оплаты и LTV в атрибуцию через когорты и связку по контакту.

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

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