「そろそろ切れそうだから多めに頼んでおこう」——発注を担当者の勘と経験に任せていると、片方の商品は欠品して販売機会を逃し、もう片方は倉庫で眠り続ける、という板挟みが必ず起きます。人が代わると発注量がガラッと変わるのも、勘発注ならではの悩みです。
この記事は、在庫を数える「管理・追跡」の話ではなく、その一歩先の「いつ・どれだけ発注するか」を決める工程——つまり発注点と需要予測を、スプレッドシートと生成AIで仕組み化する実務手順に絞って解説します。棚卸や在庫差異の管理そのものはスプレッドシート在庫管理の限界とアプリ化で扱っているので、本記事は「発注の意思決定」を軸に進めます。
結論:発注点+需要予測を仕組み化すれば、欠品と過剰在庫は同時に減らせる
発注を勘から仕組みへ移す一番の近道は、商品ごとに発注点(これを下回ったら発注する在庫の水準)を決めておくことです。発注点の基本式はシンプルで、発注点 = 1日あたりの平均出庫数 × 調達リードタイム(発注してから入荷するまでの日数)+ 安全在庫。たとえば1日に平均20個出て、入荷まで3日かかり、安全在庫を40個持つ商品なら、発注点は20×3+40=100個になります。在庫が100個を割ったら発注する、というルールにするだけで、担当者の勘に頼らず欠品を防げます。
ここでのAIの役割は、売上や需要を統計モデルで「ぴたり当てる」ことではありません。過去の出庫データからリードタイムや需要のばらつきを読み解き、発注点・安全在庫のたたき台を作り、「大口受注が入ったら」といったシナリオで在庫がどう動くかを試算させる——この読み解き・下書き・シナリオ支援こそがAIの使いどころです。中小機構のJ-Net21も、適正在庫は「受注から納期までの期間」と「リードタイム」を土台に、過去の受注実績から考えるのが基本だとしています。
在庫の「管理」と「発注」は別工程:ここを混ぜると勘発注が残る
在庫まわりの改善でつまずきやすいのが、「在庫を正確に数えること」と「いつ・いくつ頼むかを決めること」を同じ作業だと思ってしまう点です。在庫を1個単位で正確に把握できても、発注のルールが「担当者の感覚」のままなら、欠品も過剰在庫もなくなりません。逆に、在庫の精度がそこそこでも、発注点というルールがあれば発注の質は一段上がります。
観点 | 在庫管理・追跡 | 発注・需要予測(本記事) |
|---|---|---|
問い | 今、何がいくつあるか | いつ・いくつ発注すべきか |
主な道具 | 入出庫台帳・棚卸・バーコード | 発注点・安全在庫・需要予測 |
失敗の形 | 在庫差異・記録漏れ・二重計上 | 欠品・過剰在庫・発注の属人化 |
ゴール | 数字を実態に合わせる | 発注の意思決定を再現可能にする |
まずは在庫の数字が信用できる状態を作り、その上に発注ルールを乗せる——この順番が実務では効きます。数字の土台づくりに不安がある場合は先に在庫管理側を整え、本記事の発注ルールはその次に重ねてください。
発注点の決め方:需要率 × リードタイム + 安全在庫
基本式と、まず埋める3つの数字
発注点は3つの数字で決まります。(1) 1日あたりの平均出庫数(需要率)、(2) 調達リードタイム、(3) 安全在庫です。(1)×(2)は「入荷を待っている間に出ていく分」、そこに欠品を防ぐ緩衝材として(3)を足す、という組み立てです。まずは主要な商品について、過去数か月の出庫実績から平均出庫数を出し、仕入先ごとの実際のリードタイムを調べるところから始めます。
安全在庫の考え方(ざっくりでよい)
安全在庫は、需要のブレや入荷の遅れを吸収するための予備在庫です。JISでも安全在庫は「需要変動または補充期間の不確実性を吸収するために必要とされる在庫」と定義されています。理論的な目安の式は安全在庫 ≒ 安全係数 × 出庫量のばらつき(標準偏差)× √リードタイムで、安全係数は「どこまで欠品を許すか」で決まります(欠品を5%まで許容するなら正規分布で約1.65が目安)。
ただし中小企業の現場では、いきなり標準偏差を計算しなくても構いません。「よく動く商品は厚めに、ほとんど動かない商品は薄めに」と粗く決め、欠品や過剰が起きた商品だけ後から見直す運用でも十分に前進します。大事なのは精緻さより、勘発注をルールに置き換えて、あとで直せる形にすることです。
定量発注方式と定期発注方式の使い分け
発注のやり方は大きく2つあります。在庫が発注点を割ったら「決まった量」を頼む定量発注方式と、毎週・毎月など「決まったタイミング」で在庫を見て必要量を頼む定期発注方式です。動きが安定した定番品は定量発注、需要が読みにくい商品や高単価品は定期発注、と分けるのが基本です。
観点 | 定量発注方式 | 定期発注方式 |
|---|---|---|
発注のきっかけ | 在庫が発注点を割ったとき | あらかじめ決めた発注日 |
1回の発注量 | 原則いつも同じ(EOQ等) | 毎回計算して変える |
向く商品 | 需要が安定した定番品・低単価品 | 需要が読みにくい商品・高単価品 |
手間 | ルール化すれば軽い | 都度の見直しが必要で重め |
定量発注の「1回あたりいくら頼むか」を突き詰めた考え方が経済的発注量(EOQ)です。これは、発注のたびにかかる費用と、在庫を持ち続ける費用の合計が最小になる発注量、という考え方で、20世紀初頭から知られる古典的な公式(ウィルソンの公式)が土台になっています。中小企業では厳密な最適解を出すより、「頻繁に少しずつ頼むと発注の手間が増え、まとめて頼むと在庫がかさむ」というトレードオフを意識して発注量を決める、くらいの理解で十分実用になります。
需要予測の考え方:移動平均から季節性まで
発注点の「1日あたりの平均出庫数」を、過去の平均でそのまま置くのが一番シンプルな需要予測です。直近の傾向を反映したいなら、直近数か月の平均を毎月ずらして使う移動平均が扱いやすく、スプレッドシートの標準関数だけで組めます。季節性(繁忙期・閑散期)がある商品は、去年の同じ月を参考にする、季節指数で補正する、といった一段深い手法が必要です。
需要の「金額」そのものを本格的に予測したい場合は、発注ではなく売上予測の領域になります。移動平均・季節性・回帰の使い分けはスプレッドシートと生成AIで売上を予測する手順で詳しく整理しているので、需要予測を深掘りしたい方はそちらを参照してください。本記事は「発注の判断に必要な範囲の予測」に絞ります。
スプレッドシートでの作り方:発注点を割ったら赤く出す
出庫実績から発注点を計算する
まず、商品ごとに「現在庫」「1日あたり平均出庫数」「リードタイム」「安全在庫」を並べた表を1枚作ります。平均出庫数は入出庫明細からSUMIFSなどで期間・商品を絞って合計し、日数で割って求めます。発注点の列には「=平均出庫数×リードタイム+安全在庫」の式を入れ、下の行までコピーすれば全商品の発注点が一気に並びます。
条件付き書式で「発注点割れ」を可視化する
次に、「現在庫 ≦ 発注点」になった行を条件付き書式で赤く塗ります。これで、表を開けば「今すぐ発注すべき商品」がひと目で分かります。さらに現在庫と発注点の差を「発注の緊急度」として並べ替えれば、どれから手を打つかの優先順位も付けられます。ここまでは無料のスプレッドシートだけで十分に作れます。
ただしスプレッドシートには弱点があります。誰かが開いて確認しに行かないと、発注点を割ったことに気づけないのです。赤く塗れても、その表を今日見なければ欠品は防げません。担当者一人のブックだと属人化しやすく、複数拠点・複数人で同時に触ればズレや上書き事故も起きます。私たちは、こうしたスプレッドシートを社内で使える「アプリ」に仕立てるサービスも行っています。記事の途中で恐縮ですが、発注点を割った商品を自動で抽出してメールやチャットに通知したり、発注リストをボタンひとつで作ったり、入力をフォーム化して数量ミスを防いだり——スプレッドシートの一番弱いところを補いたい場合の選択肢として、よろしければのぞいてみてください。
AIの使いどころ:予測モデルより「読み解き・下書き・シナリオ」
(a) 過去の出庫からリードタイム・ばらつきを要約させる
会計ソフトや在庫台帳からエクスポートした入出庫明細を生成AIに読ませ、「商品ごとの平均出庫数」「出庫のばらつき(ブレの大きい商品)」「仕入先ごとの実際のリードタイム」を要約させます。人が数百行を目で追うより速く、発注点に入れるべき数字の当たりがつきます。
次の入出庫明細(日付・商品名・区分・数量・仕入先)を読み、(1)商品ごとの1日あたり平均出庫数、(2)出庫のばらつきが大きく欠品リスクが高い商品、(3)仕入先ごとの平均リードタイム(発注日から入荷日までの日数)、を表形式で要約してください。推測が入る箇所はその旨を明記してください。
(b) 発注点・安全在庫の初期値をたたき台で出させる
要約で拾った数字をもとに、主要商品の発注点と安全在庫の初期値をAIに下書きさせます。ゼロから手で決めるより速く、設定漏れの商品も洗い出せます。ただし出てきた数字はあくまで叩き台なので、実際の仕入条件や販売計画と必ず突き合わせて直します。
(c) 「大口受注が入ったら」をシナリオ試算させる
発注の怖さは「予定どおりに動かなかったとき」に出ます。できあがった発注表をAIに渡し、大口受注が入った場合や、仕入先のリードタイムが延びた場合に、どの商品がいつ欠品しそうかを試算させます。楽観だけでなく、この保守シナリオを持っておくのが実務の勘所です。発注は仕入の支払いを通じて資金繰りにも直結するので、大量発注の前にはAIで資金繰りを先読みする方法とあわせて手元資金を確認しておくと安全です。
ABC分析:全商品に同じ発注ルールを当てない
数百・数千の商品すべてに丁寧な発注点を設定するのは現実的ではありません。そこでABC分析で、売上や出庫金額の大きい順にA・B・Cへ分け、力の入れどころを変えます。売上の大半を占めるA商品には発注点や安全在庫をきちんと設定し、ほとんど動かないC商品はまとめ買いや発注サイクルの間引きで手間を減らす、というメリハリです。
「全部を完璧に」を目指すと運用が続かず、結局また勘発注に戻ります。まずはA商品だけルール化し、回り始めてからB・Cへ広げるのが、無理なく定着させるコツです。スプレッドシート運用そのものが限界に近いと感じているなら、移行とアプリ化の選択肢を整理したスプレッドシート管理の限界を第3の選択肢で越える考え方も参考になります。
実務でよくある落とし穴
- リードタイムを短く見積もる:カタログ上の納期で計算し、実際の入荷遅れを織り込まないと、発注点が低すぎて欠品する。実績ベースで見直す。
- 安全在庫を一律にする:全商品に同じ日数分を持たせると、動かない商品の過剰在庫が膨らむ。動きの大きさで厚みを変える。
- 発注点を作りっぱなしにする:需要も仕入条件も変わる。少なくとも季節の変わり目には見直さないと、古いルールが欠品と過剰を生む。
- AIの出力を検算せず鵜呑みにする:AIの要約や試算は叩き台であって正解ではない。平均や合計は実データと突き合わせて確かめる。
- 数字の土台が崩れている:在庫の記録がずれていると、どんな発注点も機能しない。まず入出庫の精度を担保する。
発注点・需要予測の仕組みづくりや、スプレッドシートのアプリ化・AI活用について相談したいことがあれば、お気軽にお問い合わせください。御社の商品構成や仕入の実情に合わせて、無理なく続けられる発注の形をご提案します。
よくある質問
発注点はどうやって計算しますか?
発注点=1日あたりの平均出庫数×調達リードタイム+安全在庫、で求めます。たとえば1日20個出て入荷まで3日、安全在庫40個なら、20×3+40=100個。在庫が100個を割ったら発注する、というルールにします。
在庫管理と発注・需要予測は何が違いますか?
在庫管理は『今、何がいくつあるか』を正確に把握する工程で、発注・需要予測は『いつ・いくつ頼むか』を決める別の工程です。在庫を正確に数えても発注が勘のままだと欠品や過剰在庫は残るため、両方を分けて整えることが重要です。
定量発注方式と定期発注方式はどう使い分けますか?
在庫が発注点を割ったら一定量を頼む定量発注は、需要が安定した定番品・低単価品に向きます。決まったタイミングで必要量を頼む定期発注は、需要が読みにくい商品や高単価品に向きます。商品ごとに使い分けるのが基本です。
在庫の発注にAIを使うと何ができますか?
AIは需要をぴたり当てる道具ではなく、過去の出庫からリードタイムや需要のばらつきを要約し、発注点・安全在庫の初期値を下書きし、大口受注や入荷遅れのシナリオを試算する支援に向きます。出力は叩き台なので実データと突き合わせて使います。
スプレッドシートだけでも発注管理はできますか?
発注点の計算や、条件付き書式で発注点割れを赤く出すところまではスプレッドシートで作れます。弱点は、誰かが開いて確認しないと発注点割れに気づけない点と、複数人・複数拠点での同時更新に弱い点で、そこはアプリ化で通知や入力管理を補うと安定します。