未来は不確実です。しかし、ほとんどの予測型サプライチェーンソリューションは逆の仮定をしています。つまり、彼らは自分たちの予測が正しいと仮定し、その予測に基づいてシミュレーションを展開します。暗黙的には、未来は「確定的」と仮定され、複雑さが生じます。

歴史的な観点から見ると、ソフトウェアエンジニアは理由もなくそのような仮定をしていたわけではありません。確定的な未来は、初期のコンピューターが最善の場合でも処理できる唯一の選択肢でした。そのため、不確実な未来に対処することが理論上の最善のアプローチであることは知られていましたが、実際には選択肢ではありませんでした。

さらに、20世紀初頭にはこの問題を回避するためのいくつかの数学的なトリックが見つかりました。たとえば、古典的な安全在庫分析では、リードタイムと需要の両方が正規分布パターンに従うと仮定しています。正規分布の仮定は、計算の観点からは便利です。なぜなら、未来をモデル化するために必要なのは平均と分散の2つの変数だけだからです。

しかし、リードタイムと需要の両方に対する正規分布の仮定は、ほとんどの場合で正しくないことが判明し、複雑さが生じました。

Lokadでは2012年に、古典的な在庫予測手法がうまく機能していないことに気付きました。平均値や中央値の予測は、正しい問題に対処していないことがわかりました。いくらテクノロジーを投入しても、うまくいくわけがありませんでした。

そのため、私たちは分位点予測に切り替えました。これは「意図的なバイアスを持って未来を予測する」と解釈できます。すぐに、分位点予測が古典的な安全在庫分析よりも優れていることに気付きました。なぜなら、分位点予測は供給チェーンの観点から本当に重要な部分に焦点を当てているからです。

ただし、「分位点予測」に移行する過程で、いくつかのものを失ったことに気付きました。実際、古典的な平均予測とは異なり、分位点予測は加算可能ではないため、これらの分位点の合計を意味付けすることはできませんでした。実際、古典的な予測が最初からあまり意味をなさなかったため、それらを合計することは合理的な選択肢ではありませんでした。

数年にわたり、分位点を使用して作業していく中で、私たちは多くの当たり前のことが複雑になっていることに気付きました。需要数量はもはや合計や減算、線形調整ができなくなりました。つまり、不確実な未来に向かう中で、この不確実な未来で操作するためのツールを失ってしまったのです。

2015年に、私たちは分位点グリッドを導入しました。分位点グリッドはまだ完全な確率的予測とは異なりますが、予測エンジンは既に分位点の推定値の代わりに確率を提供し始めていました。確率の分布は、単純な分位点の推定値よりも表現力が高く、分布上での「代数」を定義することが可能です。

「代数」という用語は技術的に聞こえるかもしれませんが、それほど複雑ではありません。これは、和、積、差などの単純な操作が数学的に一貫しており、供給チェーンの観点からも非常に関連性がある方法で定義されることを意味します。

その結果、わずか数週間前に、私たちは確率分布の代数をEnvisionに統合しました。これは、商業最適化に特化したドメイン固有言語です。確率分布の代数を利用することで、不確実なリードタイム(例えば、不確実な生産リードタイムと不確実な輸送リードタイムの合計)を簡単に行うことができます。この2つのリードタイムの合計は、畳み込みと呼ばれる操作を介して行われます。計算自体はかなり技術的ですが、Envisionでは、A = B +* Cと書くだけで、独立したランダム変数の合計に使用される畳み込み演算子+*を使って計算が行われます。

この確率分布の代数を通じて、古典的な予測で可能だったほとんどの「直感的な」操作が復活しました。ランダム変数は合計、乗算、伸縮、指数関数などができます。そして、比較的複雑な計算が裏で行われているにも関わらず、確率的な数式はEnvisionの視点から見れば、プレーンなExcelの数式と同じくらい複雑ではありません。

完璧に正確な予測を望む代わりに、この確率分布の代数を使うことで、不確実な未来を受け入れることができます。サプライヤーのリードタイムは変動する傾向があり、納品数量は注文数量と異なる場合があり、顧客の需要は変化し、製品は返品されるかもしれませんし、在庫は紛失したり損傷したりするかもしれません…この確率分布の代数を通じて、これらの不確実なイベントのほとんどを最小限のコーディング作業でモデル化することがより簡単になります。

内部では、確率分布の処理はかなり集中的です。そして再び、このようなワークロードを処理するクラウドコンピューティングプラットフォーム(私たちの場合はMicrosoft Azure)なしでは、私たちはこれらの領域に踏み込むことはありませんでした。それにもかかわらず、計算リソースはかつてなく安くなりましたし、おそらくあなたの会社の次の10万ドルの発注は、数ドル以下のコストで数分で実行される数時間のCPU時間を費やすことは十分に価値があるでしょう。これにより、注文数量が正当であることを確認できます。

(*) ランダム変数は、質量が1の分布です。これは特別なタイプの分布です。Envisionは確率(ランダム変数とも呼ばれる)の分布だけでなく、より一般的な分布も処理することができます。