Елена Фатыхова, руководитель направления поддержки и сопровождения платформы прогнозирования X5 и номинант на премию Data Award 2023, – о запущенных продуктах на базе платформы прогнозирования, позволяющих бороться с нежелательными событиями в магазинах и оптимизировать расчет объема промо-товаров.
Читать...
В X5 запустили продукт «Управление товарной представленностью», в котором модели машинного обучения определяют нетипичное отсутствие продаж по товару в конкретном магазине и шлют уведомление персоналу. Это позволило повысить доступность товаров на полках и объемы продаж. Для детектирования нежелательных событий в магазинах, таких как отсутствие товара на полке, нарушение выкладки или отсутствие ценника, используется анализ чеков. В результате время обнаружения проблемы не превышает часа.
В рамках еще одной инициативы был осуществлен переход с инструмента расчета объема промо-товаров, реализованного в SAP BW, на собственное решение. При этом точность прогноза относительно старого решения в ряде случаев выросла до 40%, на AB-тестах подтвержден значительной рост товарооборота и маржи, а также сокращение распродаж после промо-акций.
О реализации этих проектов и их результатах рассказала Елена Фатыхова, руководитель направления поддержки и сопровождения платформы прогнозирования X5 и номинант на премию Data Award 2023.
— Какие задачи решает платформа прогнозирования X5, когда создана, на каких технологиях работает?
Платформа прогнозирования Х5 выросла из продукта «Спрос», команда которой была сформирована в 2019 году. В его рамках был реализован прогноз продаж для логистики и коммерции – нам важно знать, какое количество товара, в каком магазине и в какой день будет продано и обеспечить продажи поставками. Так мы понимаем, сколько товара закупать у поставщика под промо и регулярные продажи. По мере развития этого продукта и добавления новых продуктовых инициатив, стали развиваться общие компоненты, которые переиспользуются и помогают быстрее внедрять новые функции, а также запускать новые продукты. Так и появилась платформа прогнозирования. В стек использованных при ее создании технологий входят Hadoop, Airflow, Kubernetes и Spark.
— Какие направления работы стали наиболее актуальными в последнее время?
На текущий момент наиболее актуальным стало направление долгосрочного прогнозирования. Отдельно стоит сказать про развитие управления товарной представленностью: мы обнаруживаем нежелательные события – факты снижения доступности товара для покупателей, а также анализируем факторы, которые к этому привели.
Кроме того, в начале года мы столкнулись с объективной необходимостью ускоренного перехода на собственные решения. Так, например, в торговой сети «Пятерочка» мы за два месяца перешли с инструмента прогноза промо иностранного вендора на собственное платформенное решение на базе машинного обучения. Это, конечно, обеспечило не только поддержку критичных бизнес-процессов, но и повысило качество инструмента, в том числе точность прогнозов.
— С какими именно нежелательными событиями вы боретесь? Почему они происходят?
У нас есть модель, которая в режиме времени, близком к реальному, определяет, что продажи в магазине по конкретной позиции нетипично отсутствуют. Она отмечает высокую вероятность того, что продажа должна была случиться, однако этого не произошло. В этом случае мы говорим, что произошло какое-то событие, которое помешало покупателю приобрести товар: отсутствие товара на полке, нарушение выкладки, отсутствие ценника. Мы не знаем, что именно произошло, но знаем, что возник фактор снижения доступности товара для покупателя.
— Во сколько оцениваются потери от таких событий, наверняка вы это пытались в каком-то виде оценить?
Довольно сложно произвести такую оценку, ведь ее невозможно валидировать. Мы можем оценить с помощью продвинутых математических методов, какие бы продажи случились, если бы «нежелательные события» не произошли, но качество этой оценки невозможно замерить достоверно. Тем не менее, наши оценки доходят до 20% оборота по отдельным категориям товаров, и экспертная аналитика показывает, что на эти цифры можно ориентироваться, чтобы понимать потенциал создаваемых решений.
— Как боролись с этим до сих пор, что получалось хорошо, а что – не очень?
Есть два подхода к решению этой проблемы. Первый из них – жесткий контроль, но он требует большого человеческого ресурса. Второй вариант – автоматическая проверка данных и выставление заданий на этой базе.
В прошлом компания использовала довольно простые эвристики. Например, по наиболее продаваемому ассортименту у магазина должна быть хотя бы одна продажа в день. Если продажи по какой-то позиции не случалось, то персоналу было необходимо проверить, в чем причина, и устранить ее. Проблема заключается в том, что в этот список так или иначе могли попасть позиции, которые не продавались по другим причинам – например, именно в этом магазине на них просто нет спроса. Сотрудникам добавлялось работы по проверке, которая не всегда была оправданной. Поэтому нам было важно максимально точно идентифицировать случаи, где проблема действительно есть, и не нагружать магазин лишней работой, а наоборот – помогать более точечно находить проблемы и наращивать товарооборот.
— Почему это важно для бизнеса, помимо собственно минимизации упущенных продаж?
Здесь очень много факторов. Во-первых, это лояльность наших покупателей и привлекательность торговой сети. Если покупатели не находят то, зачем пришли, то могут и не вернуться. Для нас важно, чтобы гости находили на полке товар, который им нужен, и возвращались снова и снова.
Во-вторых, устранение таких проблем за счет цифровых решений напрямую влияет на рост продаж. Если с товаром на полке проблема – его не покупают.
В-третьих, если продажа не случилась, то мы не понимаем потенциал продаж и в будущем, исходя из заниженной оценки, прогнозируем более скромные показатели и везем меньше товара в магазин.
Наконец, такая система в конечном счете влияет на сокращение трудозатрат персонала. Сотрудникам не нужно проверять все полки и весь ассортимент, они точечно проходятся по нашим заданиям, а остальное время уделяют гостям, приемке и множеству других своих задач. Упростить работу сотрудников магазинов, помочь им достигать свои цели по показателям – для нас это очень важно.
— Какие варианты решения проблемы рассматривались? В чем их плюсы и минусы?
Решение на базе чековых данных, если честно, довольно очевидное. К тому же анализировать чековые данные нам все равно нужно, и восстанавливать продажи – тоже нужно, так что это естественное развитие системы прогнозирования для переиспользования наработок в других функциях. Мы в целом стараемся смотреть на вещи широко и думать, где еще могут быть полезны наши решения, ведь синергия между функциями и бизнесами – в приоритете для X5.
Альтернативный способ решения вопроса – видеоаналитика. Я бы не сказала, что он конкурирующий: если бы видеоаналитика была, мы бы могли использовать их разметку для обучения моделей. Да и в целом решения могли бы дополнять друг друга. Но проблема видеоаналитики в том, что у нас очень много магазинов, а оборудование для аналитики довольно дорогостоящее и оборудовать все магазины было бы просто нецелесообразно. К тому же у нас широкая ассортиментная матрица, и задача по распознаванию товаров на полке тоже становится довольно объемной. Поэтому использование подхода с чековыми данными стало рациональным решением проблемы с точки зрения бюджета, качества и сроков.
— Вероятно, аналитикой чеков в X5 занимаются уже давно. Какие задачи уже удавалось эффективно решить?
Данные по чекам используются в разных продуктах – например, в подразделении, занимающемся управлением потребительской ценностью (Customer Value Management, CVM), команды используют их для создания таргетированных маркетинговых акций.
— Чеки появляются, когда клиент уже покинул магазин. Как на основе чеков можно оперативно выявить проблему на полке?
Чек появляется, как только он был пробит. Да, могут быть некоторые временные задержки, но у нас чек оказывается не позднее чем через полчаса после того, как он был сформирован на кассе. Разумеется, мы уже не успеем предложить этому покупателю товар, который он не смог найти, но мы узнаем о проблеме и устраним ее для наших следующих гостей. Мы видим, как после наших сигналов продажи возобновляются, и это отличный эффект. Ведь лучше исправить обнаруженную проблему, чем продолжать упускать продажи.
— В чем суть проекта, что было сделано?
В течение дня мы каждый час формируем сигналы и отправляем их в магазины. Их получают директора и администраторы. На старте проекта для пилота мы разработали телеграм-бота, где зарегистрировался персонал. Сотрудники получали оповещения и шли их отрабатывать. На каждый сигнал по своему магазину они в ответ указывали нам, что действительно есть проблема и называли причину, либо отвечали, что все в порядке и система ошиблась. На основе этой обратной связи мы оценивали качество модели и работали над тем, чтобы повысить точность сигналов. Когда точность показалась достаточной, мы запустили AB-тест. В пилотной группе было 300 магазинов, которые получали сигналы, а в контрольной – 300 магазинов, которые сигналы не получали. По результатам теста мы произвели точечную оценку прироста товарооборота. Мы увидели хороший прирост при том, что уведомления рассылались ограниченно, а не по всем позициям, так как мы не могли перегружать сотрудников. Так мы убедились, что действительно приносим финансовый эффект, а не просто добавили работы сотрудникам.
Далее мы интегрировали нашу платформу со стандартными системами магазина и отказались от телеграм-бота. Теперь сотрудники отрабатывают наши задания в своих привычных инструментах. При этом если задание отработано в одном инструменте, то и в другом оно отмечается как сделанное. Нам очень важно, чтобы решением было удобно пользоваться.
— Что представляет собой созданное решение? Как выглядят его сигналы?
По сути само решение не имеет интерфейса, мы взаимодействуем с существующими в компании системами. Там в стандартной для сотрудников форме появляется задание от нашей системы наряду с другими. Указывается время срабатывания уведомления, наименование и код товара, также есть возможность ответить на сигнал: указать корректный он или нет, а если проблема подтверждается – выбрать причину.
— Сколько времени проходит между появлением проблемы и первыми сигналами о том, что «что-то не так»?
От получаса до часа, не более.
— А сколько времени детектирование проблем занимало раньше? То есть какого сокращения времени устранения проблем удалось достичь?
Это очень хороший вопрос. Конечно, сотрудник мог проходить между полками и заметить, что есть проблема нехватки товара. Но может быть и так, что сотрудник не увидел товар на складе и не выложил его. Или может быть, что в системе на остатке числится товар, а по факту его нет. В этом случае система пополнения думает, что продажи обеспечены, и товар в магазин не везут. Здесь до момента, пока проблему обнаружат, может проходить более суток.
— Как эти результаты оцениваются в деньгах, ведь невозможность взять с полки товар – это прямые потери магазина?
Мы называем это упущенными продажами. Результат мы оцениваем на базе АВ-теста, это самый достоверный способ сказать, что изменение продаж произошло именно за счет воздействия нашего инструмента, а не каких-то других факторов. Кроме того, мы оцениваем потенциал по упущенным продажам на базе восстановленных продаж, эта цифра получается из анализа динамики продаж в определенном временном периоде и на соседних объектах. Условно, если мы в среднем продаем 9 штук, а сегодня продали 2, то 7 штук мы восстановим. Логика модели сложнее и учитывает множество факторов, но в целом можно описать это так.
— Каковы направления развития этого проекта?
Мы продолжаем развивать модель в сторону повышения точности детектирования проблем, а также большой упор делаем на определение их причин. Ведь снижение доступности происходит не только из-за нарушения процессов в магазине. Сотрудник может повлиять на это, если товар числится в остатках. Ровно такая проверка стоит перед отправкой уведомления: нет смысла отдавать задание в магазин, если у них нет остатка.
Но в целом по цепочке может быть много причин: нарушение уровня сервиса поставщика, некорректные параметры в системе и т.п. Мы активно движемся в сторону их идентификации и развиваем инструменты для этих функций.
— В начале года SAP уведомил вас об отключении своего облака. Каков был масштаб проблем: насколько сильным был этот удар и каких систем коснулся?
Да, в марте нас предупредили о том, что мы больше не сможем пользоваться облаком SAP. Штаб импортозамещения нашей компании начал активно прорабатывать вопрос: каких процессов это касается, какие альтернативы есть, что необходимо предпринять. По большей части это коснулось отчетности, так как в SAP BW реализуется именно отчетность. Но также там был реализован функционал прогноза промо-продаж. К этому моменту у нас уже год функционировало собственное решение для торговой сети «Перекресток» на базе платформы прогнозирования и, конечно же, у нас были планы перевести на него и торговую сеть «Пятерочка». Но в «Пятерочке» существенно больше пользователей, и переход планировался в течение года. В новой ситуации не было сомнений, что переезжать нужно именно на наше решение: оно уже было готово, но пришлось ускориться.
— В чем была задача прежнего решения для расчета объема промо? Кто его использовал и какие результаты получал?
Прошлый «промо-калькулятор» имел очень простую логику. Пользователь самостоятельно выбирал аналогичный период промо-акции или товар-аналог и его период промо. Далее на базе прошлых продаж составлялся прогноз будущих продаж.
Инструмент использовали категорийные менеджеры, они получали прогноз продаж на выбранные магазины и позиции по дням. Никакие особенности SAP BW не использовались, просто исторически инструмент реализовали в этой системе, так как в BW содержались все нужные для расчетов данные. Это было задолго до того, как в компании появились другие технологии по работе с данными.
— Почему уже заранее началась разработка замещающего решения? Что не нравилось в старом, что хотелось улучшить?
Как я уже сказала, подходы к прогнозированию были довольно тривиальные и не учитывали ничего, кроме факта продаж в одной исторической точке. Новые подходы позволяли учитывать различные факторы: цену, сезон, расположение товара в каталоге и его предложение на кассе, фактор предпраздничных дней. Кроме того, мы учитываем динамику продаж и историю с 2018 года! Из этих данных можно получить очень много ценной информации для повышения точности прогноза.
— Что собой представляет новое решение, каков принцип его работы?
Новое решение представляет из себя сервис с пользовательским интерфейсом. Пользователь указывает, какие товары в каких магазинах и за какой период он хочет поставить в промо-акцию, а также его параметры – например, цену. Далее сервис готовит расчет по этим параметрам и возвращает пользователю прогнозы объемов продаж. Расчет реализуется с помощью модели машинного обучения, которая уже обучена на исторических данных.
— За счет чего решение дает лучшие результаты по сравнению с предыдущим?
Основной эффект мы получаем за счет более продвинутых математических подходов относительно прошлого решения.
— Какого эффекта удалось достичь в результате перехода?
Точность прогноза сильно выросла – до 40% по сравнению с предыдущим решением, подтвержден значительной рост товарооборота и маржи, сокращено количество распродаж после промо-акций. Что касается финансового эффекта, то мы не раскрываем конкретные цифры, но это значимые показатели.
— Разработанное решение дает синергию с прогнозом регулярных продаж. За счет чего она происходит?
Синергия заключается в том, что при прогнозировании регулярных продаж система знает, какие промо-акции и какие планы по продажам будут реализованы. Таким образом, мы учитываем каннибализацию промо-продажами регулярных позиций и привозим ровно столько товара, сколько нужно. Это приводит к снижению списаний и избыточных товарных запасов.
— Каковы планы по развитию этого решения и его расширению на другие области?
В данном решении мы еще не достигли предела по качеству и планируем развивать подходы к математическому моделированию для повышения эффективности. Кроме того, для нас актуально долгосрочное прогнозирование, и мы будем расширять горизонт прогноза с текущих 16 недель до горизонта планирования со стороны категорийных менеджеров и закупок. Также сервис для прогноза промо позволяет осуществлять анализ what-if – проводить оценку сценариев по прогнозу продаж в зависимости от различных параметров: позиции, цены, наличия рекламы на ТВ и другое. Данный инструмент планируется развивать и для других направлений – например, регулярных продаж и плана поставок.