Ozon

Закупать 50 тысяч товаров в день и не разориться

Как Ozon использует машинное обучение для управления закупками.

В интернет-магазине Ozon есть почти всё: колготки, детское питание, ноутбуки за 100 тысяч рублей и та штука для заварки чая, название которой никто не помнит. Это хранится, сортируется и формируется в заказы на fulfillment-фабриках компании.

Мы называем их фабриками потому, что у онлайн-продавцов — не склады, где товары лежат, а целые центры, где они маркируются, сортируются, упаковываются и откуда отправляются по всей стране — они скорее похожи на заводы, там работают тысячи человек. Товар на такой фабрике лежать не должен — чем дольше он там находится, тем дороже обходится компании.

Чтобы выяснить, сколько товаров закупать, Ozon использует машинное обучение. Как компания научила машину понимать потребности людей, рассказывает Александр Алексейцев, Lead data science.

Руководитель проекта по автоматизации закупок и прогнозированию продаж.

Александр Алексейцев

Отдел закупок

У нас 1,5 млн активных товарных наименований, и только за последний год эта цифра выросла минимум на 20%. В следующем году полноценно запустится маркетплейс, и ассортимент вырастет до десятков миллионов товаров. Растет и число поставщиков: их уже больше 2,5 тысяч — будет в разы больше.

При таком ассортименте, числе поставщиков и закупщиков ошибки неизбежны: кто-то привез больше, кто-то меньше, кто-то вообще не то. Ошибка с превышением закупки на 1% будет стоить компании 10 млн рублей. Да и сотрудники отдела закупок могут заниматься более интересной работой, чем бесконечное заполнение и отправка таблиц.

Отличие планирования закупок онлайн и оффлайн-магазинов — в ассортименте и уровне точности. Если в супермаркете у дома три вида молока и покупают по 70 пачек каждого в день — заказать на 30 упаковок больше не страшно. Но три вида молока в онлайн-магазине — это несерьезно, там его 140 наименовании (люди любят выбирать), и ежедневно заказывают по 2-3 упаковки каждого. Поэтому для нас важно, чтобы прогноз предсказывал спрос с точностью до единицы конкретного товара.

Fulfillment-фабрика Ozon

За годы существования Ozon мы собрали достаточно данных о том, что, когда и в каких количествах люди покупают. Раз есть данные, можно использовать machine learning. Но остается вопрос: какие факторы влияют на продажи, если учесть, что товаров у нас — 23 категории, от книжек до бананов и от духов до детских развивающих игрушек?

Выбор факторов

Предсказывать будущие продажи проще всего на основании прошлых, поэтому для начала мы учли в прогнозе средние продажи за последние два года и продажи за прошлую неделю. Но чтобы обеспечить нужную точность прогноза, этого недостаточно. Чтобы выяснить, почему, что и когда люди покупают, мы пошли к экспертам из отдела закупок. И получили целый список факторов, о существовании которых команда data science даже подозревать не могла.

Так, коллега, которая занимается закупками игрушек, спросила: «А ваш алгоритм свинок спрогнозирует, или лучше их руками закупать?». Оказалось, что следующий год — год свиньи, и эксперты ожидают рост продаж игрушечных свинок. Чтобы алгоритм узнал о том, что раз в 12 лет случаются всплески спроса на товары со словом «свинья» в описании, нужно минимум 24 года данных в истории.

В итоге у нас получилось 170 признаков. Наиболее значимыми оказались

  • Продажи товара за прошлые недели и его доступность на нашей площадке.
  • «Угловой коэффициент»: если построить график продаж за каждый день последней недели и провести прямую, по углу ее «наклона», можно определить тренд недели. Например, в понедельник конкретную модель наушников купили семь раз, а в воскресенье — два: график идёт вниз, и алгоритм понимает, что спрос постепенно снижается.
  • Отношение прошлой цены к будущей — товары со скидками покупают активнее.
  • Количество прямых конкурентов на сайте Ozon. Если эта ручка единственная в своей категории, продажи будут довольно стационарными.
  • Габариты товара: почему-то у длинных и узких предметов — зонтов или удочек, например — продажи достаточно стабильные. Мы пока не знаем, как это объяснить, коллеги из закупок — тоже.
  • Номер дня в году: знание о том, что скоро Новый год, первые морозы или начало учебного года, помогает предсказывать сезонные повышения спроса.

