Digital Core

Кейс · Сеть кофеен · ИИ-агент

Первая версия агента закупок не взлетела, вторая пережила отпуск закупщика

Сеть из шести кофеен во Владивостоке хотела, чтобы закупщик перестал считать заказы на калькуляторе. Первая версия агента две недели только мешала, и мы ее переделали. Вторая сократила дефектуру с 42 до 8 позиций, но в отпуск закупщика пропустила одно письмо поставщика.

Ниша
Сеть кофеен, 6 точек
Город
Владивосток
Канал
Яндекс Почта, письма поставщикам
Внедрение
Первая версия 7 июля, вторая 4 августа 2026
Пакет
Бизнес, 49 900 ₽
Замер
30 дней до первой версии и 30 дней второй
Читать кейс · 12 мин
Остатки на 28 августа, отпуск Ильдара: стаканов и крышек на неделю вперед

Позиции в дефектуре

428

в среднем на утро, из 146 закупаемых

Закупщик на расчет и заказы

95 мин15 мин

в день, вместе с письмами

Срочные покупки в супермаркете

234

чеков за 30 дней

Списание молока по сроку

14 800 ₽6 100 ₽

за 30 дней

Первая версия: калькулятор Ильдара, только каждое утро

«Кофе на Сопке» держит шесть кофеен во Владивостоке, от центра до кампуса на острове Русский, где летом пусто, а в сентябре очередь до двери. Через кассы в день проходит около 1 300 напитков, две трети уходят с собой. Центральный склад - комната с холодильником на Второй Речке.

Закупками три года занимался один человек, Ильдар. Каждое утро он выгружал остатки из МоегоСклада, считал на калькуляторе и писал поставщикам. Молоко приходит каждый день до 7:00, зерно от обжарщика по вторникам и пятницам, стаканы и крышки по средам. Растительное молоко и сиропы едут раз в две недели со склада дистрибьютора на Снеговой.

42позиции из 146 к открытию пустые хотя бы на одной точке
95 минИльдар в день на расчет и письма
23срочные покупки в супермаркете за 30 дней

Дефектуру в сети считают строго: позиция пуста к открытию хотя бы на одной из шести точек. В июне таких набиралось 42 на утро. Когда кончалось молоко, бариста бежали в ближайший супермаркет и платили розничную цену: 23 таких чека за месяц.

Товары на 6 июля: стаканы, крышки и держатели, которые Ильдар считал вручную

«Я в отпуск не ходил с 2023 года. Не потому что не отпускают. Просто никто, кроме меня, не знает, сколько стаканов нужно Русскому в сентябре.»

Ильдар, закупщик

Первую версию агента мы задумали как быстрого Ильдара. Агент берет обороты за 14 дней, умножает средний расход на неделю запаса, вычитает остаток и в 7:30 присылает в рабочий чат список «что заказать». Письма пишет сам Ильдар. Нам казалось, что главное - снять с него счет, а решения оставить человеку.

Запуск первой версии: список в 7:30 и никакого доверия

Первую версию включили 7 июля, во вторник. Подключение к МоемуСкладу заняло день. Формулу проверили на трех позициях, молоке, зерне и стакане 350, и решили, что этого хватит. Об этом решении мы потом жалели больше всего.

  1. агент присылает список: 30-40 строк по всем точкам
  2. Ильдар открывает МойСклад и пересчитывает спорные строки
  3. половину списка он исправил, письма пишет сам
  4. заказы ушли, как и раньше, только на 20 минут позже

Ильдар пересчитывал не из упрямства. В первый же день агент предложил отвезти 60 литров молока в кампус, где в июле нет студентов. На второй посчитал овсяное на неделю вперед, хотя следующая машина от дистрибьютора приходит через 14 дней.

После таких промахов он проверял каждую строку. Агент добавлял ему работу: сначала прочитать список, потом все равно посчитать самому.

Две недели первой версии: метрика не сдвинулась

Через две недели мы сели за цифры, и они были неприятными. Дефектура не упала и на второй неделе даже подросла. Время Ильдара выросло с 95 до 108 минут в день.

