C cenaly.com
Почати безкоштовно

Прогноз попиту

Медіана за днем тижня, план заготовок, чернетка закупівлі та ризик «закінчиться до 19:00»

On this page 12

Прогноз попиту

Кухар щоранку відповідає на одне й те саме питання: скільки чого заготовити. Закупівельник — на сусіднє: скільки чого замовити. Зазвичай обидва відповідають з пам'яті.

Відкрийте Адмін-панель → Склад → вкладка «Прогноз» (admin.cenaly.com/inventory). Вкладка бере історію продажів і перетворює її на три конкретні артефакти. Порядок на екрані — за терміновістю: зверху те, що ризикує закінчитися до кінця дня, нижче — план заготовок, ще нижче — чернетка замовлення постачальнику. Якщо ризикових товарів немає, верхнього блоку не буде взагалі. У самому низу, згорнутою довідкою, лежить таблиця «Прогноз за стравами» — на неї можна не дивитися, поки не захочеться перевірити цифру.


Як рахується прогноз#

Рівно дві статистики, обидві зрозумілі кухареві з голосу:

  1. Скільки цієї страви зазвичай продається цього дня тижня. Вікно історії — 8 тижнів (56 днів). Точкова оцінка — медіана, а не середнє: вісім вівторків, один з яких був днем народження на 40 осіб, середнім кажуть «готуй на 40» щотижня, а медіана цей вівторок ігнорує. У довідковій таблиці «Прогноз за стравами» поруч із числом показано чесний розкид спостережень (мінімум–максимум), скільки спостережень у вибірці та пік — частина доби з найбільшою часткою продажів. У шапці вкладки написано підставу розрахунку: «медіана того самого дня тижня за 56 днів · N робочих днів історії».
  2. Як цей попит розподілений усередині дня — частки за частинами доби: ранок (6–11), обід (11–16), вечір (16–23), ніч (23–6). Межі однакові для всіх закладів, а сам профіль рахується за всіма днями історії одразу, не окремо за вівторками.

Що вважається спостереженням, теж вирішено усвідомлено: скасовані замовлення в історію не йдуть; сьогоднішній незакритий день у вибірку не потрапляє; дні до першого продажу страви не рахуються нулями (новинка не отримує «нуль продажів» за ті тижні, коли її ще не було в меню); «день без продажів» відрізняється від «дня, коли заклад був зачинений». Доба рахується в часовому поясі точки. У розрахунок беруться топ-500 товарів точки за оборотом — довгий хвіст меню відсікається.

Менше трьох спостережень одного дня тижня — числа не буде. У таблиці замість цифри стоятиме прочерк, а в колонці спостережень — позначка «мало». У план заготовок і в закупівлю така страва не потрапить взагалі. Прогноз, якому не можна вірити, гірший за відсутній: за ним готують і закуповують.

Перемикач угорі вибирає, на який день будувати прогноз — сьогодні чи завтра.


План заготовок#

Прогноз за стравами розгортається за тех-картами в потребу в товарах і напівфабрикатах. Розгортання йде за поточними тех-картами, на момент відкриття вкладки — якщо шеф змінив рецептуру вранці, план це врахує (правку, зроблену в сусідньому вікні, підхопить оновлення сторінки).

Вкладені напівфабрикати розгортаються вглиб: якщо соус варять з бульйону, а бульйон теж напівфабрикат, у план потраплять обидва — інакше кухареві сказали б зварити соус, не сказавши, що бульйону під нього немає. Глибина вкладеності обмежена п'ятьма рівнями (і захищена від рецептур, що посилаються одна на одну по колу): усе, що глибше, вважається сировиною і йде в закупівлю, а не в план заготовок.

Таблиця плану:

Колонка Що означає
Назва товару напівфабрикат, який потрібно випустити
Залишок скільки вже є
Потрібно валова потреба за прогнозом на день
Випустити нестача — скільки реально варити/різати
До година, до якої залишку перестає вистачати

Термін — це не «початок зміни». Якщо соусу вистачає на ранок, але не на обід, кухареві треба встигнути до 11:00, а не до 6:00. Година округлюється до найближчої межі частини доби (6:00, 11:00, 16:00, 23:00), а у вкладених напівфабрикатів терміну немає взагалі — там стоїть прочерк: їх варять «до» того, що з них роблять. Рядки відсортовані за терміном: раніший дедлайн — вище в списку. Якщо заготовляти нічого, вкладка так і пише: залишків вистачає на прогноз.

Залишок напівфабрикату витрачається один раз: якщо один і той самий бульйон входить і в соус, і в суп, наївний розрахунок застосував би залишок двічі і закупівля недобрала б сировини.

Кнопка «До дошки зміни» перетворює план на чек-ліст завдань — див. Дошка завдань зміни. Створюється одне спільне завдання «План заготовок — <дата>», а кожна заготовка стає його підзавданням з кількістю та годиною прямо в заголовку («Соус деміглас — 16 шт до 11:00»); закрити спільне завдання можна лише коли закриті всі підзавдання. Повторне натискання не плодить дублі: якщо план на цю дату вже стоїть на дошці, кнопка так і скаже.

Страви без тех-карти в план не йдуть і перелічуються окремим попередженням (до 20 назв): щодо них прогноз нічого сказати не може, і це краще сказати вголос, ніж вдавати, що замовлення повне.


