Чуть более года назад мы представили квантильные сетки в качестве нашей технологии прогнозирования 3.0. Более чем когда-либо, Lokad остается преданной доставке лучших прогнозов, которые может предложить технология, и сегодня наша четвертая генерация технологии прогнозирования, а именно наш вероятностный прогностический движок, работает и доступен в производстве для всех клиентов. Этот новый движок представляет собой полное переписывание нашего стека технологий прогнозирования и решает множество давних проблем, с которыми мы сталкивались.

Истинные вероятности

Будущее неопределенно, несмотря на то, насколько хороша технология прогнозирования. Еще в 2012 году, когда Lokad впервые решила заняться квантильным прогнозированием, мы быстро поняли, что неопределенность не должна быть отброшена, как это делается с классическим подходом к прогнозированию, а должна быть принята. Просто говоря, затраты на цепочку поставок сосредоточены на статистических экстремумах: это удивительно высокий спрос, который вызывает дефицит товара, и удивительно низкий спрос, который вызывает мертвый инвентарь. В середине цепочка поставок обычно работает довольно плавно.

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

Из-за этих квантильных корней наша технология прогнозирования 3.0 имела несколько тонких ограничений. И хотя большинство из этих ограничений были слишком тонкими, чтобы их заметили клиенты, они не остались незамеченными командой исследований и разработок Lokad. Таким образом, мы решили перезагрузить всю нашу технологию прогнозирования с настоящей вероятностной перспективой; и это стало началом движка прогнозирования 4.0.

Прогнозирование сроков поставки

Сроки поставки часто считаются данными. Однако, хотя прошлые сроки поставки известны, будущие сроки поставки могут быть только оценены. В течение многих лет Lokad недооценивала сложность точной оценки будущих сроков поставки. Сроки поставки являются тонкими: большинство статистических закономерностей, таких как сезонность (и особенно Китайский Новый Год), которые влияют на спрос, также влияют на сроки поставки.

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

Интегрированный прогноз спроса

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

В движке прогнозирования 4.0 вводится концепция интегрированного прогнозирования спроса, с интегрированным означающим интегрированный по сроку поставки. Движок принимает полное распределение вероятностей сроков поставки и создает соответствующий вероятностный прогноз спроса. На практике распределение сроков поставки также вычисляется движком прогнозирования, как было показано ранее. Интегрированное прогнозирование спроса наконец-то дает удовлетворительный ответ на проблему работы с изменяющимися сроками поставки.

Прогнозирование новых продуктов

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

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

Распродажи и акции

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

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

Экстремально разреженный спрос

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

Нативные вероятностные модели, реализованные в нашем движке 4.0, гораздо лучше себя ведут, когда речь идет о экстремально разреженном спросе и “редких” событиях в целом. Эти модели могли бы быть реализованы в рамках квантильного прогнозирования (вероятностный прогноз легко превращается в квантильный прогноз), но наш движок 3.0 не имел инфраструктуры для их поддержки. Поэтому они были реализованы в движке 4.0.

Интегрировано в Envision

Версии 2.0 и 3.0 нашего прогностического движка поставлялись с веб-интерфейсом пользователя. С первого взгляда это казалось простым. Однако интерфейс пользователя на самом деле игнорировал фактор, который представляет настоящую сложность использования (любого) прогностического движка, а именно обеспечение полного контроля над данными, передаваемыми в прогностический движок. Действительно, “мусор на входе, мусор на выходе” остается слишком частой проблемой.

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

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