激安AI顧問

欠品・過剰在庫を減らす発注点の決め方|安全在庫と発注量の計算式

文:山田 魁(AI顧問)

発注点は「平均×リードタイム+安全在庫」。卸は品目ごとに数字で持つだけで変わる

  • 発注点とは、「在庫がこの数まで減ったら発注する」という線のことです。基本の式は「1日の平均出荷量 × リードタイム + 安全在庫」。安全在庫は「安全係数 × 出荷のばらつき(標準偏差) × √リードタイム」で求めます。
  • 欠品と過剰在庫は、同じ原因から起きています。 発注の線がベテランの頭の中にしかなく、品目ごとの出荷のばらつきが数字になっていないことです。ばらつきの大きい品目は厚く、小さい品目は薄く持つ。これで両方を同時に減らせます。
  • 卸の場合は、式だけでは足りません。仕入先の最低発注単位・ケース単位、季節品・特売、メーカー欠品、得意先の急な大口を、式の外で決めておく必要があります。計算そのものは、出荷実績のCSVがあれば生成AIに手伝わせることができます。

こんにちは。AI顧問の山田魁です。

「売れ筋が切れて得意先に謝る。一方で、倉庫の奥には去年の在庫が積まれている」。地方の卸の倉庫を回っていると、この二つが同じ会社で同時に起きている場面によく出会います。欠品が怖いから多めに頼む。多めに頼むから置き場がなくなる。それでも別の品目は切れる。

原因の多くは、「いつ、いくつ頼むか」がベテランの経験に任されていることです。経験は大切ですが、品目が数千あると、人の頭だけでは全部に目が届きません。

この記事では、発注点と安全在庫の決め方を、卸の現場の事情に合わせて整理します。後半では、出荷実績のCSVから生成AIに計算を手伝わせる方法も紹介します。

発注点・安全在庫・発注方式の基本

発注点とは

発注点は、「在庫がこの数を下回ったら発注をかける」という基準の在庫数です。発注してから商品が届くまでの間(リードタイム)も出荷は続きます。その間に出ていく分と、予想より多く出たときの備えを足したものが発注点です。

発注点 = 1日の平均出荷量 × リードタイム(日) + 安全在庫

在庫が減って発注点を下回ったところで発注し、リードタイムの間も出荷が続いて在庫が減り、入荷で在庫が戻る。発注点の下には安全在庫がある
図1 発注点・リードタイム・安全在庫の関係

発注点を低くしすぎると欠品が起きます。高くしすぎると過剰在庫になります。J-Net21では、過剰在庫は保管費がかかって利益を減らすだけでなく、仕入代金を先に払うのに売上にならないため、資金繰りを悪くすると説明しています(J-Net21「過剰在庫を見直す」)。

ここで大事なのは、比べる在庫は「倉庫にある在庫」だけではない点です。すでに発注して、まだ届いていない数(発注残)も足して判断します。発注残を忘れると、同じ品目を二重に頼んでしまいます。

安全在庫とは

中小企業基盤整備機構のJ-Net21では、安全在庫を「出庫予測ミス・作業ミス・発注ミス・保管ミスなどにより在庫が過少になった時でも品切れを起こさない」ための在庫と説明しています。また、一般的にはリードタイムの間に出庫のスピードが速くなった場合を想定して数量を決める、としています(J-Net21「小売業の在庫費用削減策」)。

この「出庫が速くなる」幅を数字にしたものが、次の式です。

安全在庫 = 安全係数 × 出荷のばらつき(標準偏差) × √リードタイム

  • 標準偏差:毎日の出荷量が、平均からどのくらい上下にぶれるかを表す数字です。エクセルなら STDEV.S 関数で出せます。
  • 安全係数:どのくらいの確率で欠品を防ぎたいかで決める係数です。よく使われる目安は、欠品を防ぐ確率95%で約1.65、99%で約2.33です。エクセルでは NORM.S.INV(0.95) のように出せます。
  • √リードタイム:リードタイムが長いほど、ぶれが積み重なります。ただし日数に比例ではなく、日数の平方根に比例して増えると考えます。

