安全在庫が吸収するのは「予測の外れ」
安全在庫は、需要が予測を上回ったときに欠品しないための在庫です。したがって式のσ(ばらつき)は「需要そのものがどれだけ動くか」ではなく、「需要が予測からどれだけ外れるか」で測るのが正しい定義です。
SS = z × σe × √L
- SS:安全在庫(個)
- z:安全係数。サイクルサービス率(補充1回あたり欠品しない確率)95%なら1.645、90%なら1.282、98%なら2.054
- σe:1期あたりの予測誤差の標準偏差(個/期)。平均がほぼゼロならRMSEで代用できる
- L:リードタイム(期)。定期発注では発注間隔を足した「保護期間」を使う
需要の標準偏差を使う式は、「予測=過去の平均」という最も単純な予測をしている場合の特殊ケースです。季節性やトレンドを予測に織り込んでいるなら、その分は予測で読めている動きなので、安全在庫で持つ必要はありません。式の前提と安全係数の決め方は安全在庫の計算式:安全係数×標準偏差×√リードタイムの前提と数値例、サービス率の定義の違いはサイクルサービス率とフィルレートの違いと換算で扱っています。
数値例:季節性のある製品
月次の実績と、季節性を織り込んだ予測(その月の実績を見る前に出した値)が次のとおりだったとします。
| 月 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 実績 | 800 | 850 | 1,000 | 1,200 | 1,300 | 1,250 | 1,100 | 950 | 900 | 1,000 | 1,150 | 1,300 |
| 予測 | 780 | 880 | 970 | 1,150 | 1,340 | 1,230 | 1,130 | 920 | 940 | 960 | 1,180 | 1,260 |
| 誤差 | +20 | −30 | +30 | +50 | −40 | +20 | −30 | +30 | −40 | +40 | −30 | +40 |
この12か月から計算した値です(すべて当サイトで計算)。
計算は、需要の標準偏差を使うと 1.645 × 174.9 × √1.5 = 352個、予測誤差のRMSEを使うと 1.645 × 34.4 × √1.5 = 69個です。差の約283個は、予測で読めている季節変動の分を二重に持っていた在庫です。
誤差の分布の形を確かめる余裕がない場合、σe ≈ 1.25 × MAD(誤差の絶対値の平均)という近似も使われます。これは誤差が正規分布のときに成り立つ関係で、この例ではMADが33.3個なので41.7個となり、RMSEの34.4個より大きめに出ます。分布が正規から外れているときや外れ値があるときは、両者が離れます。
式の前提が崩れる3つの場面
1. 誤差に偏りがある:この例の誤差の平均は+5.0個/月で、予測がわずかに低めです。√Lの式は誤差の平均ゼロを前提にしているため、偏りがあれば「平均誤差 × L」を別に足すか、先に予測の偏りを直します。この例では 5.0 × 1.5 = 7.5個の上乗せになります。偏りの監視は予測バイアスとトラッキングシグナルの見方を参照してください。
2. 誤差に自己相関がある:√L倍は、各期の誤差が互いに独立であることを前提にしています。需要の水準が変わったのに予測が追いつかない期間は、同じ符号の誤差が続きます。極端な場合、2期分の誤差が完全に同じ方向に出ると、合計のばらつきは √2 = 1.41倍ではなく2倍になり、√Lの式は安全在庫を約3割少なく見積もります。対策は、リードタイム分の累積予測(例:2か月先までの予測の合計)と累積実績の差を過去データで直接計算し、その標準偏差を使うことです。
3. 何期先の予測の誤差かが合っていない:発注を確定してから入荷までがリードタイムなので、使うべき誤差は「リードタイム分だけ先を予測したときの誤差」です。1期先予測の誤差は、遠い先の予測の誤差より小さいのが普通です。1期先の誤差で計算した安全在庫は、実際に必要な量より小さくなります。
計算の手順
- 予測手法とパラメータを固定し、過去12〜24か月を「その時点で手に入った情報だけで」予測し直す
- リードタイム(定期発注なら保護期間)分だけ先の予測について、累積予測と累積実績の差を計算する
- 差の平均(偏り)と標準偏差を出す。偏りが大きければ先に予測を直す
- 標準偏差に安全係数をかけて安全在庫とする
- 計算した安全在庫で過去期間の在庫推移をシミュレーションし、実際の欠品回数がサービス率の想定と合うか確かめる
よくある質問
リードタイムが日単位で、予測が月単位のときはどうしますか。
誤差を月単位で計算し、リードタイムを月に換算して√Lをかけるのが簡便な方法です。ただし換算が1か月を大きく下回るときは、月次の誤差を日次に割り戻す前提(日々の誤差が独立)が強すぎるため、可能なら週次の予測と誤差で計算し直します。
リードタイム自体がばらつく場合はどうなりますか。
予測誤差のばらつきに加えて、リードタイムのばらつきによる需要量の不確実性を足し合わせる式を使います。詳細はリードタイムがばらつくときの安全在庫の式を参照してください。
品目ごとに誤差を計算するにはデータが少なすぎます。
履歴が1年未満の品目は、同じ品目群の誤差率(誤差のRMSE÷平均需要)を借りて計算する方法があります。データが溜まったら品目ごとの値に切り替え、群の値との差を確認します。
この記事に出てくる用語
安全在庫の式は、どこで嘘をつくか
需要が正規分布でないとき、リードタイムがばらつくとき。教科書の式と現場の欠品率がずれる理由 全17本
- 安全在庫の計算式:安全係数×標準偏差×√リードタイムの前提と数値例
- リードタイムがばらつくときの安全在庫の式と、遅延が偏るときの補正
- サイクル在庫・輸送中在庫・季節在庫:在庫を6つの機能で分けて計算する
- 発注点の計算:リードタイム需要+安全在庫と、発注残・引当の扱い
週刊 在庫KPI
業種別の在庫KPIベンチマークの更新と、その週の新着記事5本を毎週月曜にお届けします。無料・いつでも解除できます。