Блюдо может держаться на своём месте в рейтинге продаж, пока деньги, которые оно оставляет, падают. Рейтинг считает тарелки, вклад считает деньги, и при движении закупочных цен эти два счёта расходятся. Починка считается одинаково для всех трёх рычагов — цена, граммовка, поставщик: посчитай изменение на порцию и помножь на месячный объём.
Популярность и вклад — два разных рейтинга, а следят только за одним
Позиция остаётся третьей по продажам. Она была третьей пять недель назад и остаётся третьей сейчас. На экране продаж не сдвинулось ничего, никто не пожаловался, кухня отдаёт её весь вечер, официанты называют её первой, когда гость просит совета.
Сдвинулись деньги. Вклад на этой позиции упал с 18,40 до 13,70 PLN с порции за те же пять недель. Главная причина — закупочная цена одного ингредиента в ней.
Это самый тихий способ терять деньги в ресторане, и тихий он не по случайности, а по устройству: два рейтинга собраны из разных столбцов. Популярность строится по числу проданных штук. Вклад строится из цены по карте минус себестоимость тарелки. Закупочная цена способна сдвинуть каждое число вклада, не тронув ни одной проданной штуки, — и рейтинг честно доложит, что всё в порядке. Доложит правду: он отвечает на другое.
Сам термин принадлежит меню-инжинирингу, там он и определён:
Маржинальный вклад (contribution margin) — цена по карте минус себестоимость порции, в деньгах, для одной порции.
Та страница решает, какие блюда оставить, переоценить, переставить или снять, — и делает это по всей карте сразу. Эта страница уже и начинается там, где та кончается: одна позиция, которая продаётся хорошо, у которой упали деньги с порции, и три доступных ответа — с ценой каждого.
Подорожавший ингредиент — история не про одно блюдо, а про строку поставщика. Сколько такая строка стоит по всей карте, считает свой индекс закупочных цен. А расхождение между тем, что говорит рецепт, и тем, что говорит полка, разбирает теоретический и фактический food cost.
Число, которого нет на экране продаж: сколько порций в месяц
Каждая величина ниже — это умножение, и множитель у всех один: месячный объём. В рейтинге популярности его нет — рейтинг даёт место, а не количество. Значит, с него и начинаем.
Объём у нас есть, и получен он арифметикой, а не расспросом. Подъём цены на 2 PLN даёт около +1 640 PLN вклада в месяц при неизменном объёме. Подъём на 2 PLN прибавляет ровно 2 PLN к вкладу каждой проданной порции, потому что себестоимость тарелки при этом не меняется. Отсюда:
Месячный объём = Месячный эффект по вкладу ÷ Изменение вклада на порцию
Месячный эффект по вкладу— деньги, которые изменение добавляет за месяц, PLN в месяц;Изменение вклада на порцию— насколько больше оставляет каждая порция, PLN на порцию.
1 640 ÷ 2 = 820 порций в месяц.
Размерность сходится: (PLN в месяц) ÷ (PLN на порцию) = порции в месяц. Проверка подстановкой: 820 × 2 = 1 640 PLN в месяц — ровно та величина, с которой начали.
При 30 днях это 820 ÷ 30 = 27,3 порции в день. Делитель назван вслух нарочно: заведение, которое закрыто два дня в неделю, имеет тот же месячный объём, размазанный по меньшему числу дней, и дневное число у него другое.
820 — это то число, которое превращает любой довод «на порцию» в деньги. Из-за него всё остальное на этой странице оказывается арифметикой, а не мнением.
Что стоил дрейф за пять недель — величина, которой не было ни в одном отчёте
Падение на порцию — это вычитание, которое делает любой:
18,40 − 13,70 = 4,70 PLN с порции.
Дальше умножение:
Месячная потеря вклада = Падение вклада на порцию × Месячный объём
4,70 × 820 = 3 854 PLN в месяц.
Обратная проверка идёт другим путём — не через разность, а через две месячные суммы: раньше позиция оставляла 18,40 × 820 = 15 088 PLN в месяц, теперь оставляет 13,70 × 820 = 11 234 PLN. 15 088 − 11 234 = 3 854 PLN. Две дороги сошлись.
Эту величину можно прочитать тремя способами, и все три — из чисел, которые уже есть:
| Как прочитать | Арифметика | Результат |
|---|---|---|
| Доля месячного оборота | 3 854 ÷ 500 000 × 100 | 0,77 % |
| Против целой кампании возврата гостей | вклад кампании 3 900 PLN минус 3 854 | разрыв 46 PLN |
| В среднем за неделю дрейфа | 4,70 ÷ 5 | 0,94 PLN с порции в неделю |
Средняя строка — та, на которой стоит задержаться. Кампания возврата ушедших гостей — 183 человека, до которых дотянулись, 71 состоявшийся разговор, 34 брони, 27 дошедших визитов — дала оценочно 3 900 PLN дополнительного вклада за месяц. Одно тихо дрейфующее блюдо вернуло обратно 3 854 PLN за тот же месяц. Кампанию планировали, на неё ставили людей, по ней отчитывались; дрейф не планировал никто и не заметил никто. Как считается такая кампания и почему считать её выручкой нельзя — в разборе кампании возврата гостей.
Третья строка несёт предупреждение. 0,94 PLN в неделю — это среднее за пять недель, а не описание того, как именно падало. Одна поставка по новой цене способна дать все 4,70 за одну неделю, а вокруг неё будут четыре ровные. Среднее годится ровно для одного: назвать размер недельной потери, если она продолжится. Доказательством тренда оно не является.
Вариант первый: поднять цену по карте
Первый вариант на столе — плюс 4 PLN. Следующим был встречный: «а если поднять на 2?» Оба считаются одной формулой:
Месячный эффект = Подъём цены × Месячный объём
При неизменном объёме и неизменной себестоимости тарелки:
| Подъём цены | Вклад с порции становится | Прибавка вклада в месяц | Доля возвращённых 4,70 | Осталось непокрытым |
|---|---|---|---|---|
| +2 PLN | 15,70 PLN | +1 640 PLN | 42,6 % | 2,70 PLN с порции = 2 214 PLN в месяц |
| +4 PLN | 17,70 PLN | +3 280 PLN | 85,1 % | 0,70 PLN с порции = 574 PLN в месяц |
Обратная проверка строки «+4 PLN» второй дорогой, через месячные итоги, а не через прибавку: 17,70 × 820 = 14 514 PLN в месяц против нынешних 11 234 PLN, разница — те же 3 280 PLN.
Иначе быть и не может, потому что объём в этой дроби сокращается.
Это тождество стоит запомнить, оно экономит работу каждый раз, когда разговор повторится: долю потери, которую возвращает вариант, читают прямо по числам на порцию. Объём стоит и в числителе, и в знаменателе. Объём нужен только затем, чтобы превратить долю в деньги.
Обрати внимание, чего строка «+4 PLN» не говорит. Даже больший подъём оставляет 0,70 PLN с порции непокрытыми, потому что блюдо потеряло 4,70. Чтобы вернуть прежний вклад ровно, цену надо поднять на 4,70 PLN, и такого не предлагал никто — а это само по себе решение, принятое молча, о том, какую часть подорожания понесёт гость.
Сколько объёма подъём цены имеет право стоить, пока он ещё окупается
Подъём цены при сохранённом объёме — арифметика. Подъём цены в живом зале объём сохранить может и не суметь, и считать здесь полезно не то, что случится, а сколько может случиться, прежде чем подъём перестанет окупаться.
Допустимая потеря объёма = Подъём цены ÷ Новый вклад с порции
Подъём цены— прибавка к цене по карте, PLN на порцию;Новый вклад с порции— вклад после подъёма, PLN на порцию.
Результат — доля, величина безразмерная: PLN на порцию делится на PLN на порцию.
| Подъём цены | Новый вклад | Допустимая потеря объёма | В порциях в месяц | В день при 30 днях |
|---|---|---|---|---|
| +2 PLN | 15,70 PLN | 12,7 % | 104,5 | 3,5 |
| +4 PLN | 17,70 PLN | 22,6 % | 185,3 | 6,2 |
Обратная проверка длинной дорогой для +2 PLN. Сегодня позиция даёт 11 234 PLN вклада в месяц. После подъёма каждая порция даёт 15,70 PLN, значит, чтобы сравняться с сегодняшним днём, нужно 11 234 ÷ 15,70 = 715,5 порции.
Тот же ответ, что дала короткая формула. Подстановка обратно: 15,70 × 715,5 = 11 234 PLN в месяц, ровно сегодняшняя величина. Для +4 PLN та же дорога даёт 11 234 ÷ 17,70 = 634,7 порции и потерю 820 − 634,7 = 185,3 порции.
Вот фраза, с которой кухня и менеджер зала действительно могут спорить: при +2 PLN мы в плюсе, пока теряем не больше трёх-четырёх этих тарелок в день. Такое утверждение человек может две недели наблюдать и проверить. «Спрос здесь нечувствителен» проверить нельзя никак.
Асимметрия в таблице — причина, по которой больший подъём не является очевидно более рискованным. +4 PLN терпит почти вдвое большую потерю объёма, чем +2 PLN, прежде чем перестанет окупаться, потому что кладёт больше денег на каждую оставшуюся тарелку. Вызывает ли он при этом сам большую потерю объёма — в этих числах не написано, и два эффекта тянут в разные стороны.
Вариант второй: изменить граммовку
Второй вариант меняет тарелку, а не цену, и арифметика идёт с другого конца. Каким бы ни было изменение рецепта, финансово в нём важно ровно одно:
Месячный эффект = Снятая себестоимость на порцию × Месячный объём
Множитель тот же — 820, поэтому варианты выстраиваются на одной шкале:
| Снято с себестоимости порции | Вклад с порции становится | Чему это равно по деньгам |
|---|---|---|
| 2,00 PLN | 15,70 PLN | подъёму цены на 2 PLN, +1 640 PLN в месяц |
| 4,00 PLN | 17,70 PLN | подъёму цены на 4 PLN, +3 280 PLN в месяц |
| 4,70 PLN | 18,40 PLN | полному восстановлению 18,40 PLN, +3 854 PLN в месяц |
Обратная проверка последней строки идёт не через экономию, а через вклад: если из себестоимости тарелки ушло 4,70 PLN, каждая порция оставляет 13,70 + 4,70 = 18,40 PLN, а 18,40 × 820 = 15 088 PLN в месяц против нынешних 11 234 PLN — разница 3 854 PLN. Ровно та, с которой эта страница началась.
Единица этого решения — не граммы, а PLN на порцию. Перевод из одного в другое требует нынешней закупочной цены ингредиента за килограмм, а это твоя величина, не наша, и перевод сводится к одному делению:
Снятые граммы = Снятая себестоимость на порцию ÷ Закупочная цена за грамм
Снятая себестоимость на порцию— цель из таблицы выше, PLN на порцию;Закупочная цена за грамм— цена привезённого ингредиента, PLN за грамм, взятая из накладной, по которой заплачено.
Размерность: PLN на порцию ÷ PLN за грамм = граммы на порцию. Закупочную цену бери из накладной, а не из прайса: они расходятся, и у этого расхождения своя арифметика в разборе food cost %.
У этого рычага два честных ограничения. Первое: подорожавший ингредиент часто оказывается ровно тем, ради которого блюдо и заказывают, и снятые с него граммы берут деньги не у поставщика, а у восприятия гостя. Эта арифметика такого не видит вовсе; изменение рецепта такого размера проверяют дегустацией и наблюдением за возвратами, а не таблицей.
Второе: изменение рецепта расползается. Если стандартная порция где-нибудь записана — в техкарте, в листе заготовки, в складской модели, — то изменить её и не изменить запись значит завести постоянный разрыв между тем, во что тарелка обходится по рецепту, и тем, во что она обходится по полке. Это ровно тот сбой, ради которого существует теоретический и фактический food cost.
Вариант третий: сменить поставщика
Финансово это тот же рычаг граммовки, только источник другой: тарелка сохраняет граммы, а ингредиент стоит меньше. Формула та же, множитель тот же — 820, и поставщик, который снимает 4,70 PLN с одной порции, возвращает 3 854 PLN в месяц на одном этом блюде.
«На одном этом блюде» — то место, где третий вариант перестаёт быть сравнимым с двумя первыми. Подъём цены и правка рецепта трогают одну позицию карты. Смена поставщика трогает каждое блюдо, где стоит этот ингредиент, а измерено из них ровно одно. Эффект на остальных реален и неизвестен, и разница между «неизвестно» и «ноль» — вся причина, по которой здесь стоит эта фраза, а не оптимистичный итог.
Чего в этой арифметике нет и что не становится меньше оттого, что осталось за скобками:
- Цена, с которой сравниваешь. Предложение, накладная и счёт — три документа, которые расходятся регулярно, и деньги только в третьем. Сравнивай новое предложение с тем, что заплачено, а не с тем, что назвали.
- Условия поставки. Минимальный заказ, частота и срок довоза меняют, сколько запаса стоит в холодильнике, а запас — это деньги, которых нет на счету.
- Условия оплаты. Цена ниже при отсрочке и цена выше при оплате сразу — это не одно и то же предложение; разница живёт в плане денег, а не во вкладе.
- Стоимость самого перехода. Пробы, брак на переходе, переучивание на продукт, который иначе ведёт себя на сковороде.
Ни у одного из этих четырёх пунктов в наших числах нет величины, и ни один из них не мал настолько, чтобы им пренебречь. Арифметика выше делает другое — ставит планку, которую предложение обязано взять: на этом блюде каждый 1 PLN, снятый с себестоимости порции, стоит 820 PLN в месяц. Любой разговор с поставщиком можно теперь вести в этих единицах.
Дрейфует ли сам ингредиент или дрейфуют конкретно нас — это отдельный замер, и именно он не даёт повториться всей истории: свой индекс закупочных цен.
Варианты складываются на порции, и цель одна — 4,70
Ничто не заставляет выбрать один рычаг. Арифметика складывается на уровне порции, а полное восстановление — это одна цель:
Подъём цены + Снятая себестоимость на порцию = 4,70 PLN на порцию
| Сочетание | Из цены | Из себестоимости | Как складываются деньги за месяц |
|---|---|---|---|
| Меньший подъём, большая экономия | 2,00 PLN | 2,70 PLN | 1 640 + 2 214 = 3 854 PLN |
| Больший подъём, меньшая экономия | 4,00 PLN | 0,70 PLN | 3 280 + 574 = 3 854 PLN |
Обе стороны обязаны сходиться в одну и ту же величину, и они сходятся: 1 640 + 2 214 = 3 854 PLN и 3 280 + 574 = 3 854 PLN. Сторона цены и сторона затрат меняются местами, итог не меняется — потому что складывается он на порции, где 2,00 + 2,70 = 4,70 PLN и 4,00 + 0,70 = 4,70 PLN.
Обратная проверка первой строки идёт через месячные деньги, а не через вычитание на порции: потеря составляет 3 854 PLN в месяц, подъём цены возвращает 1 640 PLN, остаётся 3 854 − 1 640 = 2 214 PLN, и 2 214 ÷ 820 = 2,70 PLN с порции. Тот же ответ.
Деньги складываются, риски — нет. Обе строки восстанавливают одни и те же 3 854 PLN, и одинаково безопасными они не являются. Первая кладёт меньше на карту и больше на кухню и поставщика, вторая делает наоборот. Какой риск дешевле — суждение о твоих гостях и твоих поставках, и эта таблица существует ради того, чтобы суждение выносили о риске, а не о непосчитанной арифметике.
Вклад — это арифметика, чувствительность спроса — оценка, и у неё есть цена
Вот различение, на котором держится вся страница, и размывание его — способ получить уверенный неверный ответ.
Каждая из этих величин — вычисление на числах, которые у нас есть, проверяемое дважды разными дорогами, и оно не становится вернее или ложнее в зависимости от того, как пройдёт вечер.
Чувствительность спроса — оценка. Сколько гостей перестанут заказывать блюдо, когда оно подорожает на 2 PLN, в наших числах не лежит нигде. Она оценивается по тому, что происходило, когда цена этой позиции менялась раньше, а это малое число наблюдений против большого шума — погода, день недели, что ещё стояло в карте, был ли полон соседний ресторан.
Наше собственное чтение сформулировано ровно так: риск падения спроса выглядит низким на доступных данных, и данных недостаточно для высокой уверенности. Вторая половина фразы — не вежливость. Именно она говорит, что делать дальше: при +2 PLN мы можем позволить себе терять около 3,5 порции в день, значит, подъём наблюдают две недели против этого порога, а не объявляют безопасным на силе оценки.
Есть причина, по которой оценку нельзя просто найти в справочнике. Чувствительность одного блюда в одном зале не публикует никто, и мы это проверили, а не предположили: в каталоге наборов Eurostat нет ни одного ряда по эластичности — ноль совпадений, при том что контрольные слова в том же файле совпадения дают, то есть поиск работает; а польская статистика публикует индексы цен, а не коэффициенты отклика. Национальные индексы говорят, что случилось с ценами в стране. Они не говорят, что случится с твоим четвергом, когда эта тарелка подорожает на 2 PLN.
Сюда же относится одно арифметическое ограничение, и оно настоящее. Выразить +2 PLN как процент от цены по карте мы не можем, потому что цены по карте среди наших чисел нет. Эластичность определена на относительных изменениях — процент объёма против процента цены, — поэтому величину эластичности мы не печатаем вовсе. Вместо неё печатается порог безубыточности, которому нужен только вклад и который поэтому точен.
Та же дисциплина, приложенная к скидке вместо подъёма, разобрана в тексте скидка: сколько продаж она обязана добрать, а причина считать все такие сравнения по марже, а не по выручке, — в разборе окупаемость рекламы по марже. Подъём цены в меню доставки — третий вариант той же арифметики, с комиссией площадки посередине: цены в меню доставки.
Чего эта страница намеренно не утверждает
Четырёх вещей во всём написанном выше нет, и каждой нет нарочно.
Мы не приписываем все 4,70 PLN одному ингредиенту. Найдено то, что рост его закупочной цены — главная причина. Главная не значит единственная. Написать «ингредиент подорожал на 4,70 PLN» значило бы превратить названную причину в измеренную величину, и вся дальнейшая арифметика унаследовала бы выдумку. Поэтому всё выше оценивает разрыв, который измерен, а разложение разрыва оставляет накладным.
Мы не называем ни цену по карте, ни food cost % этого блюда, ни граммовку, ни цену поставщика. Их нет среди наших чисел. Там, где формуле нужна такая величина, формула печатается с открытой переменной и названным источником — потому расчёт граммов и кончается твоей накладной, а не нашим числом.
Мы не обещаем, что какой-либо вариант принесёт свою величину. Таблицы говорят, сколько вариант стоит при неизменном объёме, и неизменный объём назван допущением в той же строке, а не прогнозом. Таблица порогов существует ровно затем, чтобы допущение можно было наблюдать, а не принимать на веру.
Мы не называем ни поставщика, ни заведение, ни блюдо. Позиция — третья по продажам в своём ресторане; больше о ней публиковать нечего.
Что делает с этим система и что остаётся человеку
Всё выше делается на бумаге. Это одно вычитание, одно деление, четыре умножения и таблица. Ресторан не делает этого не из-за сложности, а из-за того, что ничто не объявило о необходимости считать: рейтинг продаж не менялся, блюдо оставалось третьим, а потеря приходила по 0,94 PLN с порции в неделю.
Поэтому машинная часть здесь узкая и скучная, и в этом весь смысл:
- Следить за вкладом по позициям, а не только за местом в продажах. Дрейф ловится сравнением недельного вклада каждой позиции с её же недавним диапазоном — сравнением, которого руками по всей карте не делает никто. Что система вообще способна взять на себя, а что нет, разобрано в тексте про автоматизацию ресторана.
- Найти причину прежде, чем поднимать тревогу. Вклад падает оттого, что выросла закупка, оттого, что цену по карте отдали в скидку, оттого, что уплыл рецепт, или оттого, что сдвинулась структура продаж внутри категории. Проверка этих четырёх по порядку и превращает «вклад упал» в «выросла закупочная цена этого ингредиента» — этот проход делают движок решений и аналитика до того, как что-либо доедет до человека.
- Оценить варианты, а не перечислить их. Три варианта с тремя месячными величинами и тремя порогами безубыточности, посчитанные на одном объёме, в одном месте: это работа финансового блока и сценариев «что если», и именно она делает встречное «а если поднять на 2?» отвечаемым в том же разговоре, а не через неделю.
- Пересчитать на встречный ход. Величина 1 640 PLN существует потому, что встречное было задано и посчитано сразу. Любой вариант этой страницы пересчитывается под другое допущение об объёме, и здесь в дело идёт прогноз.
- Докладывать результат, а не событие. Какие числа вообще доходят до владельца, а какие обрабатываются и не упоминаются — тема разбора отчётность: какие числа владелец правда смотрит; те же числа на десяти площадках вместо одной — сеть ресторанов на одном экране и панели показателей.
Что к машине не переезжает: само решение, суждение о том, заплатит ли этот гость на 2 PLN больше за эту тарелку, дегустация, которая решает, осталась ли облегчённая порция тем же блюдом, и разговор с поставщиком. Арифметика сужает выбор до трёх оценённых вариантов и одной цели в 4,70 PLN на порцию. Выбор между ними — управление, и таким он и остаётся.
Где эта позиция стоит в общей экономике заведения — как вклад превращается в прибыль после постоянных расходов — разобрано в тексте рентабельность ресторана, а совокупный вес продуктов и труда, в который эта потеря въедается, — prime cost. Проявится ли потеря как провал по выручке вообще и как отличить настоящую причину от совпадения — тема разбора почему упала выручка вечером. Какой слой системы вообще обязан хранить себестоимость рецепта, обсуждается в тексте CRM или ERP, а что остаётся от тарелки, проданной через площадку, — в разборе онлайн-заказы для ресторана.
Частые вопросы
Почему рейтинг продаж не предупредил?
Потому что рейтинг собран из проданных штук, а вклад — из денег на штуку, и закупочная цена двигает второе, не трогая первое. Блюдо было третьим пять недель назад при вкладе 18,40 PLN и остаётся третьим сейчас при вкладе 13,70 PLN. Оба утверждения верны, и только одно из них про деньги.
Откуда взялись 820 порций в месяц?
Из арифметики на пересчёте. Подъём на 2 PLN добавляет 2 PLN вклада к каждой проданной порции, поэтому месячный эффект в 1 640 PLN, делённый на 2 PLN на порцию, даёт 820 порций в месяц. Подстановка обратно: 820 × 2 = 1 640 PLN — та самая величина, из которой число и выведено.
Подъём цены на 4 PLN рискованнее подъёма на 2?
Он кладёт больше на каждого гостя — и он же терпит большую потерю, прежде чем перестанет окупаться: 22,6 % объёма против 12,7 %, потому что каждая оставшаяся тарелка несёт больше денег. Два эффекта тянут в разные стороны, а наши числа меряют только второй. Поэтому решение наблюдают против порога, а не объявляют верным.
Возвращает ли подъём на 4 PLN блюдо туда, где оно было?
Нет. Позиция потеряла 4,70 PLN с порции, поэтому подъём на 4 PLN возвращает 85,1 % потери и оставляет непокрытыми 0,70 PLN с порции — 574 PLN в месяц. Точное восстановление стоит 4,70 PLN цены либо 4 PLN цены плюс 0,70 PLN, снятых с себестоимости тарелки.
Как перевести цель в PLN в граммы?
Раздели целевую экономию на порцию на закупочную цену за грамм привезённого продукта, взятую из накладной, по которой заплачено, а не из прайса. Получатся граммы на порцию. Сама цель берётся из таблиц выше: 2,00 PLN, чтобы сравняться с подъёмом цены на 2 PLN, и 4,70 PLN, чтобы восстановить прежний вклад полностью.
Почему смена поставщика не оказывается лучшим вариантом сама собой?
Потому что это единственный из трёх, чей эффект измерен не полностью. На этом блюде он стоит столько же, сколько равная экономия на граммовке, — 820 PLN в месяц за каждый снятый с порции 1 PLN. Но тот же ингредиент стоит и в других блюдах, которых мы не мерили, а против этого выигрыша стоят стоимость перехода, условия поставки и условия оплаты, которых в этих числах нет.
Что сделало бы оценку низкого риска надёжнее?
Наблюдения за собственным объёмом этого блюда при прошлых изменениях цены, сравнённые с периодом, когда не менялось ничего. Публикуемые данные этого не заменят: в каталоге Eurostat нет рядов по эластичности, а польская статистика публикует индексы цен, а не коэффициенты отклика. До тех пор честная формулировка остаётся нашей — риск выглядит низким, и данных для высокой уверенности недостаточно.
Возьми позицию с самым большим разрывом между её местом в продажах и направлением её вклада, посчитай её месячный объём и оцени три варианта на одной странице до того, как приедет следующая поставка. Остальная серия про экономику ресторана — в разделе рестораны.