Команда сотрудников Lokad, а именно Рафаэль де Резенде (лидер), Игнасио Марín Эироа, Катарина Эгерт и Гильерме Томпсон 1, заняла 6-е место в соревновании по прогнозированию M5 среди 909 команд. Это впечатляющее достижение, и я горжусь тем, чего достигла эта команда. Создание культуры, ориентированной на количественные результаты, было давней целью Lokad, и результаты этого соревнования демонстрируют, насколько далеко мы продвинулись в этом направлении.

Lokad занял 6-е место среди 909 команд в соревновании по прогнозированию M5

Насколько мне известно, это первый случай, когда публичное соревнование по прогнозированию спроса forecasting competition включало квантильные прогнозы, что напрямую связано с работой Lokad еще в 2012 году. Хотя академическому сообществу потребовалось 8 лет, чтобы догнать квантильные методы, это достижение не теряет своей значимости. Чисто “классические” прогнозы по своей природе практически не работают в цепочке поставок. Квантильные прогнозы не являются финальной целью, но, тем не менее, работают там, где страховые запасы не помогают. Я считаю это важным шагом в правильном направлении.

Что касается результатов, разрыв между участниками, занявшими места с 1 по 6, минимален. Команде, занявшей первое место2, удалось опередить соперников на несколько процентов. Однако мой собственный опыт показывает, что даже для сверхбольшой розничной сети, такой как Walmart, снижение pinball потерь на 5% – метрики, используемой для оценки точности квантильных прогнозов – было бы практически незаметно в пересчете на доллары ошибки. Действительно, при таком уровне точности модели прогнозирования по сути являются эквивалентными, а доминирующие факторы (не учтенные в соревновании M5) – такие как способность справляться с дефицитом товаров, изменчивость ассортимента, каннибализация, непредсказуемые сроки поставки и т.д. – оказывают гораздо большее влияние, чем разница в несколько процентов потерь по метрике pinball.

Что касается модели, команда Lokad использовала параметрическую модель низкой размерности, которая включала соответствующие цикличности (день недели, день месяца, месяц года) на уровне магазина/категории, базовую модель, устраняющую цикличность и шум, связанный с отсутствием товаров, а также двухпараметрическую модель в пространстве состояний для превращения базовой модели в ежедневные траектории (с мультипликативным вкладом цикличностей). Также, как и команда-победитель, Lokad не использовала данные о ценах и никакие внешние данные. Самой сложной технической задачей для команды Lokad оказалось прогнозирование отсутствия товаров: речь шла о прогнозировании продаж, а не спроса. Это будет подробно обсуждаться далее, когда мы вернемся к тонкостям данной модели.

В целом, если хорошо подобранная параметрическая модель низкой размерности, подобная той, что использовала Lokad в соревновании M5, может достигать точности, отличающейся от передового метода (а именно, градиентного бустинга с расширенным диапазоном) всего на несколько процентов, то в производственных условиях эта модель безусловно будет работать гораздо стабильнее по сравнению с непараметрическими или гиперпараметрическими моделями и будет значительно проще в структурной настройке 3, когда это потребуется.

Кроме того, вычислительная производительность модели часто становится настоящей операционной проблемой. Команда, занявшая первое место, сообщила, что выполнение их прогнозирования занимало «пару часов» (sic) на рабочей станции с 10+10 CPU. Это может показаться быстрым, но следует помнить, что набор данных M5 состоял всего из 30 тыс. SKU, что очень мало по сравнению с количеством SKU в большинстве розничных сетей (несколько категорий в нескольких магазинах). Я предполагаю, что Walmart управляет более чем 100 млн. SKU во всем мире, так что речь идет о десятках тысяч вычислительных часов на каждый прогноз 4. Розничные сети, с которыми работает Lokad, обычно предоставляют около 2 часов ежедневно для обновления прогнозов, поэтому выбранные модели должны соответствовать этому расписанию как для обучения, так и для прогнозирования 5. Развернуть модель команды, занявшей первое место, конечно, возможно в масштабе Walmart, но управление вычислительным кластером само по себе потребовало бы отдельной команды.

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

Кроме будущих цен, в соревновании M5 отсутствовали два важных типа данных: уровень запасов и детализированные транзакции, которые почти всегда доступны в розничных сетях. Уровень запасов важен, потому что, очевидно, без запасов не бывает продаж (ошибка цензуры). Детализированные транзакции важны, поскольку, по моему опыту, практически невозможно оценить любой вид каннибализации или замещения без этих данных, тогда как поверхностное наблюдение за витринами магазинов ясно показывает, что они играют значительную роль. Модель, которую использовала команда Lokad для достижения шестого места, не учитывала эти данные, как и модель, занявшая первое место.

В заключение, это фантастический результат для Lokad. Хотя, безусловно, предстоит сделать ещё много для повышения реалистичности соревнований по прогнозированию, я призываю читателей не воспринимать эти результаты слишком буквально – M5 является соревнованием по прогнозированию. В реальном мире необходимо учитывать дефициты товаров, запуск продуктов, рекламные акции, изменения ассортимента, проблемы с поставщиками, графики поставок – все эти факторы должны быть включены в общую картину. Главная задача заключается не в том, чтобы снизить ошибку на несколько процентов, а в том, чтобы обеспечить, чтобы конечный числовой алгоритм не содержал глупых слепых зон, способных разрушить всю инициативу по оптимизации цепочек поставок.


  1. Технически бывший сотрудник Lokad на момент проведения соревнования. ↩︎

  2. В составе команды-победителя входили Northquay (псевдоним) и Расс Вольфингер. Их команда носила название Everyday Low SPLices для этого соревнования M5. Для ясности, я просто называю их здесь командой, занявшей первое место. ↩︎

  3. Кризисы происходят регулярно в цепочках поставок. Covid-19 – всего лишь последний мировой кризис, но локальные кризисы случаются постоянно. Исторические данные не всегда отражают события, разворачивающиеся в цепях поставок. Часто именно высокий уровень понимания специалиста по цепям поставок является единственным способом направить модели к разумным решениям. ↩︎

  4. Команда, занявшая первое место, использовала LightGBM – библиотеку на C++, способную обеспечить передовую алгоритмическую производительность для этого класса моделей. Кроме того, команда применила достаточно продвинутые методы численной оптимизации, такие как использование чисел с половинной точностью. При переходе к производственной настройке вычислительная производительность на единицу SKU, скорее всего, снизится из-за дополнительной сложности и разнородности, присущей реальной производственной среде. ↩︎

  5. Не все модели одинаково хорошо подходят для изоляции обучения от оценки. Результаты могут различаться. Проблемы с данными случаются время от времени, поэтому в таких ситуациях модели необходимо переобучать, и это нужно делать быстро↩︎