
Привет, Хабр! Я делаю ИИ-агентов для больших компаний. Раньше делал для кровавого энтерпрайза — крупных страховых, банков и телекома, потом пришёл в e-commerce. И оказалось, у них тут происходят такие поразительные вещи, что я просто не могу не поделиться.
Работают наши агенты так: в начале каждой системы стоит маршрутизатор, который определяет, кому отдать работу: человеку или модели. Модели достаются 50% самых простых и понятных случаев, остальное — людям. Экономия обычно 10–12%.
Про e-commerce я думал, что туда всё встанет как влитое. Бизнес у них сразу родился цифровым, у площадок есть API, вокруг сотни сервисов аналитики. Казалось, остаётся подключиться и считать.
Не тут-то было.
Рассказываю, как большие бренды работают на Wildberries, Ozon и Lamoda.
Начну с того, что поразило меня в самое сердце:
— Руками делается очень многое. Например, есть бренд, у него тысячи товаров, а отчёты почему-то сводятся в экселевской табличке. Каждый день!
— Нет нормального BI — и не потому, что они математически плохи, а потому, что никто не подумал про пользователя чисто на уровне интерфейса. Имеющиеся решения сильно спамят алертами.
— Имеющимся системам менеджеры часто не доверяют.
— Постановка целей менеджерам такая, что становится важно больше продавать, и смело можно в убыток!
— Выкупается 30–60% того, что заказали, остальное ездит по стране.
— Мы думали, что агент сможет легко парсить цены из блока «Смотрите также». Так вот, этот блок персонализирован и решает важнейшую задачу — поставить максимальную цену, которую вы готовы заплатить, но чтобы при этом обеспечить конверсию. Прям как такси.
Короче, добро пожаловать в бессмысленный и беспощадный русский рынок e-commerce.
Самое всратое
Сначала я думал, что в этом мире всё логично: продавец бьётся за маржу на каждой проданной футболке. Но нет, вот несколько диких правил рынка:
Важно продать как можно больше. Крупные бренды не платят стандартную комиссию. У них есть квоты на оборот — то, что делает их крупными брендами. Сделал оборот 3 миллиарда — выполнил индивидуальные условия, получил прибыль. Не сделал — узнаешь об этом постфактум, возможно, когда уже напродавал себе в убыток. Собственно, это один из рычагов отжимания хороших цен для маркетплейсов — крупные селлеры иногда готовы удавиться и продавать целые направления в минус, лишь бы дотянуть общий оборот до бонуса.
Следствие простое: система, которая советует им «снизить трафик, так как юнит-экономика отрицательная», логична, но они считают её крайне тупой, потому что она не видит всей картины.
Заказ не равен продаже. Как я уже говорил, в одежде выкупают только 30–60% от заказанного. Если вы покупаете ровно то, что заказали, то вы компенсируете этим тех, кто заказывает три-четыре-пять размеров, а потом забирает один.
Следствие: появляется сущность «заказ», которая основная для маркетплейса, и на неё нельзя полагаться, потому что для производителя куда важнее продажи. План по показам при этом вообще не знает никто — его приходится вычислять пропорцией через конверсии.
Парсить цены конкурентов сложно — персонализация выдачи по ценам. Вообще-то такое не очень приветствуется антимонопольным законодательством, но там очень много обходов, поэтому на практике у многих цена разная. Частично обосновано логистикой до ПВЗ, частично — платежёспособностью и опытом клиента (чем больше у вас покупок, тем меньше вероятность, что вы уйдёте на другой маркетплейс и, соответственно, вам можно и повысить цену). Я же говорю, прям как такси )
Конкуренция идёт в узких странных коридорах. Средняя цена по поисковому запросу ничего не даёт, даже если вы её вытащили более-менее обезличенно. Обычная футболка может стоить от 300 до 7000 рублей, и это нормальные цены. У бренда среднего сегмента себестоимость может быть выше, чем розничная цена у дискаунтеров. В итоге надо следить не за всем рынком, а за 3–4 конкретными брендами-конкурентами — и для этого надо знать, между чем и чем выбирает обычно клиент.
Закупки делаются на полгода вперёд. К лету летнюю коллекцию делать поздно, потому что долгое плечо логистики и пошива за миску риса. Если товар продаётся быстрее, чем планировалось, — надо его растягивать, повышая цену. А если товар завис, а на улице холодный июнь, который съел спрос, — спасать его нужно немедленно, иначе он вообще всегда будет гнить на складе.
Чтобы держать всё это — и ещё управлять категорией — менеджеру нужно год или два наблюдать за рынком и обучаться на своих ошибках.


