A little over one year ago, we unveiled quantile grids as our 3.0 forecasting technology. More than ever, Lokad remains committed to delivering the best forecasts that technology can produce, and today, our 4th generation of forecasting technology, namely our probabilistic forecasting engine, is live and available in production for all clients.

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

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

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

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

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

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

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

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

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

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

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

Прогнозирование спроса на новый продукт – дело сложное. Поскольку в данном случае прогнозирование очевидно не может опираться на историю продаж, движок прогнозирования вынужден полагаться на другие данные о продукте, известные до его запуска. Наш движок прогнозирования 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 за последние несколько недель. Следите за обновлениями.