ひとりマーケティングのためのデータ分析

TOOLS / INVENTORY MANAGEMENT

「持ちすぎ」と「品切れ」のジレンマを数理モデルで解消する、
経済的発注量(EOQ)と発注点(ROP)の導き方。

保管費用と機会損失のジレンマを、数式で最適解に落とし込む。

2026/4/26

晴花

HARUKA

在庫は「資産」だけど、持ちすぎれば「お荷物」になる。一番おトクな発注量と、注文を出す絶妙なタイミングを、数字で見極めてみる。

経済的発注量(EOQ)と発注点(ROP)とは

統計的在庫管理手法のひとつ、定量発注方式を運用するのに必要な経済的発注量(EOQ)と発注点(ROP)を求めます。

EOQ
経済的発注量。発注費用と保管費用の合計が最小になる、最も効率的な1回あたりの注文量
ROP
発注点。在庫が「あといくつ」になったら発注すべきかを示す、物量的なタイミング

Excelは一部の手続きで使用しますが、このページの主眼は数理モデルの理解にあります。EOQの公式を使ってすぐに計算値を得たい場合、本ページの内容は冗長です。

01

状況を整理する

リサーチサービス社で使用する用紙(業務用コピー用紙)の消費量です。経理課の調査で年間 1,980,000 枚消費していることがわかりました。これを営業日数で除すと、1か月で 165,000 枚、1日で 7,500 枚消費していると考えられます。

消費量:年間198万枚、月16.5万枚、日7500枚

用紙の発注費用および保管費用です。前者は発注および管理事務にかかる諸費用(人件費・通信費など)および配送費用、後者は物的なスペースを占有することにかかる諸費用(倉庫・什器の賃借料、関連維持費など)として定義します。前者は発注回数に、後者は発注量およびその消費にしたがって変化する費用と考えてください。

具体的な値としては、発注費用が 2,000 円、保管費用が 1 枚あたり 3.216 円と求められています。

発注費用:2000円/回、保管費用:3.216円/枚

これらのデータを使って、年間にかかる総費用をシミュレーションします。具体的には次の 3 パターンを比較します。

  1. 1年に1回だけ発注
  2. 1年に12回発注(毎月1回)
  3. 1年に264回発注(年間営業日数分、つまり毎日発注)

なお、このシミュレーションでは発注したら品物が瞬時に納品されると仮定します。

まず1年の最初に1回だけ発注するパターンです。在庫量の変化をグラフにあらわすと図のようになります(縦軸: 在庫量, 横軸: $t$日目)。在庫の量は日々減り続け、増えることはありません。

年1回発注パターン:在庫量の変化グラフ(右肩下がり) 年1回発注パターン:在庫量の変化グラフ(拡大)

年間の発注回数は最初の1回のみですから、発注費用は 1回 × 2,000円 = 2,000円です。

年1回発注:発注費用2000円

年間の消費量は 198 万枚ですから、年初に 198 万枚すべてを仕入れます。この場合の保管費用を考えます。保管スペースのキャパシティを可変的に運用できる場合、年間の保管費用は在庫量が三角形を描くことから、ピーク量に固定した場合の半分になります。

保管費用:ピーク量固定vs可変運用の比較

この点をふまえ、保管費用を再度計算すると(1,980,000 × 3.216 ÷ 2 =)3,183,840 円となります。

保管費用半分の図解

発注費用と保管費用を合算した総費用は(2,000 + 3,183,840 =)3,185,840 円となります。

保管費用計算(3183840円)

1年に1回だけ発注するパターンでは、在庫関連費用は 3,185,840 円となりました。

年次一括購入:総費用3185840円

つづいて1年に12回発注するパターンです。1か月あたりの消費量 165,000 枚を月初日に仕入れていきます。

月次発注パターン(月初165000枚)

在庫量の変化をグラフにすると、先とは異なり櫛型となります。

月次発注:在庫量の変化グラフ(櫛型)

月ごとに発注をかけますので、山の数は 12 です。年間の保管費用は、先のパターンと同様にピーク量固定時の 1/2 となります。

月次発注:山の数12・保管費用はピーク量の1/2

発注費用と保管費用を次の式で計算します。

月次発注:発注費用・保管費用の計算式

1年に12回発注するパターンでは、在庫関連費用は 289,320 円となりました。

月次発注:総費用289320円

続いて1年に 264 回発注するパターンです。毎日の業務に必要な 7,500 枚を日々仕入れていきます。

日次発注パターン(毎日7500枚)

在庫量の変化のグラフはほぼ平坦に見えますが、拡大すると先のパターンと同様に櫛型の山があります。

日次発注:在庫量の変化グラフ(全体) 日次発注:在庫量の変化グラフ(拡大)