Почему всё так тупо устроено
В крупных fashion-брендах воронка до сих пор живёт в Экселе. И это не потому, что там работают глупые или ленивые люди. По большей части это из-за того, что крупные корпораты постоянно пытаются кастомизировать всё под себя. Они даже собственные инструменты пытаются делать — и эти билды решают точечные задачи. Внешние же просеиваются, потому что не учитывают их сложнейшую и уникальнейшую бизнес-логику и контекст. И вообще, «мы лучше всех всё знаем».
У крупного бренда от 10 тысяч артикулов (SKU, разных штрихкодов). По каждому отдельному артикулу ежедневно меняются около 30 показателей: показы в выдаче, клики, добавления в корзину, заказы, процент выкупа, возвраты, ставки в рекламе, цены конкурентов, отзывы, остатки на центральном и региональных складах.
Если менеджер будет тратить на анализ одного артикула всего 1 минуту в день, на 1600 «своих» карточек у него уйдёт почти 27 часов в сутки. Поэтому отслеживать каждый артикул глазами просто нереально.
Как это работает в реальности:
Ответственный аналитик скачивает из кабинетов «здоровенное полотно» сырых данных.
Он тратит день-два на то, чтобы «схлопнуть» эти тысячи строк до уровня категорий и свести данные с 1С, производством и логистикой.
Менеджер смотрит на одну из категорий. Там больше тысячи товаров. Какие-то продаются отлично, какие-то зависли мёртвым грузом, но в отчёте он видит среднюю температуру по больнице.
Площадки не отдают всё по API, как могло показаться. У Lamoda до недавнего времени вообще не было аналитики по воронке, Ozon отдаёт органику только на старших платных тарифах, а у Wildberries данные о заказах предварительные.
В итоге управлять тысячами товаров на микроуровне невозможно. Менеджеры выбирают пул флагманов, за которыми следят вручную. Остальное — «как-то там болтается» и живёт по общим, часто неэффективным правилам.
Из-за объёма данных 60–70% времени менеджера уходит на банальную попытку понять: «А что вообще вчера произошло?» И только 20–30% остаётся на реальные действия и корректировки, которые отличаются высочайшим качеством принятия решений, потому что сразу управляют кластером товаров, в котором часто идут разнонаправленные движения.
Так как воронку смотрят агрегированно и раз в неделю, о проблемах узнают с недельным опозданием. Если продажи по категории просели, менеджер не успевает искать причину по каждому из 200 упавших артикулов, он банально пробует угадать. И обычно не очень хорошо)
Что вообще может сделать категорийный менеджер
В целом очень мало. Базовая история такая:
Товар просел, надо разобраться, почему. То есть сначала понять, что он просел (а для этого надо иметь гипотезу, как он должен был продаваться в период) и потом уже — что случилось.
Если рядом есть товар-аналог дешевле, надо либо менять цену, либо делать что-то ещё.
Может прилететь негативный отзыв или сразу несколько, это роняет позиции товара, его перестают так быстро брать, надо разбираться с отзывами (чаще всего с производством, чтобы не было брака).
Управлять рекламой и следить, чтобы там была правильная ставка.
Рефлекс «снизить цену или залить рекламой»
Классический пример с одного из наших пилотов: у бренда забился склад, 18 артикулов встали и не давали продаж. Стандартное действие команды — включить распродажу и снизить цену по всей группе на 10%. Когда мы натравили на эту группу ИИ-агента, оказалось:
У 12 артикулов цена реально проигрывала конкурентам.
Но у 6 артикулов цена была в полном порядке! Проблема была в главном фото — на него просто не кликали (CTR был на дне).
Агент предложил снизить цену только там, где нужно, а для шести карточек — тупо заменить фото. И склад разморозился за два дня с сохранением прибыли.
Не обязательно это дорого, вот похожие истории:
Вылетел ходовой размер, остались только XS и XXL;
Товар закончился на региональном складе, и доставка стала долгой;
В топе отзывов появился свежий негативный;
Реклама крутится по запросам, которые не дают покупок;
Конкурент рядом устроил распродажу;
Тупо погода: в регионе похолодало, летняя коллекция уже не нужна.
Менеджер физически не успевает сходить в каждую карточку и проверить это всё. А вот агент успевает. Казалось, в этом и будет наше огромное стратегическое преимущество.
Но! Умным системам менеджеры не доверяют!
Многие пытаются решить проблему, внедряя дашборды (BI-системы) или настраивая ботов в сервисах аналитики. И то, и другое классно работает для малого бизнеса, но почти не работает на масштабе тысяч SKU.
BI-система говорит, что происходит, но не почему. Человеку всё равно нужно открыть график, пойти на площадку, найти эту карточку, прочитать отзывы, посмотреть цены конкурентов вокруг и проверить складские остатки. Качественное решение всё равно принимает человек, тратя на это своё время.
Есть софт, где качественные решения может принимать и BI, но он сделан вообще не для пользователей. Как я уже говорил, по многим товарам важнее общая стратегия, что с ними делать — продавать в убыток, чтобы набрать объём до конца месяца, повышать цену — держать и растягивать (потому что ключевой хит), может быть, пробовать разные цены, пока не найдётся правильная, устраивать сезонные акции, сливать стоки по прогнозу погоды и так далее.
Логика разработчиков пришла ещё, кажется, из Oracle Transportation Management — логистики для производств. Там-то производственник может отметить профиль каждого товара и показать, что с ним должно быть. Но наши менеджеры в одежде не могут! То есть они никогда не будут настраивать заранее каждый товар отдельно. Системы должны понять, что они с ними делают, и не спамить тем, что противоречит стратегии, даже если это на уровне той же юнит-экономики не очень логично.
Имеющиеся боты работают по жёстким правилам. Вы ставите условие: «Если доля рекламных расходов (ДРР) больше 15% — шли алерт». Бот тупо реагирует. Он не знает бизнес-контекста. Возможно, этот товар — новинка, и вы сознательно льёте на него трафик в минус, чтобы раскачать карточку.
Если вы настроите обычную систему мониторинга на 10 тысяч артикулов, на следующее утро ваши менеджеры получат простыню из тысяч уведомлений:
— Конкурент снизил цену на 50 рублей — алерт!
— Оставили отзыв на 4 звезды — алерт!
— Упали показы на 3% — алерт!
Бот будет долбить вас уведомлениями, пока вы его не отключите.
И они его и отключают нафиг, и собирают свой любимый Эксель, где никто не лезет с тупыми алертами. Это прям устоявшаяся практика рынка.
Мы думали, что агент будет делать так: построит причинно-следственную цепочку — сначала разберётся в стратегии («Это ликвидация, маржа не важна, главное — освободить склад до 1 сентября») и ставит диагнозы только тогда, когда реальность расходится с бизнес-целью, и уже дальше раскидает жёсткие пороги на инструменты типа ботов для цен. В целом мысль оказалась правильная, но тут есть ещё пара приколов.
Люди, которые сводят таблицы
У одного из наших клиентов 60–70% времени у всех категорийных менеджеров уходило на сведение данных по товарам! Логистика, производство и маркетинг вели свои таблицы. В общую картину всё это собиралось раз в две недели, и с той же частотой решали, что делать с каждым товаром.
Вот что рассказал человек из крупного бренда, у которого аналитика настроена и обновляется автоматически:
— У нас до 10 тысяч цветомоделей, это практически около 60 тысяч штрихкодов. Такие объёмы людям просто невозможно… Поэтому приходится выбирать какой-то ассортимент, который хотим продвигать, а остальное как-то там болтается, образно говоря, или живёт по общим правилам. Каждый артикул не отсматривается: на это просто нереально найти ресурс.
В другой компании, тоже с тысячами товаров, мы спросили, как у них устроена работа с воронкой.
— Еженедельно снимаем какой-то общий срез, даже не в гранулярности артикулов, а хотя бы категорий, и его всё равно сейчас храним в Excel.
— А…
— Нет-нет, просто человек. Ответственный аналитик. Он выгружает, грубо говоря, здоровенное полотно и схлопывает всё это до категорий.
Продажи у них при этом аккуратно лежат в хранилище. В Excel живёт именно воронка, то есть всё, что происходит с товаром до покупки. Ежедневно на неё не смотрит никто, и собеседник согласился, что это, возможно, узкое место.
У крупных брендов есть ещё одна сложность: цену на маркетплейсе нельзя сильно разводить с собственной розницей. Поэтому они часто тестируют все новые механики на неликвиде, что добавляет некоторый градус неадеквата.
— Мы в цене очень сильно ограничены. Ваш агент, скорее всего, предлагал бы в первую очередь поменять цены, а мы этого сделать не можем.