Процесс обучения

У нас есть данные о том, какие товары 1,2 млн. пользователей каждый день рассматривают на сайте, добавляют в корзину и заказывают.

Самое сложное — эти данные очистить, чтобы машина обнаружила в них только те закономерности, которые существуют в реальности, и могла построить на их основе правильный и точный прогноз.

Если вы собираете данные много лет, методика их сбора и обработки могла один или несколько раз измениться — а данные продолжили записывать в тот же столбец. Или в системе мог произойти сбой — в базе остались нули, а когда это произошло, никто не записал. Поэтому мы отбрасывали все данные, которые выглядели подозрительно, стараясь при этом сохранить полноту выборки.

Мы разбили все товары на 13 типов — по аналогии с каталогом на сайте, и для каждого типа обучили 12 моделей для прогнозов разной глубины — от 5 до 16 дней.

Обучение заняло пять суток — все это время команда data science работала 24/7. Мы так увлеклись процессом, что вообще не думали о сне. В результате получили прогноз, способный предсказывать спрос на каждый товар с точностью до единицы.

Бизнес

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

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

Кстати, если в модели «заморозить» 169 признаков из 170, можно наблюдать, как каждый отдельный признак влияет на прогноз. Например, какая скидка нужна, чтобы человек купил санки в июле.

Как видно на графике, сани все же выгоднее продавать зимой.

Сейчас мы делаем закупки по прогнозу на базе машинного обучения, и он точнее, чем любой прогноз, сделанный человеком.

Кроме того, благодаря новому алгоритму мы смогли перейти от хранения огромного запаса товаров на складе к цикличным закупкам, когда на складе только то количество товара, которое понадобится людям до следующей по графику поставки.

Теперь нам предстоит решить, как рассказать алгоритму о расширении ассортимента и научить строить прогнозы для новых категорий, о которых пока нет данных.

К тому же, есть мода — и она максимально иррациональна. Как можно было предсказать, что спиннер будет так продаваться? Как прогнозировать продажи новой книги Дэна Брауна, если один его роман раскупают, а другой нет? Мы над этим работаем — это вопрос времени.

Что поделать

  1. Если сейчас закупки вашего бизнеса укладываются в Excel-табличку, а каждого из поставщиков вы знаете лично, можно обойтись своими руками. Но раз уж вы планируете расти, начинайте собирать данные. Иначе, когда они вам действительно понадобятся, будет поздно. И фиксируйте методику сбора — команда data science скажет вам спасибо. Если что-то упало, тоже запишите.
  2. Чтобы научить машину, сперва сходите к экспертам. Они про свинок знают, а алгоритм — нет.
  3. Алгоритм будет решать ту задачу, которую вы ему поставите. Прежде чем приступать к разработке, выберите метрику эффективности, исходя из задачи бизнеса. Вам нужна точность до единицы? Насколько длительным должен быть прогноз? Лучше перезакупить или недозакупить?
  4. Не забывайте про погрешности реального мира — машину нужно научить их учитывать, иначе ваш прогноз будет работать только для кубических поставщиков в вакууме. Вряд ли вы с такими работаете.
{ "author_name": "Ozon", "author_type": "editor", "tags": [], "comments": 75, "likes": 39, "favorites": 34, "is_advertisement": false, "subsite_label": "ozon", "id": 52303, "is_wide": true, "is_ugc": false, "date": "Thu, 06 Dec 2018 10:25:25 +0300", "is_special": false }
0
75 комментариев
Популярные
По порядку
Написать комментарий...

"Как видно на графике, сани все же выгоднее продавать зимой."

12

