精度指標が良くても在庫が良くなるとは限らない
予測の精度指標と在庫の成績がずれる理由は3つあります。
- 偏りが見えない:MAPEやWAPEは誤差の絶対値を使うため、予測が一方向に偏っていても数字に表れにくい。偏りは安全在庫で吸収できず、欠品か過剰在庫になる
- 重みが違う:数量ベースの指標は売れ筋に引っ張られ、欠品の影響が大きい品目や在庫金額の大きい品目の外れを反映しない
- 安全在庫との組み合わせで決まる:在庫と欠品は予測だけでなく、予測誤差から計算した安全在庫と発注ルールの組み合わせで決まる
したがってAIの予測は、精度指標に加えて「同じ発注ルールに入れたときの在庫と欠品」で検証します。
数値例:MAPEの良い予測が欠品を出す
ある製品の16週分の需要(合計8,860個)に対し、2つの予測を比較しました。予測AはAIツールの出力で、外れ幅は小さいものの全体に低めです。予測Bは従来の統計予測で、外れ幅はやや大きいものの偏りはほぼありません。
発注ルールは両者共通です。毎週末に在庫を確認し、翌々週の頭に入荷する(保護期間2週)前提で、「今後2週の予測合計+安全在庫」まで発注します。安全在庫は各予測の誤差のRMSEから 1.645 × RMSE × √2 で計算しました(サービス率95%相当)。期首在庫は1,100個、欠品分は失注として扱っています。
| 指標 | 予測A(AI) | 予測B(統計) |
|---|---|---|
| MAPE | 5.3% | 6.8% |
| WAPE | 5.5% | 6.7% |
| バイアス Σ(F−A)/ΣA | −5.5% | −0.3% |
| 誤差のRMSE | 34.2個 | 37.7個 |
| 安全在庫(RMSEから計算) | 79.5個 | 87.6個 |
| 欠品が出た週 | 4週 | 0週 |
| 欠品数量 | 31.4個 | 0個 |
| フィルレート(数量) | 99.65% | 100% |
| 週末在庫の平均 | 61.0個 | 116.1個 |
精度指標ではAが勝っていますが、Aは5.5%低めに偏っているため、RMSEから計算した安全在庫では不足が出て、16週中4週で欠品しました。一方で在庫の平均はAのほうが少なく、この表だけでは「欠品は多いが在庫は少ない」という比較できない状態になっています。
そこで、欠品ゼロを達成するのに必要な最小の安全在庫を、それぞれシミュレーションで探しました。Aは110個、Bは80個で、そのときの週末在庫の平均はAが83.8個、Bが109.4個でした。同じサービス水準にそろえると、Aのほうが在庫を約23%少なくできます。ただしそれは、Aの偏りを安全在庫の上乗せで補った場合の話です。RMSEだけで安全在庫を決める運用のままAを採用すると、欠品が出ます。
この数値例は当サイトが作成した仮想データで、16週という短い期間の結果です。実際の検証では、複数の品目群で、少なくとも数か月から1年程度の期間を対象にしてください。
検証の5つの手順
- 評価期間と予測時点を固定する:「毎週月曜の時点で、その時点のデータだけを使って2週先まで予測する」というように、本番と同じタイミングで予測を作り直す(ローリング・オリジン評価)。学習に評価期間のデータが混ざらないことを確認する
- 需要の実績を用意する:出荷ではなく受注ベースの需要を使う。欠品期間の出荷は需要を過小に表すため、補正するか評価から外す
- 予測以外の条件をそろえる:発注ルール、リードタイム、発注単位(ロット)、期首在庫を、比較する予測すべてで同じにする
- 在庫を再現する:予測を入れ替えて、週ごと・日ごとの在庫、欠品、発注を計算する。指標はフィルレート、欠品週数、平均在庫数量と金額、発注回数
- 同じサービス水準にそろえて比べる:安全在庫を調整して欠品水準をそろえ、そのときの平均在庫を比較する。これが予測の差を在庫の金額で表した値になる
Hewamalage らは、時系列予測の評価ではリーク(評価データの意図しない利用)が他の機械学習タスクより起きやすく避けにくいこと、評価前に系列全体へ平滑化や正規化をかけると間接的なリークになることを指摘しています。
結果を誰がどう読むか
検証結果は、在庫責任者が意思決定に使える形で出します。品目群ごとに「同じフィルレートのときの平均在庫金額の差」と「現行の安全在庫ルールのままAIを入れたときの欠品数量の変化」の2つを並べると、導入の判断と、同時に変えるべき運用(安全在庫の計算方法、偏りの補正)が分かります。
評価期間・需要データ・在庫シミュレーションの条件設計を、ERP・MESのデータ構造から一緒に整理します。
よくある質問
在庫シミュレーションはExcelでもできますか。
1品目ずつならExcelで十分です。週ごとに「期首在庫+入荷−需要」と発注量を計算する表を作り、予測の列だけを差し替えます。品目が数百を超える場合は、同じロジックをスクリプトで回すほうが確実です。
AIの予測は全品目に一律で採用すべきですか。
品目群ごとに検証し、在庫の数字で勝った群だけで採用するのが安全です。売れ筋ではAIが有利でも、間欠需要の保守部品では従来手法のほうが良いということはよくあります。
検証期間はどれくらい必要ですか。
少なくとも季節の山を1回含む期間が必要です。月次の予測なら12か月、週次なら半年程度が目安です。短い期間では、偶然の外れで順位が入れ替わります。
この記事に出てくる用語
安全在庫の式は、どこで嘘をつくか
需要が正規分布でないとき、リードタイムがばらつくとき。教科書の式と現場の欠品率がずれる理由 全17本
- 安全在庫の計算式:安全係数×標準偏差×√リードタイムの前提と数値例
- リードタイムがばらつくときの安全在庫の式と、遅延が偏るときの補正
- サイクル在庫・輸送中在庫・季節在庫:在庫を6つの機能で分けて計算する
- 発注点の計算:リードタイム需要+安全在庫と、発注残・引当の扱い
週刊 在庫KPI
業種別の在庫KPIベンチマークの更新と、その週の新着記事5本を毎週月曜にお届けします。無料・いつでも解除できます。