Что смотрелиИюнь, до агентаНеделя 1Неделя 2
Пустых позиций на утро, в среднем424144
Минут Ильдара в день95104108
Строк в списке агента, которые он исправил-131156
Срочных покупок в супермаркете23 за месяц65

Первая версия не взлетела, и спорить тут было не с чем. Она считала то же, что Ильдар, только хуже: без сроков поставки, без календаря точек и без того, что лежит на центральном складе. Мы предложили Роману, владельцу, остановить агента на две недели и переделать, не продлевая замер.

«Хорошо, что не стали делать вид, что работает. Я бы заметил по Ильдару: он к обеду был злой.»

Роман, владелец

Дни 1-321-23 июля

Почему не взлетело: 287 правок Ильдара по причинам

Разбор начали 21 июля. Взяли все строки первой версии за две недели и рядом поставили то, что Ильдар заказал на самом деле. Каждую правку он объяснил одной фразой, а мы разложили объяснения по причинам.

Разбор 21-23 июля: 287 правок Ильдара, семь причин дают 94%

Семь причин дают 271 из 287 правок, 94%. Самая частая - срок поставки. Для агента все поставщики были одинаковыми, а у растительного молока от заказа до привоза 4 дня, и следующая машина только через две недели.

На втором месте кампус. Летом там пусто, а с началом учебного года очередь до двери, и среднее за 14 дней этого не знает. Третья причина - молоко: оно живет 5 суток, и неделя запаса превращается в списание.

  • Срок поставки и график машин у каждого поставщика свой.
  • Спрос по точкам зависит от календаря: каникулы, выходные на набережной, туристы.
  • Прежде чем заказывать, надо проверить центральный склад: часто товар уже лежит на Второй Речке.

Дни 4-1024-30 июля

Вторая версия: свой календарь у каждого поставщика

Во второй версии агент считает не «неделю запаса», а запас до следующей машины плюс страховку. Для молока это сутки, для зерна три дня, для растительного молока 18 дней: 14 до следующей машины и 4 на саму доставку.

МойСкладостатки по шести точкам и складу, обороты
Календарьграфик машин, срок годности, события точек
Расчетсначала перемещение со склада, потом заказ
Черновикизаказ поставщику и письмо в Яндекс Почте
Ильдародно «ок» в рабочем чате

Правила собрали в одном Google Документе. Ильдар дописывал то, что держал в голове: кампус живет по учебному календарю, у Морвокзала выходные вдвое сильнее будней, лавандовый сироп берут только летом. Роман оставил комментарий про стаканы, и он стал отдельным правилом.

Правила второй версии от 28 июля: календарь поставщиков и точек

Главное изменение не в формуле. Агент теперь сам готовит черновики заказов в МоемСкладе и письма поставщикам, а Ильдар их подтверждает. Пересчитывать ему нечего: в каждой строке видно, откуда взялось число.

Дни 11-1431 июля - 3 августа

Прогон на июне: 43 из 46 совпали с Ильдаром

Перед запуском вторую версию прогнали на июньских данных. Выбрали 46 ситуаций, где Ильдар заказывал что-то нестандартное, и сравнили его решение с расчетом агента.

Прогон 31 июля - 3 августа: расчет агента против заказа Ильдара

На первом проходе агент сошелся с Ильдаром в 31 ситуации из 46. Он не знал, что зерно для офисных кофе-брейков берут отдельно, и путал перемещение со склада с новым заказом. Когда мы это поправили, расчет разошелся с Ильдаром только в трех ситуациях, 43 из 46.

Три оставшиеся строки - новые сиропы без истории продаж. Ильдар сказал, что и сам берет их наугад, по две бутылки на точку. Так и записали в правила: новинку агент не считает, а пишет «нет истории, решите сами».

День 154 августа, вт

4 августа: одно «ок» вместо полутора часов

Вторую версию включили 4 августа, ровно через четыре недели после первой. В 7:30 агент прислал сводку: заказ в Упак-ДВ на 61 520 ₽, молоко, два перемещения со склада. Ильдар ответил через восемь минут.

16 июля «считаю сам как обычно», 3 августа прогон 43 из 46, 4 августа заказы и письмо в Упак-ДВ