Угу, единственно, что график ничего о выгоде сказать не может)))
Если судить по графику "в лоб", то выгоднее продавать сани летом - при скидке 30% летом рост продаж 160%, а зимой только 27%. Вот если добавить "базу" в штуках - тогда да. Ну или маржу ту же посмотреть.

Вроде, статья дельная - но не без ляпов. В любом случае - спасибо)

1

Как видно на графике, сани все же выгоднее продавать зимой.

Новый год, первые морозы или начало учебного года, помогает предсказывать сезонные повышения спроса

Ничоси! Да вы гиганты мысли! Долго на это нейронку тренировали?

Как можно было предсказать, что спиннер будет так продаваться?

Никак. Если кто-то это сможет сделать, то такому алгоритму можно найти более выгодное применение.

Как прогнозировать продажи новой книги Дэна Брауна, если один его роман раскупают, а другой нет? Мы над этим работаем — это вопрос времени.

Для втирания инвесторам, прокатит. ред.

0

Потом-то, всегда можно сказать: "Ну не шмогла я, не шмогла!" )

0

Это, конечно, было бы так просто и очевидно, если бы факторов было 1-2-5, а не 170. Например, обычно пальто и куртки покупают в октябре, но в этом году осень была аномально теплой, и люди заинтересовались теплой одеждой в ноябре, как раз благодаря алгоритму нам не пришлось месяц хранить на складе целый гардероб. А незамерзайку каждый год массово (да еще с запасом на всю зиму) закупают ровно в день, когда ударят первые морозы, и хотят получить как можно скорее. Теперь давайте разложим это на все регионы и климатические зоны — и начнем строить прогнозы.

12

Лаконичный, очень доступный материал про маш.обучение в закупках!
Класс, спасибо!

7

Интересно, как это работает с новыми моделями гаджетов: ведь данных о продажах нового айфона нет до тех пор, пока он не выйдет. Насколько релевантно использовать данные о покупках предыдущих моделей в таком случае? Учитывает ли алгоритм какое-то общественное мнение, понимает ли, что, допустим, новый iPad будет продаваться хуже, чем предыдущие?

5

Прогнозирование продаж новинок вообще очень сложная задача, которую наша команда data science пока решает. Но уже сейчас прогноз учитывает продажи товаров, похожих по неким item-based фичам (в случае с айфоном, это, очевидно, должен быть предыдущий айфон). И продажи прошлой модели в первые дни — один из предикторов для свежего айфона.

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

5

OZON=AMAZON. Верным курсом движетесь. Молодцы!

0

возможно считают ожидаемое по рекламе, тестам и похожим странам.

0

Классная статья, спасибо! Я может пропустила в тексте, а сколько по времени занял сбор данных и настройка для обучения? А вообще, я могу представить насколько много работы было сделано, мы в компании начали уходить от Excel и сейчас практически вручную собираем данные за последние 3 года

2

Тоже думал грааль вычитать, а получилось так:

Странно такое читать: "Например, в понедельник конкретную модель наушников купили семь раз, а в воскресенье — два: график идёт вниз, и алгоритм понимает, что спрос постепенно снижается."
Похоже, текст не lead data science писал, иначе бы он сказал, что спрос в понедельник и в воскресенье отличается кардинально и алгоритм учитывает это.

3

Сбор данных — самая большая боль всегда. Данные за два года ребята собирали в разных отделах две недели, почти столько же ушло на их очистку. Больше технических подробностей есть у нас на Хабре: https://habr.com/company/ozontech/blog/431950/

1

Выше я процитировал высказывание из статьи, которое противоречит базовой логике прогнозирования. Смысл читать дальше при таком изложении не совсем очевиден.

1

А я не понял про удочки и зонты... что значит "стабильные продажи" для этих явно сезонных товаров? А как же лопаты грабли ? )) но в целом масштаб проделанной работы вызывает уважение, ребята молодцы!

1

конечно не он потому что тут было бы меньше пафоса

0

Грааль ищем)

1

так его не найдем еще лет 500

0

Для новых товаров его не будет.
Особенно в фешн-индустрии, где коллекции постоянно меняются.
Это вам не продажи батонов в булочной прогнозировать)