この式は、毎日の出荷が平均のまわりに左右対称にばらつくことを前提にした、目安の計算です。出荷がまれな品目や、大口が時々入る品目では外れやすくなります。その扱いは後で書きます。

計算例(架空の数字)

以下は説明用の計算例です。実在の品目や会社の数字ではありません。

項目 値
品目 業務用ペーパータオル(1ケース=40パック)
直近60営業日の1日平均出荷量 12ケース
1日の出荷の標準偏差 5ケース
リードタイム(発注から入荷まで) 4営業日
安全係数(欠品を防ぐ確率95%) 1.65
  • 安全在庫 = 1.65 × 5 × √4 = 1.65 × 5 × 2 = 16.5 → 17ケース(切り上げ)
  • 発注点 = 12 × 4 + 17 = 48 + 17 = 65ケース

つまり「在庫と発注残の合計が65ケースを下回ったら発注する」というルールになります。

同じ平均12ケースでも、標準偏差が2ケースの品目なら安全在庫は約7ケースで済みます。逆に標準偏差が10ケースなら約33ケース必要です。平均が同じでも、ばらつきが違えば持つべき在庫は違う。 ここが勘の発注との一番の差です。

平均出荷が同じ1日12ケースでも、標準偏差2ケースなら安全在庫は約7ケース、5ケースなら17ケース、10ケースなら約33ケース(計算例、安全係数1.65、リードタイム4日)
図2 平均が同じでも、ばらつきで必要な安全在庫が変わる(計算例・架空の数字)

定量発注と定期発注の違い

発注のやり方には、大きく二つの方式があります。J-Net21では次のように説明されています(J-Net21「小売業の在庫費用削減策」)。

定量発注方式 定期発注方式
発注のタイミング 在庫が発注点を下回ったとき(不定期) 毎週月曜、毎月25日など決まった日
発注する量 毎回決まった量 毎回変わる(必要量を計算)
向いている品目 出荷が安定している品目、品目数が多い定番品 高額品、出荷の波が大きい品目、仕入先の発注日が決まっている品目
管理の手間 毎日の在庫チェックが必要 発注日ごとの計算が必要

定期発注では、発注点の代わりに「次の入荷までに必要な量」を計算します。考え方は同じで、期間が「発注間隔+リードタイム」に延びるだけです。

計算例(架空の数字):上のペーパータオルを毎週1回(7営業日ごと)発注する場合、対象期間は7+4=11日です。

  • 安全在庫 = 1.65 × 5 × √11 ≒ 27.4 → 28ケース
  • 必要な在庫 = 12 × 11 + 28 = 160ケース
  • 発注量 = 160 -(現在の在庫 + 発注残)

定期発注は発注間隔の分だけ安全在庫が厚くなります。そのぶん、発注の手間はまとめられます。卸では、仕入先ごとに「火曜と金曜に発注」と決まっていることが多いので、実際は定期発注の考え方に近い運用になっている会社が多いと思います。

J-Net21ではこの二つのほかに、必要になったときに必要な量だけ頼む「都度発注方式」も挙げ、売れ行きが読みにくい高額品など、在庫を持ちたくない品目に向くとしています(J-Net21「小売業の在庫費用削減策」)。卸でいえば、得意先から注文が入ってから仕入先に頼む「取り寄せ品」がこれに当たります。

発注量と在庫の上限は「何日分まで持つか」で決める

発注点は「いつ頼むか」を決める数字です。過剰在庫を減らすには、もう一つ「いくつ頼むか」と「どこまで持ってよいか」を決める必要があります。発注点だけを決めて、発注量を担当者の感覚に任せると、欠品は減っても在庫は膨らみます。