Первый раз мы облажались
Мы начали с API, как положено, и упёрлись в сверку. Клиент смотрит в кабинет, агент смотрит в API, и числа по одному товару у них расходятся. Доверие к рекомендациям в такой ситуации кончается прямо на демонстрации.
Мы перешли на отчёты из кабинета и написали браузерное расширение, которое их выгружает. На первых пилотах это выглядело так: каждое утро наш сотрудник входил в кабинеты под пользователем с правами только на чтение, которого клиент сам для нас завёл, и нажимал «Скачать отчёт». Классический meat proxy.
Площадки по-разному понимают, что такое товар. На Ozon каждый размер и цвет заведён отдельным товаром со своим SKU. На Wildberries товаром считается карточка, размеры живут внутри неё, а цвета обычно заводят отдельными карточками и объединяют. На одной из встреч нам пришлось отдельно договариваться, что считать единицей: модель, модель в цвете или размер.
— Я могу дать план продаж, даже приблизительный план по заказам, марже и выручке. Но не могу сказать, какой нужен объём показов. Я сейчас не понимаю, сколько у них там показов — это много или мало.
Тут же появилось одно из самых сильных решений: у агента есть память (контекст) и цикл обратной связи (Human-in-the-loop). Например, агент пишет: «Падают заказы, не хватает трафика, включите рекламу». Менеджер нажимает кнопку «Отклонить» и пишет комментарий: «Реклама выключена намеренно, ждём поставку на склад 14 июля». Словами. Или диктует, тоже словами. Можно матом. Агент запоминает этот контекст, привязывает его к конкретным SKU и замолкает. Потом напишет: «Поставка оприходована, теперь рекламу можно включать».
Практический результат внедрений — за первую неделю работы количество ложных тревог падает до уровня ниже 5%.