0

Ну не все же упирается в фешен. Есть еще промышленные товары (к примеру)

0

Я о своем, наболевшем.

1

А ты прогнозируешь только фешен?

0

Неудивительно, что отдав в руки машин склады и управление - логистика OZON.ru даёт уже 2й крупный сбой в работе. За последние 48 часов, мои заказы меняли позиции по дате/времени доставки дважды без моего согласия. А call-центр перегружен и дозвониться крайне сложно (~более 10мин на линии и/или сброс линии). Красиво!

1

Пытались работать с Окурьером. Убежали от неразберихи подальше.

0

Окурьер это когда после нескольких дней ожидания и недозвонов на линию, ты видишь курьера и восклицаешь "О! Курьер!"

4

Не совсем, теперь ocourier.ru это bad gateway в буквальном смысле)

0

Анатоликс же полностью движок переписывает.
Если бы все делали люди, то ошибок было бы еще больше.

1

в виду Нового года на это можно закрыть глаза, говорю как владелец небольшого интернет-магазина, который ахуевает

1

Заголовок желтый как моча. "Закупать 50 тысяч товаров в день и не разориться" - реально? Про фирму, которая за 19 лет существования ни одного месяца в плюс не отработала?

Правильный заг "Сколько и кому нужно откатывать с инвестиций чтобы не сесть".

0

Уоррен, вы?

3

Интересная тема. Отдел закупа сократили? Скажите, где про модель можно прочитать и те "170 признаков" на которые опирается ML Озона? Про алгоритм рассказали как если он не сложнее excel таблички. Как считали по средним значениям с сезонными коэффициэнтами и данными поставщиков, так и осталось.
Ждем когда машина будет делать прогноз опираясь на тренды, анализировать меняющиеся предпочтения покупателей, следить за обновлениями, а не рисовать цифру на основе продаж позапрошлого года.

1

Про модель можно на Хабре: https://habr.com/company/ozontech/blog/431950/
Там как раз про все сложности алгоритма и реальности, правда, 170 признаков перечислять не стали, но рассказали о самых значимых и дополнительных.
Машина уже знает про тренды и обновления, но вот без данных о продажах за пару лет алгоритмы машинного обучения не обучить.

2

Даже если рисовать картину на основе позапрошлого года, это будет верно по отношению к 90% товаров.

0

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

В итоге выбрала дату сильно позже (выходные) тех, которые он предлагал. И он все равно не может оба заказа привести в один день! И время можно выбрать только для первого, а второй он сам как хочет, так и сует. Даже дату поменять нельзя.

Более того, он привозит во второй день заказ самый маленький, который уже упаковали и отправили, а большой еще упаковывается, но его должны по дате доставить раньше.

Что за ебланы это писали. Они боятся, что курьер большую коробку не дотащит или что?

0

Поскольку товаров на сайте очень много, и они требуют разных условий хранения, один заказ может собираться в разных fulfillment-центрах. Чтобы не тратить время на сбор нескольких коробок в одну, заказ сразу отправляется к вам и иногда действительно дробится на несколько. Но вот размер и вес коробки при этом никакого значения не имеют.

3

Вот только с доставкой беда. Из 10 доставок вовремя привозят одну.

1

Странно слышать от Data Scientist такие фразы как "в понедельник конкретную модель наушников купили семь раз, а в воскресенье — два: график идёт вниз, и алгоритм понимает, что спрос постепенно снижается", или 5 дней работали в режиме 24/7.

1

Круто и полезно.
Хотелось бы в следующий раз увидеть гайд, как звонить в Озон и не висеть на линии по 30 минут, слушая музычку.

1

Как решается вопрос с промо?

1

Тем временем, озон спокойно может позволить себе работать в минус по многим позициям, убивая мелкий и средний бизнес у которого нет многомилионных инвестиций.

0

Можно смело заменить "озон" на любой крупный бизнес - от Пятерочки до Амазона и смысл предложения не изменится. Что действительно важно - на маркетплейсе ща можно зарегаться как продавец (и это можно сделать без инвестиций вообще)