卸の現場で扱いやすいのは、発注量を個数ではなく日数で決めるやり方です。

発注量 = 1日の平均出荷量 × 何日分を一度に頼むか(ケース入数・最低発注単位に切り上げ)

計算例(架空の数字):上のペーパータオル(平均12ケース/日、安全在庫17ケース、発注点65ケース)で、一度に10日分を頼むと決めた場合。

  • 発注量 = 12 × 10 = 120ケース
  • 入荷した直後の在庫は、平均すると「安全在庫+発注量」= 17 + 120 = 約137ケース
  • 在庫日数(在庫が何日分の出荷に当たるか)= 在庫 ÷ 1日の平均出荷量。137ケースなら約11日分

この「入荷直後の在庫」が、その品目の在庫の上限の目安になります。棚にこれを大きく超える在庫があれば、発注量が多すぎるか、出荷が落ちているのに発注を続けているかのどちらかです。在庫日数で並べると、品目ごとの規模の違いに関係なく、持ちすぎの品目が上に来ます。

何日分を一度に頼むかは、次の兼ね合いで決めます。

  • 短くする(少量を何度も頼む):在庫と置き場所は減る。一方で、発注と入荷・検品の回数が増える。J-Net21は、多頻度少量発注は在庫を減らす有効な方法だが、納入業者の納入コストが上がり、その分が仕入代金に上乗せされるおそれがあるので、在庫費用全体のバランスを見て導入するよう注意しています(J-Net21「小売業の在庫費用削減策」)。
  • 長くする(まとめて頼む):発注と入荷の手間、運賃は減る。そのぶん在庫が増え、資金が寝る。
  • 仕入先の条件で決まってしまう:最低発注単位、1便あたりの最低金額、仕入先の発注日。これで日数が決まる品目は、前の章で書いたとおり、仕入条件の見直しの材料として一覧にしておきます。

すでに積み上がった在庫の当たりをつけるには、J-Net21が示している方法も使えます。売上高と在庫高でそれぞれABC分析をし、売上のランクより在庫のランクが高い品目を過剰在庫の候補とする、というものです(同ページ)。

卸の発注で、式の外に決めておくこと

教科書の式は、そのままでは卸の現場に合わないことがあります。よくある状況ごとに、式の外で決めておくことを整理します。

発注点の式に加えて、ケース・最低発注単位、季節品・特売、メーカー欠品、得意先の急な大口の4つは式の外でルールを決めておく
図3 卸の発注は「式」と「式の外のルール」の組み合わせで決まる

仕入先の最低発注単位・ケース単位

卸では「バラで出荷して、ケースやパレットで仕入れる」ことがよくあります。発注点はバラで計算しても、発注量はケース単位、さらに仕入先の最低発注単位(ロット)に切り上げる必要があります。

  • 発注点・安全在庫は、出荷の単位(バラ・パック)で計算する
  • 発注量は、ケース入数の倍数、かつ最低発注単位以上に切り上げる
  • 最低発注単位が1か月分の出荷を超えるような品目は、発注点ではなく「在庫を何日分まで許すか」を先に決める

最低発注単位が大きい品目は、発注点を正しく決めても在庫が膨らみます。これは計算の問題ではなく、仕入条件の問題です。品目を一覧にして、仕入先との交渉材料にするほうが効きます。

季節品・特売

カイロ、扇子、年末の業務用品、年度末の官公庁向け消耗品。卸には季節で出荷が大きく変わる品目が多くあります。1年分の平均と標準偏差で計算すると、夏に冬物の在庫を抱え、冬に欠品します。

  • 季節品は、同じ時期の前年実績で平均とばらつきを計算する
  • 特売や得意先のチラシ企画で増えた分は、通常の出荷とは分けて記録し、計算から外す。特売分は企画ごとに別に手配する
  • シーズンの終わりが近づいたら、発注点を下げるか、発注を止める日をあらかじめ決めておく