Письмо поставщику агент пишет так же, как писал Ильдар: что, сколько, куда и к какому часу. Подпись честная - письмо подготовил агент, подтвердил человек. Поставщики на это внимания не обратили.

4 августа, 7:42: первое письмо второй версии в Упак-ДВ

К концу недели по заказам агента пришли пять приемок: стаканы, молоко, зерно и растительное молоко. Ильдар сверял их с накладными сам, эту часть мы не трогали.

Приемки 4-7 августа: стаканы, молоко, зерно и растительное молоко

Дни 28-3617-25 августа

Письмо, которое никто не открыл: кофе-брейк ушел через дорогу

17 августа Ильдар ушел в отпуск, первый за три года. Подтверждать заказы стала Настя, управляющая. В тот же день в 7:44 агент отправил заказ в Альт-Дистрибуцию: 120 пачек овсяного, кокосовое и миндальное, привоз в пятницу.

В 12:10 менеджер Альта ответила: овсяного нет до конца месяца, контейнер задерживается, можем заменить другой маркой. Ответ упал в ветку письма. Агент умел отправлять письма, но не читал ответы. Ответы всегда читал Ильдар.

17 августа, 12:10: ответ Альт-Дистрибуции, который никто не открыл

В пятницу кокосовое и миндальное приехали, овсяное нет. Агент видел счет Альта как непринятый, но считал заказ в пути: в сводке на 22 августа так и стояло, «в пути 120». В понедельник овсяное кончилось на Русском, к вечеру на Алеутской.

Счета поставщиков на 25 августа: счет Альта от 17 августа так и не принят

Во вторник утром «Портовый экспедитор», офис по соседству с Алеутской, ждал кофе-брейк на 52 напитка, 30 из них на овсяном. Они брали его у нас каждый понедельник или вторник. Настя в 8:10 предложила кокосовое, офис отказался и заказал в кофейне через дорогу.

22-25 августа: «в пути 120», пустое овсяное и отмененный кофе-брейк

Заказ стоил 15 080 ₽, маржа после молока, зерна и стаканов 10 244 ₽. Компенсировать было нечего: офис просто ушел к соседям, и в сентябре кофе-брейки «Портового» у нас не появились. В реестре отгрузок 25 августа их заказа нет.

Отгрузки кофе-брейков на 25 августа: заказа «Портового экспедитора» в этот день нет

Исправление: агент читает ответы в ветке своего письмаАгент теперь читает ответы поставщиков в ветке своего письма. «Нет», «замена», «перенос», «частично» он выносит красной строкой в сводку и снимает с заказа отметку «в пути». Заказ без подтверждения поставщика за сутки до привоза тоже красный. Для овсяного завели второго поставщика, Прибрежную базу: дороже на 40 ₽ за пачку, но на складе в городе. Через неделю правило сработало по-настоящему: Альт написал про частичную отгрузку, и Настя заказала остаток у Прибрежной до того, как молоко кончилось. «Портового» это уже не вернуло.

30 дней4 августа - 2 сентября

30 дней второй версии: 8 пустых позиций вместо 42

Замер второй версии - 30 дней с 4 августа по 2 сентября. Сравниваем с 30 днями до первой версии, с 7 июня по 6 июля. Недели первой версии в сравнение не берем: это была другая система.

Закупки сети7 июня - 6 июля4 августа - 2 сентября
Пустых позиций на утро, в среднем428
Минут закупщика в день9515
Часов на закупки и перемещения в месяц5210
Срочных покупок в супермаркете234
Списание молока по сроку14 800 ₽6 100 ₽

Август и июнь во Владивостоке - разные месяцы. В августе тепло, на набережной туристы, и чеков у сети было на 18% больше: 39 000 против 33 000. Дефектура при этом упала, хотя товара уходило больше. Сезон здесь работал против агента: в июне ему было бы легче.

Минут на закупки в день: 95 вручную, 15 со второй версией агента

По графику видно отпуск. С 17 по 30 августа заказы подтверждала Настя, ей нужно было на пару минут больше: она читала каждую строку.

Ильдар отдыхал с 17 по 30 августа, и кофе с собой не закончился ни разу. Стаканы, крышки и держатели агент считает по средам вместе с Упак-ДВ, и запас всегда был на неделю вперед. В прошлом августе стакан 450 кончался дважды, когда Ильдар просто болел три дня.