1

Фактически нельзя, они сами об этом говорят, в следующем году можно будет, а сейчас можно только свои реквизиты им отправить.

0

ну камон. Если мы про Озон - то лендос есть, и там не "оставить реквизиты"; там всё ок. Да, рега не мгновенная, но продавцы точно есть

0

Кстати, глупо думать, что вы сможете в маркетплейсе продавать товары, которые продавать выгодно. То, что продавать выгодно, магазин закупит сам и вас не пустит, если вы не производитель опять же, или не правообладатель на территории РФ на худой конец. Удел продавцов на таких маркетплейсах - галимый товар, который сам магазин никогда бы не закупил + копеечки продаж.

3

Не понимаю почему тогда госторговля-то не цветёт? Не расскажете?

1

При чем тут госторговля? Производитель - такой же бизнесмен, если маржа снижается, а автоматизация продаж растет, то зачем посредники?

0

Еще раз подумайте. Контрольный вопрос - почему до сих пор живы бутики? Сомнительные магазины у дома? Когда все можно давно купить в Ашане?

2

Физический магазин и ИМ - разные вещи. Много знаете онлайн бутиков?
Ну ок, есть монобрендовые магазины, но монобренд выгоднее держать кому?

0

Я же написал, реквизиты отправить можно, сам пробовал, через пару недель перезвонили и спросили систему налогообложения и опять тишина, это при том, что я импортер.
http://avtogsm.ru/avtogsm-b-.html

0

Может им запчасти просто не очень нужны?

1

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

0

Главный ответ - потому что там всем на тебя посрать. Ничего личного, я полгода на wb заводил товар.

2

Это лирика, главное, что маркетплейса фактически нет.

0

Пока правда медленно. У нас только за последнюю неделю больше 500 заявок от поставщиков, поэтому зарегистрироваться и начать продавать через три часа пока не получится. Но это особенность сезона, дальше будет быстрее.

0

И через 3 недели тоже, и через 3 мес.
Вообще я к вам заявки отправляю последние несколько лет, тишина.

2

Какая разница, не озон, так wb, маркетплейсы будут просаживать деньги инвесторов, пока не останется 1-2 стабильных игрока.

0

Инвесторы будут пытаться и пытаться, руками Озона или WB или Берушными или чьими-то еще. Пока не построят. А про риски "просадить" оставьте их анализ тем, кто в этом хороо понимает. No venture no gain

0

А я и не спорю, я ничего не понимаю в больших инвестициях. Я рассуждаю лишь о том, что нынешний капитализм в рознице - это не "продать чтобы заработать", а "продать чтобы вырасти" и в этой мясорубке не все выживут.

1

А. Ок. Обьясню тогда: торговлю Айфонами внутри бульварного кольца - селлеры себе не заберут. А вот вокруг памятника Ленину в Урюпинске - заберут. И торговлю мариноваными арбузами в Астрахани и корзинами из бересты в Чебоксарах и тд итп - прочий длинный хвост по ассортименту или логистике.

0

Ну дык, заберут всё, что продавать можно много и просто на потоке, а оставят то, что продавать может только бабка у подъезда с соответствующими статьями расхода и прибылью 3 копейки.

0

Если ты производитель - возможно. Но бывает и производители становятся заложниками маркетплейсов и хитрожопых перекупщиков, которые разместили товар раньше них.

0

Тото я смотрю, что на Алибабе одни производители. Откуда эта советская вера в "торговлю от производителя"?

0

Эм, а разве на алибабе (оптовый магаз) не одни производители? )

0

Матрица какая-то

0

Первая

1

А кто-то может посоветовать сервис для анализа данных и выдачи товаров на основе этих рекомендаций для битрикса?)))

0

хотите стабильности - продавайте длинные и узкие предметы.

0

Резиновые члены всегда в ходу

0

Озон отличная площадка, за нее не стыдно.

0

зачем свиней прогнозировать, если есть статистика по символу года? неудачный пример

0