前年の動きを使った見込みの立て方は、中小の卸でもできる需要予測でも詳しく書いています。

メーカー欠品・リードタイムの延び

メーカー側の欠品や出荷調整で、いつもは3日で届く品目が2週間かかることがあります。リードタイムが延びれば、発注点も上げなければなりません。

  • 仕入先ごとに、実際の発注日と入荷日の差(実績リードタイム)を記録しておく
  • 案内があった品目は、その期間だけリードタイムを延ばして発注点を計算し直す
  • 代替品があるかどうかを、品目マスタに書いておく

リードタイム自体が毎回ぶれる仕入先の場合は、リードタイムのばらつきも加えた式があります。ただ、まずは「延びた品目だけ手で直す」運用で十分なことが多いです。

得意先の急な大口

地場のスーパーの新店、官公庁の年度末の一括購入、法人の移転。卸では、普段の何倍もの注文が突然入ることがあります。これを全部、安全在庫で吸収しようとすると、在庫が過剰になります。

  • 過去の出荷実績から、明らかな一回限りの大口は外して標準偏差を計算する
  • 大口は「何日前までに連絡をもらえれば対応できるか」を得意先と決めておく
  • 営業が大口の見込みをつかんだら、倉庫と購買に伝える流れを作る

FAXで届く注文書の中に大口の兆しが書かれていても、倉庫側が知るのは出荷当日、ということは珍しくありません。発注点の話は、営業と倉庫の情報共有の話でもあります。

それでも欠品したときの動き方を決めておく

安全係数1.65(95%)で計算するということは、発注から入荷までの間に、およそ20回に1回は在庫が切れてもおかしくない、という前提を受け入れることです。メーカー欠品や読めない大口もあります。発注点を正しく決めても、欠品はゼロにはなりません。

だからこそ、切れたときの動き方を先に決めておきます。決めていないと、担当者がその場で謝り、急ぎの便を手配し、記録は残らない、を繰り返します。

  • 得意先への連絡:誰が、いつまでに、何を伝えるか(入荷予定日、分納できる数、代替品の候補)。
  • 代替の手当て:代替品、他の拠点や物流子会社からの横持ち、仕入先への前倒し依頼。どれを、どの順で当たるかを品目区分ごとに決めておく。
  • 欠品の記録:日付、品目、得意先、欠品数、原因(発注の遅れ/リードタイムの延び/急な大口/帳簿と実在庫のずれ)を1行で残す。

原因まで書いておくと、直す場所が分かれます。発注の遅れやリードタイムの延びなら発注点の見直し、急な大口なら営業との連絡の流れ、帳簿のずれなら棚卸と入力の見直しです。この記録は、後で出てくるプロンプト例3の「直近3か月の欠品回数」の元データにもなります。

物流子会社と分かれている場合

在庫を持つのは本社の購買、倉庫を回すのは物流子会社、という形もよくあります。この場合、発注点を決める人と、在庫の実数を知っている人が別の会社にいます。発注点の一覧は、両社が同じファイルを見る形にしておくと、責任の押し付け合いになりにくくなります。

発注点の運用でよくある5つの失敗と対策

失敗1:出荷ゼロの日を数えていない

出荷実績のCSVは、出荷があった日しか行がないことが多いです。そのまま平均と標準偏差を出すと、平均は高く、ばらつきは小さく出ます。

対策:営業日の一覧を作り、出荷がなかった日は0として埋めてから計算します。

失敗2:倉庫の在庫だけ見て発注する

発注残を足さずに判断すると、入荷待ちの品目をもう一度頼んでしまいます。

対策:「倉庫在庫+発注残」で発注点と比べるルールにします。エクセル管理なら、発注残の列を必ず作ります。エクセル管理の見直しについては在庫管理をエクセルから卒業する前にやることにまとめています。

失敗3:全品目に同じ安全係数を使う

