適正在庫の計算式をわかりやすく解説

2021年6月13日

定量発注方式の発注点や、定期発注方式の補充量をどうやって計算するか?

これらについての解説はあまりWebサイトに載っていません。

適正在庫量を計算できれば、発注点や補充量は自ずと決まります。

どういうことなのか?

できるだけわかり易く解説していきます。

 

適正在庫とは?

安全在庫とは「需要の変動を吸収するための在庫」でした。

【参考】

安全在庫の役割と計算方法をわかりやすく解説

 

これは次のようにも捉えることができます。

将来の売上が何個になるのかは、神のみぞ知るところです。

我々がどんなに精巧なソフトウェアを使ったところで、当たるものではありません。

そこで先週一週間の売上が一日平均10個だったら、来週も10個だろうと考えるのが普通です。

でも実際は15個だったり、7個だったりの日があったりします。

このように予想値からずれても欠品にならないように、保険として持っておく在庫とも言うことができます。

 

これに対してサイクル在庫があり、これは「発注したいと思ってから配達されるまでの期間の需要をまかなう在庫」でした。

先の例を使うと、発注したいと思ってから2日で店に配達されるとすると、1日平均10個x2日分ということで、20個がサイクル在庫になります。

 

そして安全在庫とサイクル在庫を足したものが、在庫の補充目標量となり、今日の在庫量と補充目標量との差を発注すれば、適正在庫を維持できるということになります

 

ですので、適正在庫というのは計算して求めるものではなく、常に補充目標量を目指した適正な発注をすることにより達成される在庫量と言うことができます。

簡略化すると下図のようになります。

 

ここで注意です。

本によっては、上図におけるサイクル在庫の半分をサイクル在庫と定義しているものもあります。

そのように定義すると、

適正在庫=安全在庫+サイクル在庫

となり説明がし易くなるためだと思われます。

しかし、米国のロジスティクスの本では上図のような定義が一般的です。

また、適正発注量を決めるのに在庫補充目標量が非常に重要です。

そのため、在庫補充目標量の定義を簡単にするために、

在庫補充目標量=安全在庫+サイクル在庫

とあえて定義して進めたいと思います。

 

さて、在庫補充目標量と現在庫の差を発注すれば適正在庫になるわけですが、上記の式はまだ完全ではありません。

リードタイムを1としているからです。

そこで、ここから先はリードタイムが長くても使える式を考えていきます。

 

発注サイクルやリードタイムが長い場合

前回の記事で安全在庫の計算式を

安全在庫=標準偏差*安全係数

と紹介しました。

 

実は、これは在庫補充のための仕入れ発注をいつでもできて、発注すれば翌日に納品されるという恵まれた環境を想定していました。

しかし、実際には2日に1回しか発注できなかったり、発注しても納品まで3日のリードタイムがかかるようなケースも考えられます。

 

まず、発注はいつでもできるが、納品まで3日のリードタイムがかかるケースを考えてみましょう。

安全在庫とは需要(売上)の変動を吸収するための在庫ですが、どのくらいの期間の需要の変動を吸収すればよいのでしょうか?

それは発注してから3日間ですね。

なぜなら、3日間をこの安全在庫で耐えしのげれば、危なくなったらいつでも発注できるので、次の発注でまた3日分の安全在庫を見込んで発注すればよいからです。

 

安全在庫=標準偏差*安全係数

の式の中にある標準偏差は、毎日の需要のばらつき度合を表しています。

つまり1日当たりのばらつき度合です。

 

では3日間のばらつき度合はどのように表すことができるのでしょうか?

答えは一日当たりのばらつき度合の√3倍です。

なぜそうなるのかと言いますと、分散の加法性ということが統計的に知られているためです。

【参考】

分散の加法性を平均値に適用する

 

標準偏差を2乗したものを分散と言います。

つまり分散もデータのばらつき度合を示す変数と言えます。

2つのデータ郡があって、それぞれの分散がaとbだった場合、2つのデータ郡を合体させたデータ郡の分散はa+bになるという定理が分散の加法性です。

 

具体的な例で見てみましょう。

