安全在庫の考え方を理解する
安全在庫とは?
安全在庫 (safety stock) とは、需要の変動や供給の遅れに対応するために、通常の在庫量に加えて保持される余分な在庫のことです。安全在庫は、不測の事態によって商品が不足しないようにするためのバッファ(緩衝材)として機能します。適切な安全在庫を維持することは、顧客満足度を高め、販売機会の損失を防ぐために重要です。
以下の式で在庫数を決めることで、欠品の確率を一定値に抑えることができます。
在庫数 = 平均出荷数 + 安全在庫
安全在庫の計算方法はいろいろありますが、ここでは一番有名な
安全在庫 = 安全係数 × 出荷数の標準偏差 × sqrt(リードタイム + 発注間隔)
という式の導出過程について説明します。
安全在庫の計算式
安全係数を
安全係数は許容できる欠品率
欠品率 |
安全係数 |
---|---|
0.1 % | 3.10 |
1.0 % | 2.33 |
2.0 % | 2.06 |
5.0 % | 1.65 |
10.0 % | 1.29 |
より具体的には、標準正規分布の累積分布関数
の逆関数を
と計算します。
発注リードタイムは、製造元・納品元に対して発注を行ってから、倉庫などへ納品されるまでの日数であり、発注間隔は前回の発注から次回の発注までの日数です。発注方式によって以下のような亜種があります。
- 毎日商品を必要な数だけ補充するような運用を考えた場合、リードタイムは 0 日、発注間隔は 1 日なので、
で計算できる。S = \alpha \sigma - 在庫数が閾値になったら発注する発注点方式の場合は、発注点から納品までの間の安全在庫を計算できれば良いので、
となる。S = \alpha \sigma \sqrt{L} - 一定の間隔で発注を行う定期発注方式の場合は、発注から納品完了までの日数
の期間の安全在庫を計算したいので、L + T を使う。S = \alpha \sigma \sqrt{L + T}
導出過程
1 日単位での出荷数量
ここでは、例として発注点方式を採用し、発注時に安全在庫を計算することを考えます。発注から納品まで
に従います。
発注時の在庫数を
となるような
次のように計算することができます。
であるため、
となり、
という式が導かれます。
在庫数 = 平均出荷数 + 安全在庫
という式になっていることがわかります。
定期発注の場合も、
安全在庫は万能ではない
安全在庫の考え方はわかりやすく、欠品率さえ決めてあげれば在庫数の目安がわかります。また、発注点などの他の指標の計算にも活用することができ、とても便利な数値です。
一方で、いくつかの欠点があることも指摘されています。
- 過剰な在庫数になりがち
- 欠品の確率をコントロールすることしか考えてないので、愚直に使うと在庫が多くなります。
- 過剰在庫も考慮した適正在庫という考え方もあります。
- リードタイムの不確実性を考慮していない
- 今回はリードタイムを定数として扱いましたが、一般的には製造や配送などの都合でリードタイムも変動します。
- リードタイムを確率変数として扱うモデルもあります。最近だと APIM というモデルが優れていると聞きました。
- 出荷数の分布が正規分布ではないと不適切な結果になる恐れがある
- 季節変動や割引セールなどの影響により、正規分布から大きく離れることがありえます。
- 時系列予測モデルを組み合わせて、以下のように計算すると、改善される可能性があります。
- 在庫数 = 予測値 + 安全在庫
- 安全在庫 =
× 予測誤差の標準偏差 ×\alpha \sqrt{L}
余談
定期発注方式を採用する場合、発注してから納品されるまで
詳しい方、教えてください!
Discussion