利益の大きい定番品も、年に数回しか出ない品目も、同じ95%で計算していないでしょうか。

対策:出荷金額や出荷回数で品目をランク分けし、ランクごとに安全係数を変えます。例えば、得意先に迷惑がかかる定番品は高め、取り寄せで対応できる品目は低め、という決め方です。年に数回しか出ない品目は、発注点を持たず取り寄せにする判断もあります。

失敗4:一度決めて、見直さない

発注点は、出荷の傾向が変われば古くなります。得意先が増えた、減った、商品が切り替わった。半年前の数字のままでは、また欠品と過剰在庫が同時に起きます。

対策:月に1回、または四半期に1回、計算し直す日を決めます。全品目を見直すのは大変なので、「欠品した品目」「在庫日数が長すぎる品目」から先に見ます。

失敗5:システムの在庫数がそもそも合っていない

発注点をいくら正しく計算しても、帳簿の在庫と実際の在庫がずれていれば意味がありません。

対策:発注点を入れる前に、売れ筋の品目だけでも棚卸で実数を合わせます。棚卸のやり方と効率化も参考にしてください。

発注点の計算と見直しを生成AIに手伝わせる

発注点の計算は、式自体は単純です。手間がかかるのは、品目数が多いこと、データを整える作業、そしてどの品目から見直すかを決めることです。ここに生成AI(ChatGPT、Claude、Geminiなど)が使えます。

使い方は大きく三つです。

  1. 出荷実績のCSVを渡して、品目ごとの平均・標準偏差・安全在庫・発注点を計算させる
  2. 自社のエクセルで毎月計算し直せるように、関数をAIに書かせる
  3. 計算結果から、見直しを優先すべき品目を抽出させる

プロンプト例1:CSVから発注点を計算させる

日別・品目別の出荷実績CSV(列:日付、品目コード、出荷数)と、品目マスタ(列:品目コード、リードタイム、ケース入数)を添付して使います。

添付した2つのCSVを使って、品目ごとの発注点と安全在庫を計算してください。

【データ】
・出荷実績.csv:日付、品目コード、出荷数(バラ)。出荷がない日は行がありません。
・品目マスタ.csv:品目コード、リードタイム(営業日)、ケース入数

【計算のルール】
1. 対象期間は直近60営業日です。土日祝は営業日に含めません。
2. 出荷がなかった営業日は出荷数0として扱ってください。
3. 1日の平均出荷量と標準偏差(標本標準偏差)を品目ごとに出してください。
4. 安全在庫 = 1.65 × 標準偏差 × √リードタイム
5. 発注点 = 平均出荷量 × リードタイム + 安全在庫
6. 安全在庫と発注点は、ケース入数の倍数に切り上げてください。

【出力】
品目コード、平均、標準偏差、リードタイム、安全在庫、発注点の表をCSVで出してください。
計算に使った手順と、データに不自然な点(極端な大口、マイナス値など)があれば最後に箇条書きで書いてください。

プロンプト例2:エクセルの関数を書かせる

AIに毎回計算させるより、自社のエクセルで再計算できるほうが長く使えます。

エクセルで発注点の計算シートを作りたいです。関数を教えてください。

【シートの構成】
・「出荷」シート:A列に営業日(60日分)、1行目に品目コード、各セルにその日の出荷数(出荷なしは0)
・「計算」シート:A列に品目コード、B列にリードタイム(営業日)、C列にケース入数、D列に安全係数(例:0.95)

【作りたい列】
E列:平均出荷量、F列:標準偏差、G列:安全在庫、H列:発注点
I列:現在庫、J列:発注残(どちらも手入力)
K列:発注判定(現在庫+発注残が発注点以下なら「発注」と表示)
発注判定が「発注」の行は、条件付き書式で色がつくようにしてください。
安全在庫は「NORM.S.INV(安全係数) × 標準偏差 × √リードタイム」、
発注点は「平均 × リードタイム + 安全在庫」で、どちらもケース入数の倍数に切り上げます。