毎日発注をかけますから、山の数は 264(年間営業日数)です。保管費用はこれも同様にピーク量固定時の 1/2 となります。

日次発注:山の数264

同じように発注費用と保管費用を計算すると……

日次発注:発注費用・保管費用の計算式

在庫関連費用は 540,060 円となりました。

日次発注:総費用540060円

以上の3パターンの結果をあらためて提示します。このデータのもとでは、次のことが言えます。

  • 1年分を一括で仕入れるより、1か月分を一括で仕入れた方がおトク
  • 1か月分一括仕入れから毎日の仕入れに切り替えると、かえって損
3パターンの比較:年1回3185840円、月1回289320円、毎日540060円
02

経済的発注量を求める

上に見た3つのパターンはあくまで便宜上の区分であり、年間の在庫関連費用を最も小さくできる最適解を示すものではありません。以降、この点を考えていきます。

定量発注方式では最適な発注量を定数として考えます。1回あたりの発注量を $x$ と定義しておきます。

1回あたりの発注量をxと定義

3パターンの比較から、年間に要する発注費用の計算式を一般化すると

  • 年間発注費用=年間の発注回数 × 1回あたりの発注費用

とあらわせます。

年間発注費用の一般式

1回あたりの発注量を $x$ としたので年間の発注回数は「年間消費量 $÷x$」であらわせます。具体的な値を代入すると

  • $1980000÷x$

となります。

年間の発注回数:年間消費量÷x

1回あたりの発注費用(2,000 円)を代入すると

  • 年間発注費用 $=3960000000÷x$

とすることができます。

年間発注費用=3960000000÷x

年間発注費用 $=3960000000÷x$ 式をグラフに描画すると図のようになります(縦軸: 年間発注費, 横軸: $x$)。

年間発注費用グラフ(反比例曲線)

同様に、年間に要する保管費用の計算式を一般化すると

  • 年間保管費用 = 1回あたりの発注量 × 1単位あたりの年間保管費用 ÷ 2

とあらわせます。

年間保管費用の一般式

「1単位あたりの年間保管費用(3.216 円)」を代入すると

  • $x×3.216÷2$

とあらわせます。

年間保管費用:x×3.216÷2

すなわち年間保管費用は

  • 年間保管費用 $=1.608x$

となります。

年間保管費用=1.608x(簡略化)

年間保管費用 $=1.608x$ 式をグラフに描画すると図のようになります(縦軸:年間保管費用, 横軸:$x$)。

年間保管費用グラフ(正比例の直線)

これを先の年間発注費用のグラフと重ねると図となりました。

発注費用グラフと保管費用グラフを重ねた図

在庫関連費用は総費用(発注費用+保管費用)ですから、

  • 年間在庫関連費用 $=3960000000÷x+1.608x$

とあらわせます。

年間在庫関連費用の式(発注費用+保管費用)

この年間在庫関連費用 $=3960000000÷x+1.608x$ 式を先のグラフに重ねます(図オレンジ色の線)。

年間在庫関連費用曲線(オレンジ色)を追加した合成グラフ

年間在庫関連費用が最も小さくなるのはオレンジ色の線上の青色の点の位置です。このときの横軸上の赤色の点が、年間在庫関連費用を最小にできる $x$(1回あたりの発注量)となります。

最小コスト点(青色)とそのときのx(赤色)

この $x$ の具体的な値を知るために、図の緑色の点に注目します。「発注費用」線と「保管費用」線の交点で年間在庫関連費用が最も小さくなっている」ことを利用すると……

交点(緑色の点)の利用

発注費用 = 保管費用 となる式

  • $3960000000÷x=1.608x$

を導くことができます。これを $x$ について解けば具体的な値が求められます。

発注費用=保管費用の方程式

式を整えて数値計算ツール等で解くと $x=49625$ となります(マイナスの発注量は現実的でないため正の解のみ採用)。

方程式を解いてx=49625を導出

都度 49,625 枚発注していくと年間在庫関連費用を最小にできることがわかりました。ここで求めた値が経済的発注量(EOQ)です。

EOQ:49625枚 EOQのExcelシート
03

発注点とリードタイム

1日あたりの消費量が 7,500 枚でしたから、この EOQ は 6.6 日分の消費量に相当します。

EOQ49625枚は6.6日分の消費量に相当

49,625 枚発注・入荷して 6.6 日後に在庫がなくなったらまた発注……というサイクルで運用プランが立ちそうです。しかし実際の現場ではそう都合よくコトが運びません。

これまで発注と入荷の時間差がない世界を仮定してきましたが、第1の課題として、実際にはリードタイム(ここでは発注後入荷までの所要日数)が存在します。リードタイムを考慮しないと、在庫が底をついてからあらたな用紙が入荷されるまでの間、業務が止まってしまいます。

リードタイムなしvsありの在庫サイクル比較