Чернетка замовлення постачальнику#

Нижче плану — чернетка закупівлі на вибраний горизонт покриття (поле «Покриття, днів»: зазвичай термін постачання плюс запас; за замовчуванням 3 дні, припустимо від 1 до 30).

Для кожного товару рахуються дві величини, і береться більша:

  • потреба за прогнозом на горизонт мінус поточний залишок;
  • добір до цільового залишку (а якщо він у товару не заданий — до точки замовлення) — звичайна складська логіка.

Чому більша, а не одна замість іншої: страховий запас не знає про завтрашню п'ятницю з подвійною посадкою; а прогноз не знає про товари, які взагалі не беруть участі в тех-картах (упаковка, витратні матеріали) — у них складські нормативи єдиний орієнтир. Рядки, що потрапили до списку за другим правилом, позначені «за точкою замовлення». Зверніть увагу: правило дивиться на цільовий залишок, тому до чернетки потрапить і товар, який ще вищий за точку замовлення, але нижчий за цільовий — вкладка «Потрібно замовити» такий товар поки не показує.

За прогнозом закуповуються лише кінцеві інгредієнти: напівфабрикати до замовлення постачальнику за прогнозом не йдуть (їх випускають за планом заготівель) — вони можуть потрапити до чернетки хіба що за складським нормативом.

Кількість округлюється вгору до кратності упаковки, якщо вона задана в товару. Рядки згруповані за постачальниками (товари без призначеного постачальника — окремою групою), і кнопка створює своє замовлення на кожного постачальника — далі це звичайні закупівлі з розділу Склад.


«Закінчиться до 19:00»#

Найвищий блок вкладки — ризик вичерпання до кінця дня: те, що горить просто зараз. Він порівнює поточний залишок з очікуваною витратою за години, що залишилися, порахованою за профілем частин доби, і називає годину, до якої залишок обнулиться. Якщо годину визначити не вдається, рядок чесно каже «не вистачить до кінця дня», без вигаданого часу.

Блок рахується лише для сьогодні: при перемиканні на «завтра» він зникає — ризику «закінчиться до 19:00» у завтрашнього дня не буває.

Поправка на сьогоднішній темп: якщо до обіду вже витратили більше звичайного, очікування на залишок дня пропорційно піднімається, і в рядку з'являється позначка на кшталт «темп дня ×1.4». Темп рахується за фактичними продажами (списання, псування та харчування персоналу до нього не йдуть) і вимірюється для першого десятка з невеликим найризикованіших рядків — решта рахуються за звичайним профілем. Коефіцієнт затиснутий у діапазоні ×0.5…×2 — поправка на «сьогодні людно» потрібна, а передбачення за одним чеком ні. Якщо темп виміряти нема з чого взагалі, вкладка чесно скаже, що взято звичайний профіль дня тижня.


Що потрібно, щоб прогноз з'явився#

Потрібно Навіщо Без цього
Бренд на контурі AWS (cenaly.com, cenaly.com…) історію продажів рахує серверна аналітична база, а вона піднята лише там на cenaly.ru вкладка завжди пише «Поки мало історії замовлень» — повідомлення про історію, але причина інша: рахувати її там нічим
Історія продажів порахувати медіану за днем тижня «Поки мало історії замовлень, щоб прогнозувати попит»
≥ 3 однакових дні тижня в історії рахувати вибіркою страва в таблиці позначена «мало» і в плани не йде
Тех-карти страв розгорнути прогноз у товари страва потрапить до попередження «без тех-карти»
Актуальні залишки порахувати нестачу та ризик вкладка не покаже нічого, поки залишки не завантажаться

Агрегат історії перераховується на сервері приблизно раз на пів години (і лише для облікових записів, які зараз працюють); розгортання тех-карт і вирахування залишків рахуються в момент відкриття вкладки, за поточними даними.


Пов'язані розділи#


Часті питання#

Чому в половини страв стоїть позначка «мало»?#

Бо за цими стравами в історії менше трьох продажів цього дня тижня — наприклад, страва з'явилася в меню два тижні тому. Число з'явиться саме, коли спостережень стане достатньо; до того страва не бере участі ні в плані заготівель, ні в закупівлі.

Чому використовується медіана, а не середнє?#

Медіана стійка до викидів. Один банкет на 40 осіб зсуває середнє так, що заклад тижнями готує зайве. Середнє в інтерфейсі не показується взагалі — лише медіана, розкид і число спостережень.

Прогноз враховує погоду, свята, футбол?#

Ні. Він знає лише день тижня та час доби. Святковий тиждень і матч по сусідству, як і раніше, тримає в голові керуючий — і це чесніше, ніж модель, яка вдає, що врахувала їх.

Чи можна будувати прогноз на тиждень уперед?#

Вкладка показує сьогодні та завтра. Для закупівлі горизонт задається окремо — полем «Покриття, днів»: прогноз одного дня множиться на нього.

Чернетка закупівлі одразу надсилає замовлення постачальнику?#

Ні. Це саме чернетка: зайві рядки ви знімаєте галочкою і лише потім натискаєте створення — виходять звичайні чернетки закупівель розділу «Склад», по одній на постачальника. Кількості правляться вже у створеному замовленні, там же, де й зазвичай.

Was this article helpful?