商品Aの4月一か月間の売上データを下図とします。

 

そして商品Bのそれを下図とします。

 

この時、平均と分散(標準偏差の二乗)は次のようになります。

 

商品A

平均=563、分散=9,148

商品B

平均=910、分散=24,800

 

従って、2つの商品を併せた分散は

9,148 + 24,800 = 33,948

です。

 

一方、2の商品を併せた60個の売上データから分散を計算すると33,547となり、先ほどの33,948とほぼ一致します。

つまり、集合Aの分散を分散A、集合Bの分散を分散Bとすると、集合A+Bの分散は分散A+分散Bになるのです。

 

ここで、昨日までの毎日の需要の標準偏差をXとします。(分散はX

すると、今日の需要の分散もXと考えるのが妥当ですね。

というか、それ以外になるという予想を立てる理由が見つかりません。

明日の分散はどうでしょうか?

これもXと考えるしかありません。

同様に、明後日以降の分散も、昨日までのデータから予測するとすれば同じになります。

 

すると今日、明日、明後日とも分散はXですので、3日間の分散は3Xになります。

標準偏差は分散の平方根ですので√3Xです。

つまり、1日の売上の標準偏差がXだと、3日間の標準偏差は√3倍の√3Xになるのです。

 

これで長いリードタイムの場合の安全在庫の式を導けますね。

リードタイムがN日だとすると、安全在庫は次の式で計算できます。

安全在庫=√N*標準偏差*安全係数

 

さて、上で述べてきたリードタイムとは、発注してから納品されるまでの時間です。

一方、発注したいと思ってから実際に発注するまでの時間もあります。

「そんな細かいこと、気にする必要ないんじゃないの?」

と思いますが、そうでもないのです。

 

なぜなら、在庫が減ってきたと気づいたらいつでも発注できるわけではなく、実際は一日一回とか、場合によっては1週間に一回ということもあるかもしれないからです。

これを発注間隔(発注サイクル)と言います。

 

まず、一日一回の場合を考えてみましょう。

あまりない話しかもしれませんが、10分前に発注したばかりなのに、今さっき大量に買い占めたお客さんがいたと仮定しましょう。

一日一回の発注しかできない場合は、このような場合でも一日待たないと発注できませんので、発注する時に安全在庫として一日分余分に発注する必要があります。

つまり、先ほどリードタイムN日分を考慮した安全在庫を計算しましたが、これに一日分足してN+1日分の安全在庫にする必要がありますので、

安全在庫=√(N+1)*標準偏差*安全係数

が発注間隔1日の時の安全在庫になります。

 

ですので、発注間隔がM日の場合には

安全在庫=√(N+M)*標準偏差*安全係数

となることが容易に想像できるでしょう。

 

次に同様にリードタイムがN日、発注間隔がM日の場合のサイクル在庫がどのように計算できるかを考えてみましょう。

サイクル在庫とは、「発注したいと思ってから配達されるまでの期間の需要をまかなう在庫」でしたね。

発注してから配達されるまでの期間とはリードタイムN日ですが、発注しようと思うのはもっと前かもしれません。

なぜなら発注間隔がM日と決まっていますので、もしかすると発注してから大量の注文が入って、すぐにでも追加発注したいとしても、M日待たないといけないからです

従って、発注しようと思ってから実際に発注するまで最大M日間待つ可能性があります。

ですから

サイクル在庫=(N+M)*1日あたりの売上平均

になります。

 

適正在庫を維持する発注方法

ここまでこれば、適正在庫を維持する発注方法は簡単です。

発注する時に、

在庫補充目標量=安全在庫+サイクル在庫

=√(N+M)*標準偏差*安全係数+(N+M)*1日あたりの売上平均

と現時点の在庫量とのを発注すればよいだけです。

ですので、

適正発注量=√(N+M)*標準偏差*安全係数+(N+M)*1日あたりの売上平均―現在庫量

となります。

 

これに従って発注をしてやれば、毎日の在庫量は増えたり減ったりしますが、多すぎずに許容欠品率の範囲の欠品に収まるような在庫になります。

そして平均を計算すると、それが適正在庫量ということになるのです。