4.2% списаний и 31% фудкоста. Стандартный бенчмарк крепкой региональной сети общепита. В презентациях для инвесторов эти цифры подаются как признак операционного превосходства и тотального контроля над костами. Маркетинг и финдиры обожают этот агрегированный елей. Но если вытащить сырые транзакционные логи из ERP и наложить их на чеки, вылезет математика, о которой не принято говорить на профильных конференциях.
Эти 4.2% списаний — только половина уравнения. Вторая половина прячется в упущенной выручке. Существует железный закон индустрии: управляющий точкой всегда играет в угадайку. Он либо кормит мусорное ведро, перестраховываясь с закупкой скоропорта, либо ловит стоп-листы в прайм-тайм вечерней пятницы, потому что испугался списаний на прошлой неделе. Качели. Баланса нет.
Менеджер открывает Excel, смотрит среднее потребление за три недели, накидывает 10% «на глаз» и отправляет заявку поставщику. Это не планирование. Это шаманство. Реальный прогноз списания и автозаказ продуктов в ресторане: как срезать фудкост и не выбрасывать просрочку — задача строго инженерная, а не управленческая. Человек физически не способен держать в голове многомерную матрицу факторов. Чтобы предсказать спрос на конкретный вторник с приемлемой дельтой ошибки, базовая модель predictive analytics обязана жонглировать десятками параметров одновременно.
Вектор фичей здесь предельно прагматичен. День недели и историческая сезонность — это лишь фундамент. Дальше наслаивается погода. Дождь убивает летнюю веранду, но дает х2 к заказам в доставке. Сдвиг спроса происходит моментально, и кухня должна быть к этому готова. Локальные ивенты. Если в радиусе километра проходит концерт или футбольный матч, профиль потребления ломается. Наложение маркетинговых акций друг на друга. Сроки годности. Короткие сроки годности — это вообще жестокая физика. Они не оставляют буфера на ошибку: ошибся на сутки в минус, и партия лосося летит в шредер, уничтожая маржу всего дня.
Связка работает только как монолитный, непрерывный пайплайн. Сначала формируется прогноз конечного спроса на блюда. Этот массив данных декомпозируется по технологическим картам и генерирует план заготовок. План заготовок бьётся об актуальные складские остатки. Полученная дельта превращается в автозаказ поставщикам.
И вот тут ломается большинство наколеночных решений. Алгоритм обязан учитывать плечо доставки и кванты отгрузки. Если у поставщика минимальная партия — пятикилограммовая коробка, а вам для закрытия потребности нужно два килограмма, система должна просчитать: успеете ли вы прокрутить излишек в следующие дни до истечения срока годности, или дешевле вообще вывести позицию в стоп на этот день? Это оптимизационная задача с жесткими ограничениями, которую скрипты на Python уровня junior-аналитика не решат.
Как понять, что вы не занимаетесь карго-культом, а реально внедрили рабочий пайплайн? Смотреть в дашборды. Метрики не врут.
- Фудкост (%): стабилизируется и перестает скакать от смены к смене.
- Доля списаний просрочки: падает, но никогда не равна нулю. Ноль означает, что вы жестоко режете ассортимент и теряете деньги на отказах.
- Частота стоп-листов: ключевой маркер. Показывает, не задушили ли вы продажи параноидальной экономией.
- Оборачиваемость запасов: деньги перестают мертвым грузом морозиться на полках в виде консервов и заморозки, высвобождая оборотку.
Иногда возникает соблазн поверить в абсолютную магию ML. Купил облачный SaaS, прокинул API — и полетели деньги. Иллюзия. Когда мы в Morana Labs раскатывали свой первый движок автозаказа для сети федеральных столовых, мы за месяц сожгли этот миф. Алгоритм вторичен по отношению к физической реальности на объекте.
Честный трейд-офф: алгоритмы против хаоса в подсобке
Мусорные данные об остатках порождают мусорный прогноз. Точка. Если линейный повар проводит вечернюю инвентаризацию «от балды» или списывает ночной брак задним числом, никакая предиктивная аналитика вас не спасёт. Модель посмотрит на виртуальный остаток в ERP, решит, что томатов хватит до среды, и не отправит заявку на РЦ. Утром вы получите стоп-лист по флагманскому салату. Дисциплина первей математики. Если процессы на кухне не выстроены, внедрять автозаказ — это как ставить турбину на телегу.
Дальше идет суровый трейд-офф, который вендоры софта замалчивают. Любая, даже самая тяжелая модель, пасует перед аномалиями. Она оперирует вероятностями и паттернами. Если в соседнем бизнес-центре отключили электричество и двести человек внезапно спустились к вам на ранний бизнес-ланч, алгоритм этого не предвидит. Если вечером завалилась шумная компания на незапланированный банкет — алгоритм глух.
Модель отвратительно ловит редкие, несистемные пики. Поэтому боевая система автозаказа обязана иметь ручной override. Управляющий должен иметь право вбить повышающий коэффициент на конкретную категорию или отменить генерацию заявки, если видит форс-мажор своими глазами. Мы не строим Skynet. Инструмент должен усиливать человека, снимая с него рутину.
Но этот override должен быть контролируемым. Если менеджер правит больше 5% строк в автозаказе, значит либо сломалась модель, либо менеджер занимается саботажем из-за страха. В здоровой системе 95% рутинных заявок улетают поставщикам без участия кожаного мешка. Машина считает быстрее. Машина учитывает погоду. Машина не устаёт.