Меню-инжиниринг
Меню-инжиниринг отвечает на вопрос, который в отчётах о выручке не виден: что делать с конкретным блюдом. Одно блюдо берут часто, но оно почти не кормит. Другое кормит отлично, но его не замечают в меню. Третье не делает ни того, ни другого и просто занимает строку.
Откройте Админ-панель → Меню → Статистика (admin.cenaly.ru/menu/statistics) и переключитесь на вкладку «Меню-инжиниринг».
Метод классический — матрица Касаваны–Смита (Kasavana & Smith, 1982): два измерения, четыре квадранта, по одной рекомендации на квадрант.
Как считаются квадранты#
Каждое блюдо сравнивается внутри своей категории меню, а не со всем меню сразу: сравнивать десерт с горячим бессмысленно — у них разная цена и разная частота заказа. Переключатель «Всё меню» позволяет посмотреть и сквозной разрез.
Порог популярности. Если бы спрос был равномерным, каждое из N продававшихся блюд категории взяло бы долю 1/N. Блюдо считается популярным, если добирает хотя бы 70 % от этой планки — то есть его доля в штуках ≥ 0.7 × (1/N). Это канонический коэффициент метода.
Порог маржи. Маржа блюда — это контрибуционная маржа порции: средняя цена продажи за период минус себестоимость порции. Планка — средневзвешенная по штукам маржа категории, а не среднее арифметическое: иначе одно дорогое блюдо, проданное дважды, задрало бы планку для всей категории.
Себестоимость берётся из тех-карты блюда (состав × закупочные цены — см. Склад).
Блюда без полной себестоимости в квадранты не попадают. Если тех-карты нет или у части ингредиентов не проставлена цена, блюдо получает пометку «нет данных о себестоимости» и остаётся вне матрицы. Это сделано намеренно: решение «вывести блюдо из меню», принятое по выдуманной марже, стоит слишком дорого.
Кроме таблицы вкладка рисует диаграмму рассеяния: по одной оси популярность, по другой — маржа единицы, пунктиром обозначены оба порога. Видно не только «в каком квадранте блюдо», но и насколько далеко оно от границы.
Четыре квадранта#
| Квадрант | Популярность | Маржа | Рекомендация |
|---|---|---|---|
| ⭐ Звёзды | высокая | высокая | Держать на виду — не трогать качество и порцию, ставить в начало раздела и в рекомендации |
| 🐴 Рабочие лошадки | высокая | низкая | Поднять цену или снизить себестоимость — блюдо любят, значит небольшое повышение цены оно выдержит; альтернатива — пересобрать тех-карту |
| ❓ Загадки | низкая | высокая | Переставить выше в меню — переименовать, добавить фото, предлагать в зале и на кассе; спрос упирается в заметность, а не в блюдо |
| 🗑 Аутсайдеры | низкая | низкая | Вывести из меню — не берут и не кормят, а закупка под него всё равно занимает место на складе |
Рекомендация в колонке «Что делать» проставляется автоматически по квадранту — это не ИИ-совет, а фиксированное правило метода.
Строки внутри категории отсортированы по суммарной марже за период (сначала то, что действительно кормит), а категории — по выручке.
Маржа по каналам#
Блюдо со средней маржой в зале может уходить в минус в агрегаторе с комиссией 30 %. Поэтому под матрицей есть блок «Маржа по каналам»:
| Колонка | Что это |
|---|---|
| Канал | свой канал, Wolt, Glovo, Яндекс Еда и т. д. |
| Валовая | выручка канала до удержания платформы |
| Комиссия | удержание: процент от выручки плюс отнесённая доля фикса «за заказ» |
| К выплате (net) | что реально приходит в кассу |
| Маржа | net минус себестоимость проданного |
Ставки комиссии задаются по паре «точка + канал» в интеграциях точки (см. Финансы). Пока не заполнена ни одна ставка, блок «Маржа по каналам» не показывается вовсе — считать «net = валовая» и делать вид, что канал бесплатный, было бы хуже, чем не показывать ничего.
Себестоимость канала считается только по блюдам с полной тех-картой, а выручка — по всем; сколько блюд канала остались без себестоимости, показано отдельным числом рядом.
Что нужно, чтобы матрица построилась#
- Продажи за период. Период выбирается тем же переключателем, что и на вкладке статистики: 7 / 30 / 90 дней, 12 месяцев, «Всё время».
- Тех-карты блюд с проставленными закупочными ценами ингредиентов — без них у блюда нет себестоимости, а значит и квадранта.
- Комиссии каналов — только для блока «Маржа по каналам»; сама матрица работает и без них.
Если полной себестоимости нет ни у одного блюда, вкладка честно скажет об этом вместо пустой таблицы.
Кнопка ⇩ CSV выгружает всю матрицу — удобно, чтобы обсудить меню с шефом в таблице или приложить к протоколу пересмотра цен.
Ограничения#
- Без себестоимости матрица не строится. Нужны тех-карты с закупочными ценами; если полной себестоимости нет ни у одного блюда, вкладка честно скажет об этом, а не покажет пустую таблицу.
- На коротком периоде квадранты неустойчивы. Пара продаж переносит блюдо из «загадок» в «звёзды» и обратно — смотрите 30 или 90 дней.
- Комиссии каналов — оценочные ставки из ваших настроек, а не фактические удержания площадок; блок «Маржа по каналам» настолько же точен, насколько точны эти ставки.
- Единого глоссария метрик пока нет — выручка в «Финансах», «Статистике» и на кассе может считаться по-разному, поэтому сравнивайте одинаковые периоды и одинаковые срезы.
- Раздел считается на аналитической базе контура AWS — на российском бренде статистика по продажам падает на запасной расчёт по заказам.
Устранение неполадок#
Вкладка пустая. Нет продаж за период либо нет ни одной позиции с полной себестоимостью.
Блюдо не попало в матрицу. У него нет тех-карты с ценами ингредиентов, значит нет и маржи — измерять нечего.
Квадрант выглядит неправдоподобно. Проверьте период: на 7 днях выборка слишком мала. И проверьте цены ингредиентов — устаревшая закупочная цена искажает маржу сильнее всего.
Цифры не сходятся с разделом «Финансы». Сверьте период и срез: единой «правды о цифре» между разделами пока нет.
Связанные разделы#
- Статистика меню — продажи по блюдам, ABC, тренд и «часто покупают вместе»
- Склад — тех-карты и закупочные цены, из которых берётся себестоимость порции
- Финансы — комиссии каналов и net-маржа по заведению целиком
- Прогноз спроса — сколько этого блюда продастся завтра
Частые вопросы#
Почему блюдо не попало ни в один квадрант?#
Либо оно не продавалось за выбранный период, либо у него нет полной себестоимости порции: тех-карта отсутствует или у части ингредиентов не заполнена закупочная цена. В обоих случаях блюдо остаётся в таблице с пометкой, но без квадранта.
Можно ли изменить порог популярности 70 %?#
В интерфейсе — нет, используется канонический коэффициент метода. Изменить можно группировку: сравнивать блюда внутри категории (по умолчанию) или по всему меню сразу.
Матрица советует убрать блюдо, но оно нужно в меню «для ассортимента». Что делать?#
Рекомендация — это следствие двух чисел, а не приговор. Блюдо, которое не кормит, но держит гостя (детская позиция, вегетарианская альтернатива, «то самое» блюдо для постоянных), остаётся в меню осознанно. Матрица здесь полезна тем, что показывает цену такого решения.
Почему маржа по каналу отличается от маржи в матрице?#
В матрице маржа считается от валовой цены продажи, а в блоке каналов — от выручки после удержания платформы. Разница между ними и есть цена канала.