ИИ-агент для сети небольших пекарен у дома: каждый вечер он считает, сколько чего испечь завтра на каждой точке, и присылает управляющему готовый черновик заказа. Агента построил Евгений Росляков. Сайтами и автоматизацией для малого бизнеса он занимается с 2016 года. Оформлен как самозанятый, работает по договору, для юрлиц готовит закрывающие документы. Живёт в Москве, проекты берёт и очно, и удалённо.
В сети около десятка пекарен. Заказ выпечки на завтра управляющие составляли по памяти: «в пятницу обычно разбирают больше». Вечером в урну уходили круассаны и булки, а к десяти утра заканчивались самые ходовые позиции. Особенно обидно было в дождь и в жару, когда поток людей резко менялся.
Хотелось, чтобы заказ собирался из данных, а не из ощущений. Но решение остаётся за человеком: управляющий лучше знает, что у соседнего офиса сегодня праздник. Поэтому ИИ-агенты в этой истории только готовят черновик, а подтверждает его живой человек.
Начал с данных. Из кассовой системы выгрузил историю продаж по каждой точке и позиции за два года. К ней добавил календарь (будни, праздники, выходные) и погоду. Всё это чистил и собирал в Pandas: убирал возвраты, склеивал одинаковые товары, которые кассиры заводили под разными названиями. Недельные профили спроса и скользящие средние считал на NumPy.
Прогноз делает модель на Scikit Learn. Для каждой пары «точка — позиция» она оценивает спрос на завтра. Отдельно учтено, что недопечь и перепечь стоят по-разному: хлеб с вечера можно уценить, а пустая полка в восемь утра теряет покупателя. Поэтому к прогнозу добавляется запас, настроенный под каждую позицию.
Агент работает по вечернему расписанию. Забирает свежие продажи и прогноз погоды на завтра, строит прогноз и отправляет управляющему черновик заказа: позиции и количества. Управляющий правит цифры и подтверждает. Его правки сохраняются, по ним видно, где модель ошибается систематически.
Чтобы всё это не развалилось через месяц, выстроил MLOps. Эксперименты и версии моделей лежат в MLflow: у каждой есть параметры, метрики и дата обучения. Переобучение идёт по расписанию. Новую модель сравнивают с текущей на последних неделях, и если она хуже, остаётся старая. Если ошибки вдруг выросли, на прошлую версию можно вернуться одним действием.
Управляющие получают заказ на завтра готовым и тратят на него несколько минут вместо вечернего гадания. Списаний стало меньше, а ходовые позиции к вечеру не заканчиваются так резко. Модель не застыла: она переучивается на новых продажах, и качество проверяется до того, как цифры попадут в заказ.
Первые недели управляющие правили много. Это нормально: модель училась на их правках, и по ним же настроили запас для спорных позиций, например для сезонных пирогов. Новые точки без истории продаж агент считает по похожим, поэтому их прогноз грубее, и управляющий это видит по пометке в черновике.
Есть и то, чего агент не знает. Он не видит, что завтра у соседнего офиса корпоратив, что на улице ремонт или что поставщик задержал муку. Такие события вносит человек, и на этом строится вся схема. Автоматического заказа без подтверждения нет и не планируется.
Дальше владельцы хотят добавить в черновик акции: когда позиция уценена, спрос меняется, и модели нужно это знать.
Хотите проверить, подойдёт ли такая схема вашей сети? Пришлите мне на freelance.ru, как вы заказываете сегодня и какие данные есть на кассе. Скажу, хватит ли их для прогноза.