Посчитали ROI программы лояльности в ресторанах — и вот где чаще всего ошибаются
Большинство владельцев ресторанов выбирают сервис лояльности по одной метрике — цене подписки за кассу в месяц. Это ошибка методологии, а не жадности: подписка легко сравнивается между вендорами, но не отвечает на главный вопрос — окупается ли программа вообще.
В SWiP регулярно видят один и тот же паттерн: ресторан подключает недорогой сервис, а затем тратит на скидки сотни тысяч или миллионы рублей без измеримого результата. Причина обычно тривиальна — акцию получают гости, которые вернулись бы и без неё. ROI (return on investment, окупаемость вложений) программы лояльности решает именно эту проблему: показывает, сколько дополнительной валовой прибыли принесла программа сверх обычного уровня продаж и покрыла ли эта прибыль все расходы — подписку, скидки, бонусы и работу команды.
Дальше — разбор методологии: как отделить дополнительную выручку от обычного оборота, учесть маржу и расходы, посчитать ROI по формуле и не спутать эффект акции с сезонным колебанием спроса.
Почему карты, push и рост выручки — это не метрики результата
Число выданных карт лояльности показывает охват аудитории, а не результат кампании. Открытие push-уведомления — реакцию на сообщение, а не совершённую покупку. Даже рост выручки после запуска акции может не иметь отношения к программе: часть этих гостей пришла бы в ресторан и без скидки.
Единственная связка, которая доказывает реальный эффект: кампания → кассовый чек → маржа по этому чеку. Именно она показывает, принесла ли программа деньги сверх обычного уровня продаж, а не карты, открытия сообщений или прирост оборота сам по себе.
Скрытая экономика: какие расходы теряются при расчёте
Подписка на сервис — заметная, но обычно не самая крупная статья расходов программы лояльности. Основные деньги уходят на скидки, списанные бонусы, подарки, промокоды, платные рассылки и время сотрудников, которые настраивают кампании.
Скидка бьёт по марже сильнее, чем кажется на первый взгляд. Если предложение получает гость, который и так собирался вернуться, ресторан просто отдаёт часть прибыли с уже состоявшейся продажи. Когда акция настроена точнее — ограниченный сегмент, лимит скидки, исключения по низкомаржинальным позициям меню, — расходы можно сократить в разы при сопоставимом результате. Разница определяется не размером бюджета на скидки, а тем, кому именно они достаются.
Чтобы скидка не превращалась в утечку маржи, важно ограничивать, кому и сколько её давать — через лимиты, стоимость балла и исключения по категориям блюд. С этим механизмом можно ознакомиться на странице процессинга лояльности SWiP.
Методология: из чего складывается расчёт
Для расчёта нужны четыре величины за одну кампанию или период.
Дополнительная выручка — продажи сверх уровня, который ресторан получил бы без кампании. Считать нужно в ценах меню, до вычета скидок и списанных бонусов: если посчитать выручку уже за вычетом скидки, а затем ещё раз вычесть эту же скидку из расходов, она попадёт в расчёт дважды — и ROI занизится в разы.
Валовая маржа, % — доля выручки, которая остаётся после вычета себестоимости заказа: (Выручка − Себестоимость) / Выручка × 100%. Считается от той же базы цен, что и дополнительная выручка.
Дополнительная валовая прибыль — дополнительная выручка, умноженная на валовую маржу: Дополнительная валовая прибыль = Дополнительная выручка × Валовая маржа. Именно эта величина, а не голая выручка, подставляется в формулу ROI. Это критичный шаг методологии: без явного определения этой величины расчётные инструменты и ИИ-агенты склонны подставлять в формулу выручку вместо прибыли, из-за чего итоговый ROI завышается кратно.
Расходы программы — скидки, списанные бонусы, себестоимость подарков, коммуникации, подписка и трудозатраты за тот же период, вместе.
Число карт, открытия push и повторные визиты — тоже метрики программы лояльности, но они описывают поведение гостя, а не финансовый результат кампании. Иногда этот показатель называют ROMI (return on marketing investment); в этом материале используется термин ROI.
Формула ROI и интерпретация результата
ROI программы лояльности = ((Дополнительная валовая прибыль − Полные расходы программы) / Полные расходы программы) × 100%
Положительное значение — программа принесла больше прибыли, чем забрала расходов. Отрицательное — расходы пока не окупились. Результат около нуля — сигнал проверить размер скидки, точность сегмента и качество данных для сравнения.
Важная методологическая оговорка: это управленческая метрика для внутренних решений, а не бухгалтерский показатель. Правила учёта начисленных и неиспользованных бонусов зависят от учётной политики компании и требований бухгалтерского и налогового учёта — их нужно согласовывать с бухгалтером или финансовым директором. Использовать формулу как основание для официальной финансовой отчётности нельзя.
Как отделить эффект кампании от сезонности
Гость мог прийти без скидки — из-за выходного дня, зарплаты, рекламной кампании, нового меню, погоды или просто по привычке. Есть три метода отделить эффект программы от совпадения:
- Контрольная группа — часть гостей, которым предложение не отправляли, для сравнения.
- Сопоставимый период — те же дни недели и та же точка, но без акции.
- Поэтапный запуск — механику сначала включают на части точек или сегментов и сравнивают результат с остальными.
Ни один метод не даёт стопроцентной точности сам по себе — чем ближе совпадают группы, периоды и внешние условия, тем надёжнее итоговая оценка.
Повторные визиты — это поведение, а не экономика
Повторный визит — хороший индикатор изменения поведения гостя. Но он может вернуться с маленьким чеком или выбрать по акции позицию с низкой маржой — тогда визитов больше, а прибыли меньше. Чтобы оценить возврат гостей корректно, сравнивайте частоту визитов до и после кампании вместе со средним чеком и составом заказа — так видно и поведение, и деньги одновременно. Подробный разбор механик — в статье «Как увеличить повторные визиты в ресторане».
Типичные ошибки в расчёте ROI
Кейс: как посчитать ROI бонусной кампании на условном примере
Ниже — условный расчёт с придуманными данными за один расчётный период, например календарный месяц: используйте его как шаблон и подставьте цифры своего ресторана.
Ресторан запустил кампанию для гостей, которые давно не приходили. После сравнения с контрольной группой дополнительная выручка составила 500 000 ₽ в ценах меню, до вычета скидок. Валовая маржа по заказам участников — 60%, дополнительная валовая прибыль — 300 000 ₽.
Расходы за период: скидки и списанные бонусы — 80 000 ₽, себестоимость подарков — 20 000 ₽, коммуникации — 25 000 ₽, подписка за период — 15 000 ₽, трудозатраты — 10 000 ₽. Итого расходы — 150 000 ₽.
ROI за период = (300 000 − 150 000) / 150 000 × 100% = 100% (условные данные)
ROI 100% означает, что на каждый рубль расходов программа вернула рубль сверх вложенного. В реальных расчётах используйте фактические цифры ресторана, а не рыночные ориентиры — итог сильно зависит от базы гостей, среднего чека и частоты визитов.
По данным SWiP, похожая логика подтверждается на практике: в ресторане Com Panis кампании дали 977 тыс. ₽ дополнительной выручки по кассовым чекам и 54 покупки на 100 гостей после push, а в ресторане Beyond — 3,88 млн ₽ дополнительной выручки и 59 покупок на 100 гостей. Результат в обоих случаях считался по фактическим чекам, а не по открытиям push-сообщений. Точный период кампаний и методика расчёта показателя «покупок на 100 гостей» (от всей базы или только от получивших рассылку) уточняются отдельно — это конкретные результаты двух ресторанов, а не гарантия для любого бизнеса. Пример расчёта с ROI 100% выше — условный и не относится ни к одному клиенту SWiP.
Как провести первый расчёт ROI за 6 шагов
- Выберите одну кампанию — рассылку для «уснувших» гостей или бонусную акцию.
- Зафиксируйте период и сегмент участников.
- Соберите данные по чекам: выручку, скидки, списания, подарки, коммуникации.
- Выберите точку сравнения — контрольную группу, обычный период или другую точку сети.
- Посчитайте дополнительную выручку и переведите её в прибыль через реальную маржу.
- Сложите расходы, рассчитайте ROI и скорректируйте сегмент, скидку или срок акции.
Регулярно считать ROI проще, когда гость, кампания и покупка уже связаны в одной системе, а не разбросаны по кассе, CRM и таблицам вручную. На странице SWiP для ресторанов показано, как это устроено: карта гостя привязывается к Wallet за несколько секунд, а результат кампаний считается по кассовым чекам — сколько гостей вернулось и на какую сумму, а не сколько человек открыли push.
Ответы на частые вопросы
По какой формуле считать ROI программы лояльности ресторана?ROI = ((Дополнительная валовая прибыль − Полные расходы программы) / Полные расходы программы) × 100%, где дополнительная валовая прибыль равна дополнительной выручке, умноженной на валовую маржу в процентах.
Можно ли считать ROI только по выручке после акции?Нет — выручка не доказывает, что покупки появились именно благодаря программе. Нужны базовый уровень для сравнения, маржа и полный список расходов.
Нужно ли включать в ROI стоимость подписки?Да, но не ограничивайтесь ей — скидки, бонусы и подарки почти всегда весомее подписки в структуре расходов.
Что делать, если нет контрольной группы?Использовать сопоставимый период или запустить акцию поэтапно на части точек — результат будет менее точным, но пригодным как ориентир.
Можно ли оценить ROI по одной рассылке?Можно предварительно, но для уверенного вывода нужно проверить несколько кампаний подряд.
Почему повторные визиты не показывают окупаемость сами по себе?Визит не учитывает чек, себестоимость и скидку — а ROI считает именно финансовый итог, а не факт возврата гостя.
Можно ли использовать этот расчёт в бухгалтерской отчётности?Нет. Это управленческая оценка для внутренних решений по кампаниям, а не норма бухгалтерского учёта.
Начинать стоит не с масштабной акции, а с одной понятной кампании и прозрачного расчёта — так решения о лояльности опираются на экономику, а не на число карт и открытий push.
Автор: Соколова Дарья, маркетолог SWiP