Ещё ошибка: мы просили клиента сделать нашу работу
Логика была такая: есть слой данных, есть слой агентов. Метрики считает клиент, агент их анализирует. Стратегию по товарам тоже описывает клиент, мы прислали два примера. Но пилот встал. Через несколько месяцев мы созвонились снова, и разговор начался так:
— Насколько я помню, ваш сервис ничего не рассчитывает, он может только забирать и анализировать. И для меня это чуть-чуть проблема, потому что рассчитать всё на своей стороне я не могу. Ваши примеры были классные, но когда я начала перекладывать их на своё, у меня шестерёночки немножечко заели.
Опытный человек знает, что делать с каждой группой товаров. Записать это правилами с числами оказалось отдельной работой, которую раньше никто не делал. В другой компании нам сказали то же самое: досконально по каждому артикулу стратегию никогда не писал, но понимание, конечно, есть.
К повторной встрече мы уже считали показатели сами, а вместо просьбы «опишите стратегию» сделали опросник на двадцать минут.
План показов придумывать не нужно, его можно получить из плана продаж обратным счётом.
На таком пересчёте часть планов оказывается невыполнимой физически. Товар продаётся на органике по редким запросам, и даже если собрать весь трафик по ним за отведённый срок, нужного числа продаж не выйдет. Отличная цитата: «Стратегию я написал — это идеальный вариант. С высокой вероятностью такого не случится».
То есть они ставят цели из мечтаний и заставляют менеджеров их делать. Зная, что хрен они их сделают. Какой чудесный рынок! Прямо как все остальные.
Итоги
Я шёл на этот рынок с мыслью, что агент будет принимать решения лучше людей. После пилотов думаю, что решения у опытного менеджера хорошие и стратегию агенту отдавать нельзя. Проблема в охвате: менеджер успевает смотреть ту часть ассортимента, которую выбрали продвигать, а остальное, как сказал один из собеседников, «как-то там болтается».
Энтерпрайз, из которого я пришёл, оказался устроен архитектурно лучше, чем я о нём думал: там никто не обещает, что данные лежат готовые. На маркетплейсах данные формально есть у всех, и почти никто не может ими воспользоваться.
Систему для одежды мы доделали до уровня практических внедрений, в ней работают 4 крупных производителя и поставщика (вместе — несколько процентов всего российского рынка). Продолжаем развивать, но я не мог не поделиться этой дичью. Приключение на 20 минут оказалось чуть большим.
Илья, основатель Manaraga.ai.