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

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

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

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

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

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

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

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

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

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

В результате, всего несколько недель назад мы интегрировали алгебру распределений прямо в Envision, наш язык специального назначения, посвященный оптимизации коммерции. Благодаря этой алгебре распределений, становится простым выполнять на первый взгляд простые операции, такие как сложение двух неопределенных времен выполнения (например, неопределенное время выполнения производства плюс неопределенное время выполнения транспортировки). Сумма этих двух времен выполнения выполняется с помощью операции, известной как свертка. В то время как сам расчет довольно технический, в Envision достаточно написать A = B +* C, где +* - это оператор свертки, используемый для сложения независимых случайных величин (*).

Благодаря этой алгебре распределений большинство “интуитивных” операций, которые были возможны с классическими прогнозами, снова доступны: случайные величины могут быть сложены, умножены, растянуты, возведены в степень и т. д. И хотя за кулисами происходят относительно сложные вычисления, вероятностные формулы не сложнее обычных формул Excel с точки зрения Envision.

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

Под капотом обработка распределений довольно интенсивна; и снова, мы бы никогда не рискнули зайти в эти территории без облачной вычислительной платформы, которая обрабатывает этот тип нагрузки - в нашем случае Microsoft Azure. Тем не менее, вычислительные ресурсы никогда не были такими дешевыми, и следующий заказ вашей компании на $100 тыс. вероятно стоит того, чтобы потратить несколько часов процессорного времени - стоимостью менее $1 и выполненных всего за несколько минут - чтобы убедиться, что заказанные количества звучат правдоподобно.

(*) Случайная величина - это распределение, у которого масса равна 1. Это особый тип распределения. Envision может обрабатывать распределения вероятностей (также известные как случайные величины), а также более общие распределения.