Интересно, как "волатильность" продаж зонтов и удочек (из статьи на хабре) превратилась в "стабильность".

0

🔮

0

Интересная статья! Спасибо!

0

Мы поставщики книг в Озоне. Каждую неделю они придумывают что-то новое. И чаще всего это вредит нашим (а значит, и Озоновским) продажам. Остановить или уменьшить закупки накануне пика продаж - для них норма. Иногда заказывают дед стоки в немереном количестве, а иногда хиты лежат месяцами. Часто их гениальная система просто зависает. За последние два года продажи по книгам как минимум не растут, у многих - упали. Поэтому, вся эта статья с моделями - оторванная от реальной жизни теория.

0

Спасибо, оч интересная статья! А слышал кто-нибудь про такое решение по автоматизации закупок? Хочу попробовать, нужны отзывы ред.

0
Читать все 75 комментариев
Как не попасть в карьерную ловушку тимлида: личный опыт

Кажется, что тимлиду просто некуда расти: дальше надо либо идти в менеджмент, либо наоборот, становиться узконаправленным разработчиком. По просьбе «Лаборатории Касперского» Евгений Мацюк, который прошел в компании неординарный путь, рассказал о своих карьерных развилках во время и после тимлидства, а также поделился опытом горизонтального роста.

Яндекс Курьеры не могут найти адрес

Заказываем продукты в Яндекс Лавке, и каждый раз ПОЛЧАСА объясняем курьеру, который ОЧЕНЬ плохо понимает русский язык (таких сейчас 95%) и НЕ читает комментарии к заказу, как добраться до квартиры!!!

Строит магазины без окон, чтобы люди теряли счёт времени и думали о покупках: как IKEA заставляет тратить больше Статьи редакции

Ежегодные продажи компании достигают $50 млрд, большая часть которых приходится на незапланированные покупки посетителей, рассказал журналист The Hustle Трунг Фан.

Покупательница магазина Campaignasia
ПСБ запустил личный кабинет для предпринимателей. Там можно следить онлайн за каждым своим терминалом

Сервис предоставляется бесплатно.

Geforce Now. Очереди более 30 минут, лаги и тормоза на платном тарифе

GeForce Now Russia не выдерживает никакой критики как платный сервис. При стоимости 999р/месяц вы получаете очереди из таких же "счастливчиков", постоянные лаги видео и аудиопотоков и неадекватно высокую нагрузку десктопного приложения при запуске игры.

Как re-store обманул меня с предзаказом Apple Watch 7

Иногда, желание приобрести новинку в подарок чуть выше здравого смысла, вот и я 8 октября совершил предзаказ на Apple Watch 7 в re-store.

«За гранью ума»: сооснователь YC Пол Грэм о том, почему одного интеллекта недостаточно, чтобы создать что-то новое Статьи редакции

Человеку с детства навязывают, что главное в жизни — быть умным, вот только умные люди далеко не всегда добиваются больших успехов. Об этом программист рассуждает в своём новом эссе.

Пол Грэм Medium
Как OTUS стал платформой для самореализации. История преподавателя

Наш преподаватель, специалист по Data Science, решил поделиться своей историей преподавания. Он рассказал, как пришел в эту сферу, с какими трудностями столкнулся на пути к преподаванию и что ему помогает. А еще поделился советами, как поддерживать внимание студентов и сделать занятия полезными и увлекательными.

Яндекс.Еда повышенная стоимость доставки и отказ возврата при неполной доставке

Сегодня заказал в в Яндекс.Еде из Макдоналдса:

Cloud CDN: что это такое, как устроено и кому нужно. Разбираем на примере бургеров

Cloud CDN — это сеть быстрой доставки статического контента в формате услуги облачного провайдера. Объяснить, как работает технология, проще всего на примере — сравнить Cloud CDN с популярным продуктом, который выглядит плюс-минус одинаково вне зависимости от того, заказали вы его в Москве, Питере или Нью-Йорке. Знакомьтесь: классический бургер.…

7 причин начать пользоваться Bright Data Proxy Manager:
null