安全在庫は「リードタイム中の需要のばらつき」に安全係数を掛けた量

安全在庫は、発注してから入庫するまでの期間(リードタイム)に需要が平均より多く出ても欠品しないように、平均需要の上乗せとして持つ在庫です。もっとも広く使われる式は次の1行です。

SS = z × σd × √L
記号意味単位数値例
SS安全在庫個求める値
z安全係数(目標サービス率に対応する標準正規分布の値)無次元1.645(95%)
σd1日あたり需要の標準偏差個/日30
L補充リードタイム日9

数値例は、平均需要100個/日、標準偏差30個/日、リードタイム9日、目標サイクルサービス率95%の購買部品です。

SS = 1.645 × 30 × √9 = 1.645 × 30 × 3 = 148.0 個

運用では端数を切り上げて149個とします。σd×√L の90個は「9日間の需要合計の標準偏差」で、9日間の平均需要900個に対して±90個程度のばらつきがあることを意味します。

この式には4つの前提があります。①日々の需要が正規分布に従う、②日々の需要が互いに独立で平均とばらつきが一定、③リードタイムが一定、④在庫を常時監視していて発注点を割った瞬間に発注できる。どれかが外れると、計算上の95%は実績の95%になりません。

安全係数zはサービス率から決まり、95%から99%で1.4倍になる

z は「リードタイム中の需要が平均+zσ を超えない確率」が目標サービス率になる値です。表の値は Python の statistics.NormalDist().inv_cdf(p) で計算しました。

目標サイクルサービス率z数値例の安全在庫(σd=30、L=9)
90%1.282115.3個
95%1.645148.0個
97.5%1.960176.4個
99%2.326209.4個
99.5%2.576231.8個

95%から99%に上げると安全在庫は1.41倍になります。サービス率を上げるほど在庫の増え方が急になるので、全品目一律に99%を置くのではなく、ABC区分ごとに目標を分けるのが通例です。

ここでのサービス率は「発注サイクルのうち欠品しなかったサイクルの割合(サイクルサービス率)」です。受注数量のうち即納できた割合(フィルレート)とは別物で、同じ95%でも必要な在庫が変わります。違いはサイクルサービス率とフィルレートの違いと換算で計算しています。

単位をそろえる:月次の標準偏差を日次に直すときの落とし穴

ERP から取り出せる需要データは月次集計のことが多く、ここで換算を誤る例が目立ちます。月20稼働日で、月間需要の標準偏差が150個だったとします。

  • 正しい換算:σd = 150 ÷ √20 = 33.5個/日 → SS = 1.645 × 33.5 × 3 = 165.5個
  • 誤った換算:σd = 150 ÷ 20 = 7.5個/日 → SS = 1.645 × 7.5 × 3 = 37.0個

平均は日数で割りますが、標準偏差は日数の平方根で割ります。分散が日数に比例するためです。誤った換算では安全在庫が4.5分の1になり、欠品が頻発します。

週次データで σ が70個/週(週5稼働日)、リードタイムが9日なら、リードタイムを週に直して 9÷5=1.8週とし、SS = 1.645 × 70 × √1.8 = 154.5個です。σ と L の時間単位を必ずそろえてから掛けます。

ただし、月次から日次への換算そのものが前提②(日々の需要の独立)に依存しています。月末に出荷が集中する、特定顧客がまとめて発注するといった相関があると、日次の標準偏差は √20 で割った値より大きくなります。換算に頼るより、リードタイムと同じ長さの期間で直接ばらつきを測るほうが安全です。

前提が崩れる4つの場面と、使うべき式

崩れる前提起きやすい在庫崩れたときの影響対処
需要が正規分布保守部品、低回転のC品目変動係数0.8のガンマ分布では、95%狙いの在庫で実績が92.9%に落ちるポアソン・ガンマ・経験分布を使う
リードタイムが一定海外調達品、外注加工品需要のばらつきより納期遅れの影響が大きくなるリードタイムのばらつきを加えた式
需要が定常立上げ・終息期の製品、季節品過去の標準偏差にトレンドや季節変動が混入し過大になる予測誤差の標準偏差を使う
常時監視週次・月次でまとめて発注する品目次の発注機会までの期間を守れず欠品する√L を √(L+R) に置き換える(R は発注間隔)

4つ目は見落とされがちです。週1回(R=5稼働日)しか発注しない品目で L=9日なら、SS = 1.645 × 30 × √14 = 184.6個になり、常時監視の148個より25%多く必要です。

計算した安全在庫を過去データで確かめる

式で出した値は、そのまま品目マスタに登録する前に、過去12か月程度の需要実績に当てはめて検証します。手順は単純で、過去の各発注サイクルについて「リードタイム中の実需要が、平均需要×L+SS を超えたか」を数え、超えなかったサイクルの割合を目標サービス率と比べます。

95%を狙って85%しか出ない場合、原因はほぼ上の表の4つのどれかです。リードタイム実績を発注データと入庫データから突き合わせ、需要の分布を度数分布で描くと、どの前提が外れているかが見えます。

よくある質問

安全係数1.65と1.645はどちらを使えばよいですか

95%に対応する正確な値は1.6449です。1.65に丸めても数値例では148.0個が148.5個になる程度で、実務上の差はわずかです。σ やリードタイムの推定誤差のほうがはるかに大きいため、丸め方より入力データの点検を優先してください。

リードタイムは発注から何までを数えますか

発注を決めてから、入庫して引当可能になるまでです。発注処理の待ち、輸送、受入検査、品質保留の解除までを含めます。受入検査に2日かかるなら、仕入先の納期が7日でも L は9日です。

安全在庫がマイナスや極端に大きな値になるのはなぜですか

マイナスになるのは z を負の値(50%未満のサービス率)にしたときだけです。極端に大きい場合は、σ にトレンドを含む出荷実績の標準偏差を使っているか、σ の時間単位と L の時間単位がずれていることが大半です。

この記事に出てくる用語

用語集(日・英・中)をすべて見る

この特集について

安全在庫の式は、どこで嘘をつくか

需要が正規分布でないとき、リードタイムがばらつくとき。教科書の式と現場の欠品率がずれる理由 全17本

  1. リードタイムがばらつくときの安全在庫の式と、遅延が偏るときの補正
  2. サイクル在庫・輸送中在庫・季節在庫:在庫を6つの機能で分けて計算する
  3. 発注点の計算:リードタイム需要+安全在庫と、発注残・引当の扱い
  4. 定量発注と定期発注の違い:安全在庫が1.33倍になる理由と選び方の5基準
特集の記事をすべて見る →

この記事を書いた人

株式会社サオス

株式会社サオス 製造DX部

DELMIA Apriso を中核とした MES / 製造DX の導入・運用・人材育成と、製造業のデータ活用・AI の調査・開発・教育を手がけるITコンサルティング企業。ISO 9001:2015 / ISO 27001:2022 認証取得。 日本・中国・米国で製造業のMES・在庫・データ基盤を手がけた実務者が、計算式を検算し、欧米・中国の一次情報にあたって書いています。

週刊 在庫KPI

業種別の在庫KPIベンチマークの更新と、その週の新着記事5本を毎週月曜にお届けします。無料・いつでも解除できます。

登録によりプライバシーポリシーに同意したものとします。配信は株式会社サオスが行います。