На 28 августа стаканов 350 мл 60 упаковок при неснижаемом остатке 45. Красным в остатках стоит только овсяное: 16 пачек при минимуме 60, то самое письмо Альта.

Обороты 1-28 августа: 652 кг зерна, 4 370 литров молока, 250 упаковок стаканов 350

Обороты за август показывают, сколько на самом деле уходит за месяц: 652 кг зерна и 4 370 литров молока. Раньше эти цифры знал только Ильдар, теперь они лежат в правилах агента.

Показатели 30 августа, последний день отпуска Ильдара: неделя на 2% выше прошлой

Выручка в отпуск тоже не просела. К воскресенью 30 августа неделя вышла на 2% выше прошлой, даже без кофе-брейка «Портового».

1 и 3 сентября: первокурсники в кампусе и итоги месяца

Деньги с учетом четырех потерянных недель

В окупаемость идут часы, которые можно пересчитать по журналу: Ильдар и Настя тратили на закупки и перемещения 52 часа в месяц, стали 10.

СтатьяЗначение
Часов на закупки до и после52 и 10 в месяц
Освободилось42 ч в месяц
Стоимость часа закупщика с взносами480 ₽
Экономия20 160 ₽ в месяц
Модель, сервер, почта2 700 ₽ в месяц
Внедрение, пакет «Бизнес»49 900 ₽
Окупаемость второй версииоколо 12 недель

Это срок от запуска второй версии. Если считать от 7 июля, когда включили первую, добавляются четыре недели без пользы: две недели агент мешал, две мы переделывали. Тогда выходит 114 дней, почти четыре месяца. Переделку мы сделали в рамках пакета, доплаты не было.

Есть деньги, которые видны, но в часы не переводятся. Списание молока упало на 8 700 ₽ в месяц. Срочных покупок в супермаркете стало 4 вместо 23. С другой стороны, «Портовый экспедитор» ушел с маржой 10 244 ₽ за один кофе-брейк, а он заказывал их раз в неделю.

В сентябре Ильдар впервые взял выходной в понедельник, когда приходят все машины. Сводку в 7:30 подтвердила Настя, приемки сверил Глеб на Второй Речке, и Роман узнал о выходном закупщика только из чата.

Вопросы и ответы

Кто нажимает «отправить» в письме поставщику?

Закупщик. Агент готовит черновик заказа в МоемСкладе и письмо, а отправляет после «ок» закупщика в рабочем чате. Так решил владелец. Технически можно и без подтверждения, но тогда первая же ошибка уйдет поставщику без проверки.

У нас точки разные: кампус, набережная, спальный район. Агент это понимает?

Не сам. Мы записали календарь каждой точки в правила: учебный год в кампусе, выходные у Морвокзала, туристический август. Среднее за 14 дней без календаря как раз и сломало первую версию.

Что делать с молоком, которое живет 5 суток?

Для молока агент считает запас до утренней машины плюс полдня. Неделя запаса для молока - это списание. После перехода на такой расчет списание упало с 14 800 до 6 100 ₽ в месяц.

Почему не взяли сразу правильную версию?

Мы проверили формулу на трех позициях и решили, что достаточно. На 146 позициях и девяти поставщиках вылезло все, чего мы не знали про сеть. Теперь прогон на истории идет до запуска, а не после.

Артем Кузьмин

Артем Кузьмин

Основатель AviGrowth, GreenMP, Digital Core и SFB. Частный инвестор.

С 2015 года строю бизнесы, которые живут на трафике. AviGrowth ведет кабинеты на Авито, GreenMP - магазины на маркетплейсах, Digital Core внедряет ИИ. Четыре компании, 60+ человек в команде, 170 млн рублей оборота в год.

Бизнесов в работе
100+
Человек в команде
60+
Оборот в год
170 млн ₽
Клиентов по рекомендации
84%

Хотите так же
в своей нише?

Посмотрим ваши остатки и обороты в МоемСкладе и посчитаем, сколько позиций у вас пустеет к открытию и почему.

Попробовать бота в демо →

Или напишите в Telegram · +7 987 235-01-89

Позвонить