リードタイムが存在することから、発注のタイミングをいくらか先取りする必要があります。定量発注方式では 発注点(ROP: ReOrder Point)と呼ばれる物量的なタイミングを設定します。以降の説明はこの発注点を求めていく過程となります。

発注点(ROP)の概念図

現在の業者との取引で、リードタイムは 3 日となっています。

リードタイム:3日 リードタイムのExcelシート

用紙の納入に 3 日かかりますから、この期間中に消費される予定量 22,500 枚をあらかじめ見込んで発注のタイミングをはかります。在庫残数が 22,500 枚に到達した時点で発注をおこなえば、業務を止めることなくサイクルをまわせそうです……が。

リードタイム中消費量22500枚での発注点設定
04

「安全在庫」も加味してみる

ここまで「1日あたり消費量」を定数として扱ってきましたが、現実にはこれは平均値です。日々の消費量には若干の多寡が生じます。

日次消費量は平均7500枚だが日々変動する 消費量変動のExcelシート

消費量が変動するため、入荷・発注・在庫切れのサイクルが 6.6 日のスパンで規則正しく繰り返されることはありません。消費のペースにしたがって発注点までの到達日数も変化します。

消費ペースの変動による発注点到達日数の変化

発注点以降(リードタイム中)の消費量も平均値であることを考慮しなければなりません。今回、毎日の消費量は正規分布にしたがっていることを前提としています。リードタイム中(3日間)の消費量の正規分布曲線を描くと、図の淡い茶色の領域で示されるように 50% の確率で 22,500 枚を超えてしまいます。

リードタイム中消費量の正規分布(平均22500枚・50%超過の危険)

つまり、現在の発注点設定のままでは、在庫を切らしてしまう事態が 2 回に 1 回は起こってしまいます。第2の課題として、これを解決する必要があります。

現発注点設定では2回に1回の欠品が発生

第2の課題を解決するために、リードタイム中に欠品が生じないよう発注点を引き上げます。この引き上げた分の在庫量が安全在庫と呼ばれます。

安全在庫(紫色部分)を追加して発注点を引き上げる

安全在庫を加味する場合、発注点にもそれを反映させる必要があります。リードタイム中の消費量(22,500 枚)に安全在庫を加えた値をあらたな発注点として再定義します。

新しい発注点=リードタイム中消費量+安全在庫

ここで「安全在庫をどの程度に設定すべきか」という課題が生じます。在庫切れを極度に恐れるあまり安全在庫を過剰に確保してしまっては、在庫関連費用の問題を無視することになりかねません。

安全在庫の設定は費用とのバランスが重要

後出しの情報ですが、1日あたりの消費量の標準偏差は 1,650 枚と把握しています。

1日あたりの消費量の標準偏差:1650枚 標準偏差1650のExcelシート

リードタイムは 3 日ですから、3 日分の標準偏差が必要です。説明の都合上、リードタイムを $t$ 日、1日の消費量の標準偏差を $\sigma$ とします。$t$ 日分の標準偏差はおおむね

  • $\sigma\times\sqrt{t}$

と近似できます。この方法で求めると $1650\times\sqrt{3} \approx 2858$ 枚となります。

リードタイム3日分の標準偏差:σ×√t リードタイム分標準偏差計算のExcelシート(2858枚)

1日の消費量が正規分布にしたがうという前提のもとでは、在庫切れの可能性を完全に排除することはできません。「安全在庫をどの程度に設定すべきか」については、「どの程度の頻度までなら在庫切れを許容できるか」を考えるアプローチが現実的です。

ここでは 20 回に 1 回程度の確率を許容することで様子を見ることにします(危険率: $5/100=0.05$)。

危険率5%(20回に1回の欠品を許容)の設定 危険率設定のExcelシート

20 回に 1 回の確率で在庫が切れるケースを考えます。リードタイム中の消費量に関する正規分布のグラフにおいて、右から 5% の領域を占める枚数(上側 5% 点)が新しい発注点の候補です。Excelでパーセント点を求める関数は累積(下側)確率を引数とするため、図の淡い茶色の領域の面積(95%)を使って計算します。

正規分布の上側5%点が新発注点の候補(危険率5%)

上側 5% 点を NORM.INV 関数で計算します。下の図のようなシート構成のとき、

  • =NORM.INV(1-B10, B7, B8)

という式で求められます。

NORM.INV関数で上側5%点を計算

上側 5% 点、すなわちあらたな発注点は 27,201 枚となりました(27,201 − 22,500 = 4,701 枚が安全在庫)。以上の手順で導いた定量発注方式による発注プランは次のとおりです。

発注量(EOQ) 49,625 枚
発注点(ROP) 27,201 枚
最終結果:EOQ49625枚・ROP27201枚

晴花