正規分布の前提は「変動が小さく量が多い品目」でしか成り立たない
安全在庫の基本式 z×σ×√L は、リードタイム中の需要が平均を中心に左右対称の正規分布に従うと仮定しています。この仮定が崩れる典型は2つです。
1つは需要が少ない品目です。リードタイム中の平均需要が数個しかないと、需要は0、1、2…という整数の飛び飛びの値しか取らず、分布は右に偏ります。もう1つは変動が大きい品目です。平均100個・標準偏差80個(変動係数0.8)の需要を正規分布で表すと、需要がマイナスになる確率が10.6%も生じます。実際の需要はマイナスにならないので、その分だけ右側の裾が長く、正規分布より大きな需要が出やすくなります。
どちらの場合も、正規分布で計算した安全在庫は高いサービス率の領域で足りなくなります。
少量の需要はポアソン分布で発注点を直接求める
需要が独立に、まれに1個ずつ発生する品目では、リードタイム中の需要はポアソン分布で近似できます。ポアソン分布は平均 λ だけで形が決まり、標準偏差は √λ です。発注点は「累積確率が目標サービス率以上になる最小の整数 k」として直接求めます。
発注点 k = min { k | P(X ≤ k) ≥ 目標サービス率 }、X ~ Poisson(λ)
λ:リードタイム中の平均需要(個)
| λ(個) | 目標 | ポアソンで求めた k | そのときの達成率 | 正規近似 λ+z√λ | 正規近似を四捨五入した値の達成率 |
|---|---|---|---|---|---|
| 2 | 95% | 5 | 98.3% | 4.33 | 4個で94.7% |
| 4 | 95% | 8 | 97.9% | 7.29 | 7個で94.9% |
| 4 | 99% | 9 | 99.2% | 8.65 | 9個で99.2% |
| 10 | 95% | 15 | 95.1% | 15.20 | 15個で95.1% |
λ=4、目標95%の例では、正規近似の7.29個を四捨五入した7個だと達成率94.9%で目標を下回ります。ポアソン分布なら8個が必要と分かります。ただし8個にすると97.9%まで上がり、95%ちょうどにはできません。少量品目ではサービス率が1個単位で大きく跳ぶので、目標を「95%以上で最小」と決めておく必要があります。
λ が10を超えるあたりから、ポアソン分布と正規分布の結果はほぼ一致します。計算は表計算ソフトの POISSON.DIST 関数や Python の scipy.stats.poisson で行えます。
変動の大きい需要はガンマ分布で右の裾を表す
需要の量は多いが変動係数(標準偏差÷平均)が0.5を超えるような品目では、ガンマ分布がよく使われます。ガンマ分布はマイナスの値を取らず、右に裾が伸びる形で、平均と標準偏差の2つから形が決まります。
形状パラメータ k = 1 ÷ CV²、尺度パラメータ θ = μ × CV²
CV:変動係数(σ÷μ)、μ:リードタイム中の平均需要(個)
平均100個、標準偏差80個(CV=0.8)なら、k=1.5625、θ=64 です。この分布の分位点と、正規分布で計算した発注点を比べました。
| 目標サービス率 | ガンマ分布の発注点 | 正規分布の発注点(μ+zσ) | 正規の発注点で実際に達成できる率 |
|---|---|---|---|
| 90% | 206.3個 | 202.5個 | 89.5% |
| 95% | 257.0個 | 231.6個 | 92.9% |
| 99% | 371.0個 | 286.1個 | 96.7% |
目標が高いほど差が開きます。99%を狙った正規分布の発注点は、ガンマ分布で見ると96.7%しか守れず、85個不足しています。保守部品や受注生産の補用品のように欠品の影響が大きく、高いサービス率を求める品目ほど、正規分布の誤差が効いてきます。
経験分布はデータが十分にあるときだけ使える
分布を仮定せず、過去のリードタイム中の需要実績を並べて95%点を取る方法が経験分布です。前提が少ない反面、データ量が足りないと推定が不安定になります。
たとえば過去12回の発注サイクルのリードタイム中需要が 60、85、40、120、95、70、210、55、80、130、45、110個だったとします。平均91.7個、標準偏差47.2個で、正規分布の95%点は169.2個です。一方、経験分布の95%点は12個の上位5%なので、最大の210個と2番目の130個の間のどこかとしか言えません。12点では95%点を推定できないということです。
経験分布で95%点を安定して出すには、目安として数十〜100サイクル以上のデータが要ります。週次需要を使い、リードタイムの長さの期間を1週ずつずらして重ねて集計する方法(重なりのある集計)でデータ数を増やせますが、隣り合う値が相関するので見かけほど情報は増えません。
品目ごとに使う分布を選ぶ基準
| 品目の特徴 | 使う分布 | 主な対象 |
|---|---|---|
| リードタイム中の平均需要が10個以上、CV 0.5未満 | 正規分布 | 量産品の購買部品、製品在庫のA・B品目 |
| リードタイム中の平均需要が10個未満、1回1個ずつ | ポアソン分布 | 低回転の部品、保守部品の一部 |
| 量は多いが CV 0.5以上 | ガンマ分布(または対数正規分布) | 受注の偏る製品、立上げ期の部品 |
| 需要が出ない期間が長く、出るときはまとまる | 複合分布、または模擬計算 | 間欠需要の保守部品 |
| 過去100サイクル以上のデータがある | 経験分布 | 長く安定して流れている品目 |
σ に予測誤差を使う場合も同じ考え方で、予測誤差の分布の形を確かめてから分布を選びます。予測誤差の扱いは予測誤差から安全在庫を計算する方法にまとめています。
よくある質問
ポアソン分布かどうかはどう確かめますか
リードタイム中の需要の分散と平均を比べます。ポアソン分布なら両者はほぼ等しくなります。分散が平均の2倍以上なら、1回の需要が複数個になる、あるいは需要が塊で発生しているので、負の二項分布や間欠需要の扱いを検討します。
対数正規分布とガンマ分布はどちらを使えばよいですか
どちらも右に裾が伸びる分布で、平均と標準偏差が同じでも対数正規分布のほうが裾が長くなります。過去データの上位の値にどちらが合うかで選びます。差が判別できないほどデータが少ないなら、裾が長い対数正規分布を使うほうが欠品側のリスクは小さくなります。
この記事に出てくる用語
安全在庫の式は、どこで嘘をつくか
需要が正規分布でないとき、リードタイムがばらつくとき。教科書の式と現場の欠品率がずれる理由 全17本
- 安全在庫の計算式:安全係数×標準偏差×√リードタイムの前提と数値例
- リードタイムがばらつくときの安全在庫の式と、遅延が偏るときの補正
- サイクル在庫・輸送中在庫・季節在庫:在庫を6つの機能で分けて計算する
- 発注点の計算:リードタイム需要+安全在庫と、発注残・引当の扱い
週刊 在庫KPI
業種別の在庫KPIベンチマークの更新と、その週の新着記事5本を毎週月曜にお届けします。無料・いつでも解除できます。