Х5 Retail Group: машинное обучение в практике бизнеса
В российской мультиформатной розничной компании Х5 Retail Group не занимаются развитием технологий искусственного интеллекта, а решают с их помощью конкретные прикладные задачи. Как именно? Об этом Валерий Бабушкин, начальник отдела инновационной аналитики и моделирования Х5 Retail Group, консультант в компании "Яндекс", а также приглашенный преподаватель в НИУ ВШЭ, расскажет на международной практической конференции "Технологии искусственного интеллекта 2019", которую издательство "Открытые системы" проведет 22 мая.
В бизнесе с огромными оборотами всегда крайне остро стоят вопросы оптимизации. Благодаря эффективной обработке накопленных данных о поведении покупателей и их предпочтениях розничные торговые сети вполне способны получить конкурентные преимущества при минимальных затратах. За счет таргетированных маркетинговых кампаний, оптимального размещения магазинов, выбора конкретного ассортимента с точным прогнозом срока выхода торговой точки на окупаемость, а также выявления "больных" магазинов можно существенно повысить прибыльность. А "умные" программы повышения лояльности клиентов, исключающие заведомо ненужные предложения или взаимодействие с незаинтересованной аудиторией, влияют на рост товарооборота и снижение потерь.
В Х5 Retail применяют аплифт-моделирование - прогнозный метод оценки эффекта воздействия промо-акций на потребителя, снижения оттока клиентов и определения их ценовой эластичности. Методам построения таких моделей в докладе Валерия Бабушкина, занимающего достойное место в мировом рейтинге специалистов по машинному обучению и анализу данных на платформе Kaggle, будет уделено особое внимание.
Подробнее о применении решений на базе искусственного интеллекта в ретейле можно будет узнать на практической конференции "Технологии искусственного интеллекта", которую издательство "Открытые системы" проведет 22 мая. |
На прошлогодней конференции "Технологии машинного обучения 2018" Бабушкин рассказал о том, какие прикладные задачи крупные торговые сети научились решать с помощью машинного обучения. Подробнее об этом можно прочитать в интервью порталу CIO.ru, отрывок из которого приведен ниже.
- Что заставляет ретейлеров браться за технологии машинного обучения?
Когда есть огромный бизнес с оборотом 1,6 трлн руб. (оценка на 2018 год), свыше 250 тыс. сотрудников, более 13 тыс. магазинов (на 30 июня 2018 года. - Прим. ред.), очень остро встает вопрос оптимизации. Даже 0,5% от такого оборота превращается в дополнительные 8 млрд руб. в год. В следующем году вырастаем еще на 20%, и тогда добавка составит 10 млрд руб. А если можно оптимизировать 1%? А 2%?
Машинное обучение непосредственно решает задачи оптимизации. Например, мы ищем минимум функции потерь. Возможно, это звучит немного пугающе, но фактически речь идет о простой аппроксимации какой-то функции.
Математический аппарат машинного обучения не нов, линейной регрессии более ста лет, а первая статья о нейронных сетях и персептроне написана Фрэнком Розенблаттом еще в 1960-х годах.
- Но обучать нейросети на бизнес-данных начали не так уж давно...
Нейросети - одна из областей машинного обучения. С их помощью решают прикладные задачи, связанные с видео, аудио и текстами. Нейросети работают лучше, чем классические методы, а что касается качества задач видео и аудио - на порядок лучше, чем все, что было до них.
Это уже не первая "весна" нейронных сетей, а третья. Предыдущий расцвет был в 1980-х годах, а первый - в 1960-х, когда многослойный персептрон должен был находить на фотографиях грузовики и танки. С чем связан их ренессанс? Наконец появились достаточные мощности, чтобы их использовать, и достаточное количество размеченных данных. Но энтузиасты занимались нейросетями и раньше. Сегодня же это стало более распространено благодаря тому, что в глобальном мире новую информацию можно получать практически мгновенно.
- Но в первую и вторую волну это были всего лишь интересные эксперименты, а теперь нейросети обещает стать базовой технологией для любого бизнеса.
Да, это стало доступно, потому что сейчас мощный компьютер - это смешные деньги для крупной компании.
- Какие задачи торговые сети уже решают с помощью искусственного интеллекта и почему именно эти задачи?
"Искусственный интеллект" - термин модный, но некорректный. Нет никакого искусственного интеллекта, если, конечно, не считать таковым выполнение какой-то задачи в автоматическом режиме. Есть некие математические алгоритмы решения строго определенных прикладных задач - если задать условия и предоставить данные, на которых они смогут "учиться". Да, применяя заранее заданные правила, они сами обнаруживают закономерности и, условно, их "выучивают". Но нет искусственного интеллекта, который самообучается, это очень большое преувеличение.
- Так какие именно задачи решаете вы?
Мы должны предсказывать на месяц вперед, какой будет спрос на каждый из 8 тыс. товаров в каждом из 13 тыс. магазинов - 104 млн прогнозов. Нам нужно понять, как правильно проводить промоакции, как товары влияют друг на друга, когда продажи одного товара растут в ущерб продажам другого, похожего, и т. д.
Еще одна задача - оптимизация ремонтов. В каждом магазине стоят холодильники с датчиками. Холодильники обычно не ломаются внезапно, процесс деградации можно отследить и построить модель, которая на основании поступающих с датчиков данных будет подсказывать, какой холодильник вскоре выйдет из строя. Это позволит отремонтировать его заранее и заодно выбрать оптимальный маршрут для ремонтной бригады.
Следующая задача связана с размещением товаров на полке. В магазин привозят не только те 50 пачек сока, которые помещаются на полку, а больше. Когда товар на полке заканчивается, клиент проходит мимо, хотя на складе товар есть. Но можно поставить камеру, которая будет определять количество товара на полке и, когда его остается мало, сигнализировать о необходимости пополнить полку. Это задача компьютерного зрения, и в решении используются уже упомянутые нейросети.
Кроме того, планируем решать классическую задачу HR-аналитики, которая стоит перед всеми компаниями, где много людей и большая текучка. Когда человек увольняется - это всегда расходы, и чем больше компания, тем больше затрат. Поэтому все стремятся снизить текучку. Если человек увольняется, значит, его что-то не устраивает. Если он увольняется спустя два месяца после своего прихода в компанию, значит, при приеме где-то была совершена ошибка. Процесс подбора под конкретные задачи людей, которым долго будет комфортно работать в компании, тоже можно оптимизировать. Эта задача стоит и в других странах, и в других отраслях, и ее можно довольно успешно решать с помощью машинного обучения, помогая миллионам людей найти то место, где им будет комфортно и приятно работать длительное время.
- Под каждую из задач разрабатывается отдельное ИТ-решение или они строятся на одной платформе?
Обычно по методологии Scrum создается кросс-функциональная команда, куда входят разработчики, аналитики, исследователи данных, инженеры по данным, инженеры машинного обучения под руководством "владельца продукта", отвечающего за конечный продукт. Они работают совместно, используя различные языки программирования.
Как создаваемый ими продукт реализуется технологически, зависит от конкретной бизнес-задачи. И задача, где надо получить результат через 8 миллисекунд, очень сильно отличается от задачи, где результат можно получить через две недели. Скажем, предсказывая, каким будет розничный оборот магазина через год, чтобы понимать, стоит ли открывать магазин в конкретной точке или нет, мы можем выдать результат через неделю, но результат нужен максимально точный. А если разрабатывается рекомендательная система для магазина "Перекресток Онлайн", то результат нужен очень быстро, потому что когда человек положил товар в корзину, ему тотчас же надо рекомендовать. Это абсолютно разные платформы и разные реализации.
Поэтому нет единой платформы, но есть единый стек ИТ-инструментов, и на разных частях этого стека строятся конкретные продукты. С точки зрения оргструктуры функция разработки ИТ-продуктов для работы с данными в X5 отдана отдельной дирекции, которая принимает "заказы" от других подразделений.
- Достаточно ли уже накопленного опыта в области машинного обучения для результативного решения перечисленных задач? Или это пока все же экспериментальная площадка?
Все перечисленное активно работает. Проект с компьютерным зрением - это, скорее, "пилот". Сделать что-то в одном магазине несложно, сложно масштабировать это на 13 тыс. магазинов, это уже инженерная задача. Пока компьютерное зрение охватывает 20-30 магазинов, но, думаю, вскоре станет реальностью для всей сети.
Ну а такие задачи, как предсказание спроса, уже решаются в производственном режиме.
- И можно уже говорить о результатах?
Результат - то, что X5 растет на 20% в год. Влияние отдельных шагов очень сложно вычленить, все вносит свой вклад. Но мы проводили пилотный проект по моделям лояльности и зафиксировали увеличение трафика на 4%. Это фантастически много!
- Что мешает развивать технологии машинного обучения в ретейле?
Мы занимаемся все-таки не развитием технологий, мы не исследователи. Мы решаем прикладные задачи, характерные для нашей отрасли.
Когда есть много данных из разных источников, возникает проблема интеграции и качества данных. Это самая большая проблема. Особенно если компания проходила через слияния или приобретала другие компании, у которых были свои системы хранения и свои стандарты.
- И как вы ее решаете?
Есть специальные службы. Например, отдел ЕTL (extraction transformation loading) занимается извлечением, трансформацией и загрузкой данных, управление мастер-данных чистит данные, приводит их в божеский вид и тоже загружает. Исходные данные могут быть повреждены, загрязнены, они могут оцифровываться или вноситься вручную с ошибками.
Только в нашей дирекции без малого сорок специалистов пишут скрипты для очистки данных. Это постоянный и трудоемкий процесс, тяжелая работа, она, безусловно, удлиняет сроки реализации любых проектов. Но если у вас нет хороших чистых данных, на этом можно завершать работу: как говорится, "мусор на входе - мусор на выходе".
Какую компанию ни возьми, 80% времени исследователь данных тратит на работу с данными, а не с алгоритмами. И на вопрос "Как улучшить алгоритм?" стандартный ответ такой: "Нужно больше данных".