需要と供給を比較するとき、期間平均が一致しているかを見るだけでは、在庫の揺らぎを十分に捉えられないことがあります。需要が先にピークを迎え、供給が少し遅れて追いつく場合、需要上昇中には不足が起こり、その後には供給が残って在庫が増えることがあります。今回は、この時間的なずれを需要と供給のphase-space trajectoryとして可視化しました。
この図は何を表しているのか
横軸方向は各品目の平均需要からの偏差、縦軸方向は平均供給からの偏差です。Scientific版ではどちらも%で表示しています。
45度のbalance line上では、需要と供給の偏差が同じです。線より下では供給が需要を下回り、上では供給が需要を上回ります。
細いtrajectoryは各品目の104週の状態遷移です。線の色はnet inventoryを表し、負側は欠品・backorder方向、正側は在庫余剰方向です。4つのGround Truth lag groupから代表品目を1つずつ選び、やや太いtrajectoryとして重ねています。
可視化から読み取れること
今回のSynthetic Dataでは48品目を104週間生成し、合計4,992時点を分析しました。
Supply lagが0週の品目群では平均phase-loop areaが127でしたが、1.5週では3216、3.0週では5298、4.5週では6743まで増えました。
Ground Truth lagとloop areaのSpearman相関は0.88、lagとdemand–supply mismatch SDの相関は0.96でした。
また、48品目中44品目では、104週間の中でnet inventoryが正と負の両方を取りました。つまり、同じ品目で在庫余剰と欠品方向の両方が生じています。
この構造をどう解釈するか
今回のData Generating Processでは、需要と供給の期間平均を一致させています。そのうえで供給側の反応だけを0、1.5、3.0、4.5週と遅らせました。
需要と供給がほぼ同期していれば、phase-space trajectoryは45度line付近を往復します。Supply lagが大きくなると、需要が上昇している間に供給が追いつかずtrajectoryはlineの下側へ移ります。
その後、需要がピークを越えて低下しても供給側には遅れて高い状態が残るため、trajectoryはlineの上側へ回ります。この往復がphase-space上ではloopとして現れます。
可視化の仕組み
各品目の需要は、26週周期のseasonality、second harmonic、2回のtemporary demand peak、noiseから生成しました。
供給は同じlatent cycleへ反応しますが、Ground Truthとして設定したlagだけ時間をずらしています。さらに実現需要への部分的な反応を加え、観測noiseを重ねました。
その後、研究期間全体で供給平均を需要平均へ合わせています。これは、平均供給量の不足ではなく、timing mismatchを可視化の主題にするためです。
Inventoryは週ごとの supply - demand を累積し、小さなinitial safety stockを加えたnet inventoryとして計算しました。
なぜこの可視化方法を選んだのか
通常の時系列でも需要と供給のピークずれは確認できます。一方、今回見たいのは「時間差そのものがどのような状態遷移を作るか」です。
Demand-supply phase-space portraitでは、時間を横軸として使う代わりに、各時点の需要と供給を2次元状態へ変換します。そのため、同期している場合は対角線付近、位相差がある場合はloopという形で構造が現れます。
特に、供給不足から供給余剰へ状態が回り込む様子を一つのloopとして追える点が今回のMessageに適しています。
実データへの応用可能性
実データでは、品目別の需要実績、出荷・生産・入荷量、在庫量、週次または日次のtime indexがあれば、同様のphase-space structureを探索できる可能性があります。
たとえば、平均需要と平均供給は近いのに欠品と余剰在庫の両方が発生する品目について、需要と供給のlagやtrajectory loopを確認することで、timing mismatchに関する仮説形成に利用できます。
ただし、実際の在庫にはlead time、minimum lot、capacity、safety stock policy、lost sales、backorderなども関係します。
データと分析方法
今回はSynthetic Dataを使用しています。品目数は48、各品目104週、総観測数は4,992です。乱数シードは260926です。
Ground Truth supply lagは0、1.5、3.0、4.5週の4群です。需要・供給を各品目平均からの% deviationへ変換し、phase-space trajectoryを構築しました。
lagの評価にはphase-loop area、demand–supply mismatch SD、0〜6週のcross-correlationを使用しました。Cross-correlationで推定したlagのMAEは0.25週でした。
このVisualization Studyの限界
今回の需要と供給はSynthetic Dataであり、実際の企業在庫が同じ周期構造やlagを持つことを示すものではありません。
Supply lagは各品目で一定とし、capacity constraintや発注rule、production planning、価格変動などは明示的にモデル化していません。
また、研究期間全体で供給平均を需要平均へ合わせているため、長期的な供給不足や恒常的な過剰capacityは今回の対象外です。
Net inventoryも単純な累積差分であり、lost salesやbackorder policyを含む実在庫モデルではありません。そのため、inventory値そのものを現実の在庫量として解釈することはできません。
まとめ
今回は、需要ピークと供給ピークの時間差によって生じるミスマッチをDemand-supply phase-space portraitとして可視化しました。
Synthetic DataではSupply lagが大きいほどphase-space loopとdemand–supply mismatchが大きくなり、多くの品目で在庫余剰と欠品方向の両方が同じ期間内に生じました。
この見方は、平均値だけでは捉えにくい需要と供給のtiming mismatchを、状態遷移の形として探索するための一つの方法になります。