計算シートの2行目に入れる式と、各式の意味を1行ずつ説明してください。
品目コードで出荷シートの列を探す方法(INDEXとMATCHなど)も含めてください。

AIの答えでは、AVERAGE、STDEV.S、NORM.S.INV、SQRT、CEILING.MATH、INDEX/MATCH などの組み合わせが出てくるはずです。式をそのまま信じず、2〜3品目は電卓で検算してください。

プロンプト例3:見直し対象の品目を抽出させる

添付した「発注点一覧.csv」(品目コード、品名、平均出荷量、発注点、現在庫、発注残、直近3か月の欠品回数)を見て、
見直しを優先すべき品目を抽出してください。

【抽出したいもの】
A. 直近3か月に欠品があった品目
B. (現在庫+発注残)が発注点の3倍を超えている品目(過剰在庫の候補)
C. 平均出荷量が1日1未満で、発注点を持たず取り寄せにしてもよさそうな品目

それぞれ上位20品目を表にし、なぜその品目を選んだかを1行で添えてください。
判断に迷う品目は「要確認」として分けてください。

どのくらい時間が変わるか(試算)

以下は試算です。実際の時間は、データの状態や品目数で大きく変わります。

前提:取扱品目500品目の発注点を見直す。出荷実績はCSVで出せる。エクセルの関数はある程度使える担当者が1名で作業する。

作業 これまで(手作業・試算) 生成AIを使う場合(試算)
出荷データの整形(出荷ゼロの日を埋める等) 約4時間 約1時間(AIに手順と式を作らせ、人が確認)
平均・標準偏差・発注点の計算式づくり 約3時間 約1時間(AIが書いた式を検算)
見直し対象の品目の洗い出し 約4時間 約1時間(AIに抽出させ、人が判断)
合計 約11時間 約3時間

時間が減るのは「式を作る・データを整える・候補を絞る」部分です。どの品目の安全係数を上げるか、大口をどう扱うかといった判断は、これまでどおり人が行います。

使うときの注意

  • 取引先名・得意先名・個人名はCSVから外すか、コードに置き換えてから渡してください。
  • 法人向けのプランを使うか、入力したデータをAIの学習に使わない設定になっているかを、事前に確認してください。
  • AIは計算や集計を間違えることがあります。出力は必ず人が確認する前提で使い、数品目は手で検算してください。

ほかの業務での使い方は、卸売業の生成AI活用事例10選でも紹介しています。

まとめ

  • 発注点は「1日の平均出荷量 × リードタイム + 安全在庫」、安全在庫は「安全係数 × 標準偏差 × √リードタイム」で求めます。
  • 欠品と過剰在庫を同時に減らす鍵は、品目ごとの出荷のばらつきを数字にすることです。ばらつきの大きい品目は厚く、小さい品目は薄く持ちます。
  • 過剰在庫を抑えるには、発注量を「何日分」で決め、入荷直後の在庫(安全在庫+発注量)を上限の目安として見ます。
  • 卸では、ケース単位・最低発注単位、季節品・特売、メーカー欠品、得意先の大口を、式の外のルールとして決めておく必要があります。欠品はゼロにはならないので、切れたときの連絡・代替・記録の手順も決めておきます。
  • 計算と見直し対象の抽出は、出荷実績のCSVがあれば生成AIに手伝わせることができます。判断と確認は人が行います。

まずは売れ筋の上位50品目だけでも、発注点を数字にしてみてください。ベテランの感覚と比べると、合っている品目と、ずれている品目が見えてきます。そのずれが、欠品と過剰在庫の正体です。

御社の倉庫で何ができるか、60分の無料相談で整理します。出荷データの出し方から、発注点の見直しの進め方まで、現場に合わせて一緒に考えます。無料相談からお気軽にお申し込みください。

出典・参考

Relatedあわせて読みたい