Сорок семь
▶ эта глава в ролике · 0:00В четверг без двадцати десять Надя переворачивает табличку на двери пекарни на Садовой и идёт к полкам с серым пластиковым ящиком в руках.
Это самая тихая минута за день. Кофемашина остыла, лампы над прилавком гудят ровно, а за окном фонарь стоит в собственном жёлтом круге, как будто его туда поставили на ночь. Надя снимает с полки батоны — сначала верхний ряд, потом нижний, — потом багеты, булочки с маком, два пирога с капустой, которые не взяли к ужину. Она не считает: она уже знает, что получится примерно одно и то же. Сегодня — сорок семь.
Из них девятнадцать батонов. А бородинского в ящике нет ни одного. Бородинский кончился в 15:40. Надя помнит, потому что в 15:42 пришёл старик в шляпе, постоял у пустой полки, сказал «ну что ж» и ушёл, ничего не купив.
В 21:50 у пекарни останавливается старая жёлтая машина. Из неё выходит невысокая женщина в тёмном пальто и с янтарным шарфом. Это Зоя Михайловна. Все четырнадцать пекарен — её. И каждый вечер она объезжает три-четыре из них, чтобы забрать непроданное и отвезти в столовую при храме на соседней улице.
— Опять полный ящик? — спрашивает она.
— Сорок семь, — отвечает Надя. — А бородинский кончился в 15:40.
— Хлеб не выбрасывают, — говорит Зоя Михайловна так, как говорят вещи, которые не обсуждаются. — Неси ко мне в машину.
В 2011 году, когда закрыли детский сад, где она двадцать лет была поваром, Зоя Михайловна начала печь дома. Сначала для соседей по подъезду, потом для соседнего подъезда, потом для всего двора. В 2015-м открыла первую пекарню — вот эту, на Садовой. Теперь у неё свой цех, четырнадцать магазинов, около ста тридцати человек и, по подсчётам сына, около девяти тысяч изделий в сутки.
Сын как раз пишет. Пока Надя несёт ящик к машине, на телефоне Зои Михайловны одно за другим загораются сообщения.
«Мам, ты опять по магазинам?»
«Мы выбрасываем одиннадцать процентов».
«А на Лесной бородинский кончился в 15:40. Люди уходили».
Зоя Михайловна читает, не отвечает и садится за руль. Тимуру тридцать четыре. Два года назад он ушёл из банка, где считал кредитные риски, — сказал, что хочет «помочь маме с цифрами». Цифры у него действительно есть. Их много. Ответа нет ни у кого: как может быть, что в одной и той же пекарне вечером хлеб выбрасывают, а днём его не хватает?
Сутки
▶ эта глава в ролике · 0:56У пекарни свои сутки, и они устроены не так, как у офиса.
В девять вечера в цех приходит ночная смена. В 22:00 — и это самое важное время суток, хотя никто его так не называет, — тесто на завтра уже замешано. С этой минуты решение «сколько печь» принято, и всё, что выяснится позже, ничего не изменит. В 23:00 замес идёт полным ходом. Около трёх ночи работают все четыре печи. В 5:30 от цеха отходит первая машина. В семь утра открываются магазины. Около четырёх дня в некоторых из них заканчивается бородинский. В семь вечера кто-то из продавцов уценяет то, что осталось. В 21:40 то, что не продали, оказывается в сером ящике.
Неупакованный батон из пшеничной муки живёт сутки — так написано и в стандарте. А у решения, сколько этих батонов печь, срок ещё короче: до десяти вечера.
В 22:50 ночной технолог Зарина стоит у окна в цеху и листает телефон. Рядом пекарь Миша месит тесто для пробной партии — он двадцатичетырёхлетний, в высоком белом колпаке, и всегда немного в муке, даже когда только что пришёл. Зарина собирает заказы на завтра. Из чатов.
«Садовая: как вчера». «Лесная: плюс десяток бородинского». «Вокзал: нам много не надо». «Озёрная: смотрите выше». Что выше, Зарина знает: там позавчерашнее «как в прошлый четверг». «Парковая: как в прошлый четверг?» — с вопросительным знаком, то есть сама Парковая не уверена. «Центр: батонов меньше, круассанов больше». «Мира: ??».
У одного и того же батона в этих чатах три имени. На кассе он «нарезной», в чате «батон», в Excel у Зарины «Б-1». Чтобы сложить заказ четырнадцати магазинов, Зарина каждый вечер тратит два с половиной часа и всё равно решает на глаз.
— До замеса час, — говорит она Мише. — И опять — на глаз.
Если перечислить всё, что болело в тот год, получится семь пунктов. Вечером полный ящик, а днём пустая полка — потому что пекут «как вчера», а спроса не видит никто. Заказ — свободный текст в чате, без формы, без срока и без единых названий. Технолог решает по памяти. «Недовезли два лотка» — «я всё сдал»: приёмка без счёта, лотки без номеров. Первая машина уезжает поздно, потому что печь сажают «по готовности», а не по маршруту. Прибыль по изделию неизвестна: себестоимость раз в месяц, цена муки «примерно». И всё держится на Зое Михайловне: на её памяти, её вечерних объездах, её звонках.
Все семь — про одно. Пекарня каждый день принимает решение «сколько печь», не видя ни спроса, ни потерь.
Четыре недели бумаги
▶ эта глава в ролике · 1:40Спор начался в понедельник в десять утра в маленьком офисе над цехом, где на стене висит доска с графиком, а на подоконнике — кружка Ларисы Ивановны, главного бухгалтера.
— Купим прогноз на нейросети, — сказал Тимур. Он держал планшет с презентацией продавца, у которого всё было красиво. — У всех уже есть.
— Машина не знает, что у нас на Садовой школа, — сказала Зоя Михайловна. Она стояла у окна, скрестив руки. — А когда в школе собрание, бородинский берут родители.
Этот спор шёл месяц, по кругу, и каждый раз заканчивался ничем. Пока в разговор не вмешался человек, которого позвали со стороны, — аналитик.
— Давайте сначала четыре недели посчитаем руками, — предложил он.
— Руками? — Тимур поднял брови. — Это же прошлый век.
— Прогнозу нужен спрос, — ответил аналитик. — А у вас пока только продажи.
Тимур потом признавался, что фраза его разозлила. Он десять лет строил модели и знал, что модель без данных — это гадание. Но ему казалось, что данные у них есть: каждый чек уходит в ОФД, это тысячи строк в день. Аналитик спокойно перечислил, чего в этих строках нет. Нет того, что выбросили: списание — одна строка в рублях в конце месяца, без изделий и без магазинов. Нет того, когда закончилось изделие на полке. Нет заказов — только сообщения в чатах. И нет того, что именно испекли для какого магазина: это знает только Excel Зарины, и то не всегда.
Решили так Д1: месяц ничего не покупаем. На стене у каждой кассы появляется лист. Вечером продавец пересчитывает ящик по изделиям. Во втором столбце — «время пустой полки»: для двенадцати главных изделий продавец пишет, во сколько продал последнее. Зарина записывает, сколько чего испекла для каждого магазина. По понедельникам все вместе смотрят листы, а продавцы по видеосвязи рассказывают, что видели у себя. И ещё одна договорённость, над которой Лариса Ивановна вздохнула: списание считаем в штуках по изделиям, а не в рублях Д2.
В первый же четверг Надя заполнила свой лист так: «батон — 19», «бородинский — 0, пусто в 15:40», «багет — 11», «круассан — 6, пусто в 18:20», «булочка с маком — 17», «пирог с капустой — 2, пусто в 19:10». А сбоку, на полях, приписала маркером: «в школе родительское собрание!» — со стрелкой к 15:40.
Этой приписки никто не просил. В графе её просто не было.
Через четыре недели у пекарни впервые появились весы. Не настоящие, конечно: у каждого из четырнадцати магазинов две чаши. В одной — что выбросили вечером. В другой — чего не хватило днём, если судить по времени пустой полки. На Вокзале и на Окраине перевешивала первая чаша. На Лесной, Школьной и Парковой — вторая. На Садовой — обе почти поровну, и это было хуже всего: сорок с лишним изделий в ящике и бородинский, которого нет с половины четвёртого.
В целом в ящик уходило около одиннадцати процентов выпуска. А в пяти магазинах из четырнадцати главные изделия заканчивались до пяти вечера три дня из пяти. Гипотеза, с которой Тимур начинал, — «мы печём слишком много, надо печь меньше» Г1 — не подтвердилась. Пекарня одновременно перепекала и недопекала. Иногда в одном и том же магазине.
— Значит, не меньше, — сказал Тимур на понедельничной встрече. — Точнее.
Зоя Михайловна ничего не сказала. Но в этот понедельник вечером она впервые за много месяцев не поехала по магазинам: сидела дома и смотрела на распечатку весов. Ей вдруг стало ясно, что все эти годы она возила в столовую не просто лишний хлеб. Она возила ошибку, которую никто не видел.
Восемь вечера
▶ эта глава в ролике · 2:50Чтобы печь точнее, нужно было сначала знать, что именно заказали. Это оказалось целым этапом.
Во-первых, один код. У каждого изделия теперь одно имя и один номер — на кассе, в заказе и в техкарте E06. Хозяйкой справочника стала Зарина: ей с ним работать каждую ночь. Перенастройка касс заняла две недели Д5, и одну неделю «нарезной» на двух кассах продавался мимо всех отчётов, потому что код там поменяли не сразу.
Во-вторых, срок. Заказ магазина — до 20:00 в форме, а не в чате E07. Не сдал — завтра «как вчера» Д3. Магазины возмутились: почему не до десяти? Ответ был в сутках пекарни: в десять тесто уже замешано, и заказ, сданный позже, ничего не меняет. В 19:30 старшему смены приходит напоминание, если заказ не сдан E08, а в 20:05 у Зарины на экране один сводный заказ E09 вместо четырнадцати чатов. Сорок минут работы вместо двух с половиной часов.
В-третьих, приёмка у двери. Водитель и продавец считают лотки вместе, и оба подписывают E10. Споры «недовезли два лотка» случались три-четыре раза в неделю, а через два месяца стали случаться раз-два в месяц Г4.
И в-четвёртых — вечерний ящик переехал в телефон: фото ящика и число по каждому изделию E11. Чеки из ОФД теперь выгружались по изделиям и по часам E12, и всё это сходилось в одну таблицу, которой суждено было стать главной в пекарне: суточный баланс «магазин × изделие × день» E13. Принято — продано — уценено — списано.
Через шесть недель Тимур открыл первый отчёт и не поверил. Списание не упало. Оно выросло — с одиннадцати процентов до двенадцати.
Причину нашла не таблица. Причину нашла Надя — просто потому, что слышала разговор.
В 19:30 на Лесной старшая смены Оксана заполняла форму заказа на завтра. Надя в тот день подменяла там продавца и видела, как Оксана ставит батонов на пятнадцать больше, чем продала сегодня.
— Закажу с запасом, — объяснила Оксана, не дожидаясь вопроса. — А то опять Зоя Михайловна позвонит.
— Так вечером же весь ящик… — сказала Надя.
— За ящик не звонят.
Так и было. Если в магазине пустела полка, старшей смены звонила хозяйка, и эти звонки помнили все. А полный ящик «уходил на производство»: о нём не звонил никто. Мера была одна — пустая полка, и люди честно работали на неё. Гипотеза «магазины закажут точно, если дать им форму вместо чата» Г3 не подтвердилась: форма не меняет мотива.
Лечение придумали за один понедельник, а исполнять его было мучительно. У магазина появилась одна мера из двух чаш — весы: и ящик, и пустая полка считаются одинаково Д4. А Зоя Михайловна договорилась сама с собой больше не звонить продавцам из-за пустой полки, а смотреть весы по понедельникам.
Первые две недели она держалась плохо. В четверг в 16:10 ей позвонил знакомый: на Лесной нет бородинского. Зоя Михайловна взяла телефон, нашла номер Оксаны и долго сидела, не нажимая. Потом положила телефон экраном вниз и пошла заваривать чай. Тимур, которому она рассказала об этом вечером, ничего не ответил. Он знал, чего ей это стоило.
Через месяц заказы перестали быть «с запасом». Форма показывала старшей смены её же вчерашние весы: батонов выбросили двенадцать, бородинского не хватило с 15:40. И старшая смены сама уменьшала одно и добавляла другое. Но открылась следующая беда, и сформулировал её Тимур — в тех словах, которые знал по банку.
— У нас цензурированные данные, — сказал он на встрече. Все посмотрели на него. — Ну… продажи — это не спрос. Пока полка пустая, мы не видим, сколько бы купили.
Пятнадцать сорок
▶ эта глава в ролике · 4:02На Лесной каждый четверг около половины четвёртого приходит старик в тёмном пальто и в шляпе с янтарной лентой. Он берёт бородинский, и только бородинский. Продавщицы между собой зовут его Четвергом.
— Бородинский есть?
— Закончился, — сказала Надя. — Только что.
— Каждый четверг так, — сказал Четверг и ушёл.
Надя нажала на кассе новую кнопку. Её поставили рядом с кнопкой оплаты, чтобы нажатие стало частью движения, а не отдельной обязанностью: «закончилось» E14. В отчёте за этот день появилась строка, которой раньше не было ни в одном отчёте: бородинский — пусто в 15:40.
На графике продаж это выглядело так. С семи утра до трёх дня бородинский продавался ровно, по пять-восемь штук в час. В 15:40 — красная черта. После неё — ноль. Не потому, что его не хотели. Потому что его не было.
Тимур объяснял это на встречах в банковских терминах, и это был, пожалуй, первый раз, когда его прошлый опыт оказался полезен в пекарне буквально. В кредитных моделях есть понятие «цензурированных наблюдений»: ты знаешь, что событие не произошло до определённого момента, но не знаешь, произошло бы оно позже. С полкой то же самое. Если прогноз учится на продажах, он делает простой вывод: после 15:40 бородинский не покупают. Значит, завтра его нужно меньше. Меньше испекли — раньше пусто — «меньше купили» — ещё меньше испекли. Прогноз на продажах сам себя загоняет вниз.
Чтобы оценить невидимый спрос, сделали опыт, от которого Лариса Ивановна схватилась за голову: две недели в трёх магазинах по главным изделиям пекли «лишний лоток» Д7. Специально. Чтобы увидеть, сколько купят, если хлеба хватает. Около двухсот изделий заранее списали в цену проверки. Зато оценка «не хватило» по кнопке совпала с фактом в семи случаях из десяти, в пределах пятнадцати процентов Г6. Прогноз стал учиться на спросе, а не на продажах Д6: спрос = продано + не хватило E15, E16.
Две другие проверки этапа закончились неожиданно.
Первая — погода. «Погода же влияет, все знают» — это говорили все, от Зои Михайловны до водителей. Тимур полгода сравнивал продажи с температурой и дождём. Хлеб от погоды почти не зависел Г8. Зависели холодные напитки, мороженое у двух магазинов и сладкая выпечка в жару. Погода осталась в прогнозе только для них E19.
Вторая — скидка. Решили, что одна скидка в 19:00 на всё, что осталось, снизит списания и не потеряет выручку Г7. Списание действительно упало примерно на три пункта. А через месяц на Садовой в 18:55 стала собираться очередь. Постоянные покупатели перестали брать хлеб утром по полной цене и приходили вечером. В трёх магазинах выручка по полной цене упала примерно на четыре процента. Покупатели выучили правило быстрее, чем его успели доработать. Уценку оставили только для того, что по прогнозу останется лишним, не каждый день и не на всё E20.
И была ещё третья вещь, самая маленькая и, как потом оказалось, самая важная. У формы заказа появилось поле «что будет рядом завтра» E18. Идею подала Надя — она вспомнила свою приписку про школьное собрание. В поле продавцы писали: «ярмарка у ДК», «ремонт дороги, автобус не ходит», «в школе выпускной». Дни с такими заметками прогноз угадывал примерно вдвое лучше, чем такие же дни без них Г9. Хозяйкой календаря событий стала Ксюша, управляющая магазинами E17: она собирала расписания школ по их сайтам и по родительским чатам самих продавцов.
Списание к концу этапа было около восьми процентов. Пустых полок до пяти вечера стало вдвое меньше. Но ночью Зарина всё равно пересчитывала заказ в муку руками — и выходило то лишнее, то не хватало.
Мука пьёт воду
▶ эта глава в ролике · 5:21Ночью цех похож на корабль. Окна чёрные, с одной стороны гудят четыре печи с жёлтыми смотровыми окошками, с другой стоит шкаф расстойки, где в тепле поднимаются заготовки, а над всем этим висит мучная пыль, которая в свете ламп кажется снегом.
— Мука новая, — сказал Миша в одиннадцатом часу, отряхивая руки. — Пьёт воду иначе.
— Опять не хватит на два лотка, — сказала Зарина.
Она знала это руками: у теста годами учатся чувствовать, сколько воды оно «берёт». Но руки Зарины не могли передать свой вывод Excel, а Excel не мог передать его утренней машине. Техкарта говорила: на изделие столько-то муки, выход такой-то E22. А мука от разных поставок была немного разной.
— Взвешивай первый замес, — сказала Зарина. — Каждую ночь. Месяц.
Месяц ночных взвешиваний показал то, что Зарина знала, но не могла доказать. Выход одних и тех же изделий из разных партий муки отличался до четырёх процентов Г10. Гипотеза «техкарта переведёт штуки в муку точно» не подтвердилась. Вместо того чтобы переписывать техкарты под каждую поставку, придумали поправку по партии Д9: первый замес ночи взвешивают, и экран говорит, сколько добавить. «Партия 0412: выход минус два процента, добавьте шесть килограммов» E24. Мука по плану стала равна муке в замесе, а тесто — изделиям плюс упёк в пределах нормы.
Следующим оказался порядок. Печь сажали по готовности: что поднялось в расстойке, то и в печь. А первая машина в 5:30 везёт хлеб в дальние магазины, и их партии часто были готовы последними. Машина ждала до 5:50, магазины на окраине открывались без хлеба. Кто-то предложил купить пятую печь. Данные показали, что печи загружены примерно на семьдесят процентов: не хватало не печей, а порядка Д10. Правило стало простым: печём по маршруту, дальние магазины первыми E26. Через два месяца первая машина уезжала вовремя не в шестидесяти процентах ночей, а примерно в девяноста пяти Г11.
Датчики температуры поставили на печи и в расстойку E27: журнал критических точек по ХАССП, который раньше заполняли под утро «задним числом», теперь писался сам E28. Почти. Температуру в мякише датчик печи не видит, и щуп так и остался ручным замером — только теперь записывался сразу Г12.
Ночь, которая научила пекарню главному правилу, случилась до всего этого.
В 2:40 встала печь номер три. Зарина была в цеху одна из тех, кто решает. Нужно было урезать часть заказа — вопрос, кому. Она решила по памяти, уставшая, за пять минут, и решила честно: всем понемногу, а маленькому магазину на окраине — полностью, потому что он «и так маленький». Утром самый большой магазин у вокзала открылся почти без хлеба. Около тысячи двухсот изделий недопекли, а жалобы шли весь день.
После разбора появилось правило, которое потом повторяли как поговорку: решения на плохой случай принимают днём Д11. План Б E30 утвердили заранее: список приоритетов магазинов и изделий и подсказка «кому сколько урезать» по суточным балансам. Ночью технологу остаётся одно нажатие.
Составлять этот список пришлось Зое Михайловне. Она сидела над ним два вечера. Вокзал — первым, это понятно: там больше всего людей и больше всего денег. А вот кому урезать первым, она так и не смогла написать сама. Садовая была её первой пекарней. Окраина — пекарней, которую открыли по просьбе жильцов нового района. В конце концов она отдала карандаш Тимуру: «Ты посчитай. А я подпишу». И подписала.
Двенадцать лотков
▶ эта глава в ролике · 6:46На рассвете двор за Садовой похож на декорацию: кирпичная стена, две одинаковые двери с лампами над ними, стеллаж для пустых лотков и хлебный фургон, который встаёт поперёк, потому что по-другому здесь не встать. Садовая и Озёрная — два магазина в одном доме, и задние двери у них рядом.
Валера возит хлеб двенадцать лет. Он знает каждую подворотню, каждый шлагбаум и каждого охранника в торговых центрах по имени. Три недели подряд Рита, старшая смены на Озёрной, принимала у него на один лоток меньше, чем было в накладной. В понедельник она не выдержала.
— Опять одиннадцать лотков вместо двенадцати!
— Я двенадцать сдал, — сказал Валера. — Двенадцать лет вожу.
— Значит, кто-то по дороге…
В тот же день по магазинам пошло: «водитель оставляет лоток себе». Приёмка вдвоём считала лотки, но не видела, чьи они. Валера пришёл к Ксюше и положил на стол ключи от фургона. Ксюша ключи не взяла и попросила неделю.
За эту неделю у каждого лотка появился номер и QR-код E32: сначала наклейкой, которая отклеивалась после мойки, потом гравировкой. Правило: лоток без номера не едет. У задней двери каждого магазина поставили стеллаж для пустых лотков, и водитель забирает их со следующей доставкой E33. Пропадало около тридцати лотков в месяц, стало около пяти Г13.
А у двери лоток стали сканировать E36. Приложение водителя E34 говорит, в какой магазин этот лоток едет. В первый же понедельник на экране у Валеры высветилось: «0233 — Озёрная, соседняя дверь». Лоток Озёрной три недели уезжал к Садовой — двери рядом, маршрут недавно поменяли, — и Садовая принимала его как свой «лишний».
— Ну вот, — сказал Валера, и все, кто стоял во дворе, увидели, что он улыбается впервые за три недели. — А меня в воры записали.
На общей планёрке перед Валерой извинились. Не Рита — она извинилась раньше, сама, во дворе. Извинилась пекарня. Тимур потом говорил, что это был момент, когда он понял про данные что-то, чего не понимал в банке: данные могут не только ловить людей. Они могут их защищать.
Не всё на дороге получилось. Пробовали возить днём излишки хлеба из магазина, где он остаётся, в магазин, где его не хватает Г14. За шесть недель выяснилось: машина, время водителя и хлеб, который к вечеру уже не свежий, стоят дороже, чем то, что удаётся спасти. Окупались только торты и пирожные — их и оставили, дважды в неделю E37. С опозданиями тоже вышло наполовину: трекер показал, где машина теряет время, но не почему Г15. Причину нашёл сам Валера — сорок минут у шлагбаума торгового центра. Договорились с охраной об окне разгрузки с 5:40 до 6:00. Подарочные коробки к праздникам с тех пор входят в бюджет логистики.
Батон за тридцать девять
▶ эта глава в ролике · 8:04К двадцатому месяцу штуки, лотки и время были под контролем. А деньги — нет. Себестоимость Лариса Ивановна считала раз в месяц по средней цене муки, и цена эта стояла в техкартах «примерно».
Теперь цену сырья брали прямо из приходных накладных E38, себестоимость изделия пересчитывалась каждый день E39, а маржа изделия по каждому магазину была видна на следующее утро E40. Первый же отчёт выглядел как приговор семи изделиям: маржа низкая, продаются средне, «зачем они нам».
— Батон за тридцать девять — маржа восемь рублей, — сказал Тимур. — Уберём?
— По цифрам — да, — сказала Лариса Ивановна.
Убрали семь изделий из шестидесяти, и среди них нарезной батон Г16. Через две недели Тимуру позвонила Надя.
— Тимур, бабушки спрашивают батон и уходят. И кофе больше не берут.
Она не жаловалась. Она докладывала, как докладывают о поломке. Утром на Садовую приходят пожилые покупательницы. Они берут батон за тридцать девять и заодно стакан кофе, а иногда пирог. Батона нет — они разворачиваются у полки и уходят. Не берут ни кофе, ни пирога.
Отчёт считал маржу изделия. А покупатель приходит за чеком. Батон был якорем: дешёвый, привычный, ради него заходят. В трёх магазинах за шесть недель выручка упала примерно на восемь процентов, и часть постоянных покупательниц так и не вернулась. Батон вернули. С тех пор у каждого изделия видно, с чем его покупают E41, решения об ассортименте принимают по марже чека Д15, а убрать изделие можно только через пробную неделю и разговор с продавцами.
Был в том списке ещё один «невыгодный» пункт — пирог с капустой. Тот самый, с которого в 2011 году всё началось. По рецепту мамы Зои Михайловны: тесто тоньше, чем принято, капуста тушёная, а не варёная, и долго, и дорого.
— Пирог с капустой остаётся, — сказала Зоя Михайловна. — Это мамин рецепт.
— Остаётся, — согласился Тимур. — Но цену поднимем на двенадцать процентов. И печём не во всех магазинах, а в восьми.
Зоя Михайловна помолчала.
— …Ладно.
Это решение записали в разбор так же, как остальные Д16: «Часть маржи сознательно отдана памяти и бренду». Пирог остался — по решению, а не по привычке.
Остальное в этом этапе было скучным и полезным, как хорошая бухгалтерия. Муку стали закупать по прогнозу и плану ночи E42: запас с двадцати одного дня упал примерно до девяти, и ни разу не было дефицита Г17. Касса, ОФД и банк теперь сверялись каждый день E43, и расхождение находилось за час, а не за три дня Д17. Премия магазина стала зависеть от весов E45. А в четырёх магазинах повесили электронные ценники с плавающей вечерней скидкой E44. По цифрам они продавали излишки лучше. Про доверие стоило подумать раньше Г18 — но об этом позже.
Девять дней
▶ эта глава в ролике · 9:14К двадцать шестому месяцу в пекарне работали сорок пять сервисов. Тимур уже не мог перечислить их по памяти. Половина не имела хозяина: кто-то настроил, кто-то пользовался, а кто отвечает, если сломается, не знал никто. От суточного баланса магазина зависели прогноз, весы, план Б, маржа, премии — десять сервисов.
В это время у пекарни сменился поставщик муки, и Зарина поменяла рецептуру бородинского. Новый рецепт — новая техкарта. Новая техкарта — новый код на кассах. Так «получилось»: никто не принимал решения завести новый код, его просто завела касса.
Прогноз продолжал читать старый код. Продаж по старому коду было ноль. И прогноз сделал то, чему его учили: предложил печь бородинского меньше. Магазины заказывали по прогнозу. Полки пустели раньше. По старому коду продаж всё равно было ноль — и прогноз «убеждался», что прав. Шестьдесят штук, пятьдесят два, сорок пять, тридцать девять… Девять дней.
Заметил это не отчёт. В четверг на девятый день Зоя Михайловна зашла на Садовую — просто так, по старой привычке, в одиннадцать утра. У полки стоял знакомый старик в шляпе с янтарной лентой. Четверг теперь ходил на Садовую: от дома дальше, зато, говорили, бородинский там держится дольше.
— У вас бородинского больше не бывает? — спросил он.
— Как не бывает? — Зоя Михайловна повернулась к полке. Полка была пуста. — Мы его каждую ночь…
Она позвонила Тимуру прямо из магазина. Тимур нашёл причину за час и потом ещё неделю не мог спокойно о ней говорить. Это был его прогноз. Он сам объяснял всем, что прогноз на продажах загоняет себя вниз, и сам построил систему, которая загнала себя вниз, только по другой причине. Около двух тысяч трёхсот непроданных бородинских за девять дней и часть постоянных покупателей — так выглядела цена молчаливой поломки. Гипотеза «прогноз сам заметит ошибку в данных» Г19 не подтвердилась: прогноз не заметил, а усилил её.
Лечили не прогноз. Лечили всё вокруг него.
Сначала реестр E46: у каждого из сорока пяти сервисов записали хозяина, что он делает и от чего зависит. Собирали три недели: про шесть сервисов никто не мог сказать, чьи они. Потом правило: смена кода изделия — это изменение с хозяином. Новый код связывается со старым, и история продаж не обнуляется E49, Д18. Журнал изменений техкарт — кто, что и когда поменял E50.
Потом — проверки, отдельные от прогноза Д19. Свежесть данных: пришли ли за последний час чеки со всех касс E47. И канарейка E48: если прогноз по изделию падает третий день подряд, а полка при этом пустеет всё раньше, — тревога. Девять дней сбоя прогнали через новую проверку, как прогоняют запись матча: тревога сработала бы на второй день Г20. Первая неделя канарейки дала одиннадцать тревог, девять из них ложные — праздник, ремонт витрины. Календарь событий научили и этому.
Ещё — окно обновлений: не в пятницу и не ночью, сначала тестовый магазин E51. Работает наполовину Г21: свои обновления пекарня теперь выпускает аккуратно, а обновления кассового сервиса приходят по расписанию поставщика, и одно всё-таки прошло ночью. И запасной заказ без связи — бланк и фото в чат E52.
Отдельным решением стало «Шефство» снаружи Д20: не свой программист, а внешний дежурный, который видит тревоги E53 и знает реестр. По пятницам в четыре — тридцать минут разбора сбоев недели, без поиска виноватых E54. Первым пунктом первого разбора Тимур записал бородинский. Под своим именем.
Двадцать два ноль-ноль
▶ эта глава в ролике · 10:12К тридцать первому месяцу данные стали надёжными, и Зоя Михайловна сформулировала то, чего хотела с самого начала. Правда, первую половину фразы она произнесла для всех, а вторую — для сына.
— Чтобы ночью решали за минуты. И чтобы я могла спать.
Теперь в 22:00 Зарине приходит план ночи. Не таблица, а предложение — с причиной у каждой строки E55. «Садовая: бородинский плюс двенадцать — в школе собрание (заметка Нади)». «Лесная: круассаны минус двадцать — в прошлый четверг выбросили восемнадцать». «Парковая: багет плюс восемь — пустая полка в 17:10 два дня подряд». «Вся сеть: излишки около ста сорока — заявка в столовую в 19:00».
— План уже пришёл? — спрашивает Миша.
— Пришёл, — отвечает Зарина. — Одну строку поправлю: у вокзала ремонт перрона.
Она меняет «180 батонов» на «150» и пишет причину E56. Причина становится событием для прогноза, и в следующий раз её не придётся писать. В 22:20 Зарина нажимает «утвердить». Двадцать минут вместо двух с половиной часов.
Поначалу хотели пойти дальше. Тимур предложил проверить, можно ли в обычные дни утверждать план без технолога Г22: если двадцать восемь ночей подряд план хорош, зачем человеку двадцать минут каждый вечер? Месяц Зарина только смотрела план и не правила. Двадцать шесть ночей из двадцати восьми план был хорош. В две ночи — нет. Одна — марафон, который перекрыл улицы у двух магазинов. Вторая — пятница перед Пасхой.
В прошлом году Пасха была на три недели позже, и прогноз, который учится на датах, предложил куличей как в обычную пятницу: сто двадцать. Зарина увидела это в 22:10 и поправила на триста шестьдесят. Если бы план прошёл без человека, пекарня встретила бы самый важный для неё день года с пустыми полками.
Человек остался в цепочке Д21. Праздники теперь привязаны к событию, а не к дате, и каждую праздничную ночь технолог утверждает сам E66.
Остальное этого этапа складывалось само, как пазл, у которого наконец нашлась картинка на коробке. В семь утра Тимуру приходит сводка: девять строк вместо пяти отчётов E57, E58. Если строка красная, по нажатию открываются пять строк «почему» E59. Продавцам на вопрос «а в эклере есть орехи?» отвечает помощник — только по техкарте и всегда с названием и датой версии E60, и звонков технологу про состав стало примерно вчетверо меньше Г23. Ксюше до восьми утра приходит короткое «что случилось в магазинах вчера» E64, Олегу — подсказка закупки на неделю E63, новым продавцам — карточки с изделиями и кнопками E65.
И ещё — столовая. В 19:00 система сообщает ей, сколько будет излишков E61, и в 21:45 волонтёр забирает хлеб. В будни забирают почти всё. В выходные столовая закрыта, и излишки уходят в уценку или в ящик Г24. Не идеально. Но ящик перестал быть мусорным.
Электронные ценники с плавающей скидкой закрыли Д22. Излишков они продавали больше, но покупатели жаловались: «вчера в это время было дешевле». Продавцам приходилось спорить, а пекарня у дома живёт доверием. Вместо них — одна простая наклейка «вечерняя цена» на то, что по прогнозу останется. Это единственный из шестидесяти шести сервисов, который закрыли, и в разборе его закрытие записано без стыда.
Двадцать один пятьдесят
▶ эта глава в ролике · 10:12Тот же четверг, та же Садовая, 21:40.
Надя теперь управляющая тремя пекарнями. У неё другой пиджак, другая причёска и бейдж на шнурке. Но по четвергам Садовую она закрывает сама — по привычке, которую никто не отменял.
В ящике шесть батонов. Сколько останется, система сказала столовой ещё в 19:00.
В 21:45 дверь открывается, и входит парень в жёлтой шапке.
— Добрый вечер! Из столовой, за хлебом.
— Шесть батонов, — говорит Надя. — Остальное раскупили.
Когда волонтёр уходит, Надя достаёт телефон и пишет: «Забрали. В ящике пусто». Отправляет Зое Михайловне. Ответа нет.
В 21:50 улица перед пекарней пуста. Фонарь стоит в своём жёлтом круге. Старая жёлтая машина больше не останавливается у двери: ей незачем.
Зоя Михайловна в это время уже спит. В доме через квартал как раз в эту минуту гаснет её окно. Хлеб на завтра считают без неё — и всё-таки с ней: в плане ночи живут её четырнадцать лет. Школа на Садовой. Пасха, которая каждый год приходит в новый день. Пирог, который печётся не потому, что выгоден. Бородинский для старика по прозвищу Четверг.
В цеху, на полке у тестомеса, стоит банка с закваской. Её завела Зоя Михайловна ещё в 2011 году, и с тех пор закваску кормят каждый день: мукой и водой, понемногу. Пропустишь неделю — она умрёт, и ни один рецепт её не вернёт. Миша, когда пришёл в цех, долго не понимал, зачем с ней столько возни. Теперь понимает.
Шестьдесят пять сервисов пекарни устроены так же. Живые, пока их кормят: проверяют, разбирают по пятницам, правят причины, переписывают пороги. Всё это не делается само. Но и делается не ночью и не одной женщиной на старой машине.
В 22:20 Зарина утверждает план. В 23:00 начинается замес. В 5:30 Валера выезжает со двора. А в 7:00 Надя переворачивает табличку на двери: «открыто».