在庫の積み上がりと欠品を同時に抱える現場では、「売れ筋商品なのに品切れ」「動かない商品が倉庫を圧迫」といった矛盾が日常化しています。私がこれまで支援してきた製造・小売企業でも、発注担当者の勘と経験だけでは季節変動や突発需要に対応しきれず、過剰在庫と機会損失の両面でコストが膨らんでいました。Claude Code を用いた需要予測と発注自動化は、こうした課題に対して販売実績データと在庫データを組み合わせ、安全在庫の適正ラインを算出しながら発注タイミングを判断する実装を可能にします。本記事では、データ前処理から予測モデルの構築支援、発注ロジックの設計、異常在庫アラートまでを段階的に解説し、SCM責任者や購買部門が自社環境で試せる手順を示します。
本記事の結論: Claude Code は販売実績CSVと在庫マスタを読み込み、需要予測モデルの構築と安全在庫計算、発注判断ロジックの実装を対話的に支援する。段階的に精度を上げながら、最終的に異常在庫アラートまで組み込むことで、過剰在庫と欠品リスクを同時に抑制できる。
Claude Code が在庫最適化に適している理由
Claude Code は、販売データと在庫データの前処理、統計的な需要予測モデルの構築支援、発注ロジックのコード生成を一貫して実行できる点で在庫最適化に適しています。従来の BI ツールは過去実績の可視化に留まり、予測や発注判断の自動化には別途 Python スクリプトや専用システムの開発が必要でした。Claude Code を使えば、担当者が「過去12ヶ月の販売データから来月の需要を予測し、安全在庫を超えたら発注指示を出す」といった要件を自然言語で伝えるだけで、データ読み込み・欠損値処理・移動平均や指数平滑法の適用・発注判断ロジックの Python コード生成までを対話的に進められます。
実装例では、月次販売データ(CSV)と在庫マスタを Claude Code に読み込ませ、欠損月の補完や外れ値の検出を依頼した後、「移動平均法で翌月の需要を予測し、現在庫が安全在庫ラインを下回ったら発注フラグを立てる」という指示を出すことで、数十行の Python スクリプトが生成されます。このスクリプトは Jupyter Notebook や社内サーバーで定期実行する形に組み込めるため、毎週の在庫棚卸後に自動で発注候補リストを更新する運用が可能になります。
Claude Code データ分析・BIダッシュボード構築 の記事で詳述した通り、Claude Code はデータ前処理と可視化にも強みがあるため、需要予測結果をグラフ化して現場担当者と共有する流れまで一貫して支援できます。これにより、「なぜこの商品が発注対象になったのか」を視覚的に説明できるため、導入初期の信頼性確保にもつながります。
販売データの前処理と需要パターンの把握
在庫最適化の第一歩は、販売実績データの品質を整え、需要の季節性やトレンドを把握することです。多くの企業では、販売データが複数システムに分散しており、商品コードの不一致や欠損月が混在しているため、そのままでは予測モデルに投入できません。Claude Code を使えば、CSV や Excel ファイルをアップロードし、「商品コードの重複を確認して統一し、欠損月は前後月の平均値で補完してほしい」と依頼するだけで、pandas を用いた前処理スクリプトが生成されます。
実装例では、過去24ヶ月の月次販売データ(商品コード、年月、販売数量、売上金額)を読み込み、欠損月を線形補完した後、商品ごとに月別販売数量の折れ線グラフを出力しました。このグラフを見ることで、特定商品が夏季にピークを迎える季節性や、年末に向けて販売数量が増加するトレンドが視覚的に確認でき、後続の予測モデル選択(移動平均か季節調整付き指数平滑か)の判断材料になります。
また、異常値の検出も重要です。例えば、キャンペーン月に通常の5倍の販売数量が記録されている場合、そのまま予測に含めると過大な在庫を抱えるリスクがあります。Claude Code に「販売数量が平均の3倍を超える月をフラグ立てし、除外した上で予測モデルを構築してほしい」と依頼すれば、外れ値処理とモデル学習を一連のフローで実行できます。この段階で現場担当者が結果を確認し、「このキャンペーンは毎年実施するから含めたい」といったフィードバックを返すことで、実務の知見をモデルに反映させられます。
1. 販売データのアップロード — CSV や Excel を Claude Code にアップロードし、カラム構成(商品コード、年月、販売数量等)を確認
2. 欠損値・重複の処理 — 「欠損月を前後月の平均で補完し、商品コードの重複を統一してほしい」と指示
3. 異常値の検出 — 「販売数量が平均の3倍を超える月をフラグ立てし、除外オプションを用意してほしい」と依頼
4. 需要パターンの可視化 — 商品ごとの月別販売数量グラフを出力し、季節性・トレンドを確認
需要予測モデルの構築支援と精度検証
前処理が完了したら、需要予測モデルを構築します。在庫最適化では「翌月の販売数量」を予測し、その結果をもとに発注量を決定するため、予測精度が直接的に過剰在庫と欠品リスクに影響します。Claude Code は、移動平均法・指数平滑法・線形回帰といった基本的な手法を対話的に試せる環境を提供し、実装例では「過去3ヶ月の移動平均で翌月を予測し、実績との誤差を RMSE(二乗平均平方根誤差)で評価してほしい」という指示で、モデル構築と精度検証のコードが生成されました。
移動平均法はシンプルで説明しやすい反面、急激なトレンド変化には追従しにくい特性があります。季節性が強い商品には、指数平滑法や季節調整付きの手法(Holt-Winters 法など)が適している場合もあります。Claude Code に「季節調整付き指数平滑法を試してみて、移動平均法と RMSE を比較してほしい」と依頼すれば、複数モデルの精度を並べた表が生成され、どちらを採用すべきか判断できます。この段階で、過去12ヶ月のデータをトレーニングセット、直近3ヶ月をテストセットに分けて精度検証を行い、実運用前に予測のブレ幅を把握することが重要です。
精度検証の結果、RMSE が大きい商品については、販売データ以外の要因(天候、イベント、競合キャンペーン等)が影響している可能性があります。Claude Code に「外部データ(気温、祝日フラグ等)を追加して線形回帰モデルを構築し、精度が改善するか試してほしい」と依頼すれば、多変量回帰のコードが生成されます。ただし、外部データの収集と整備には追加コストがかかるため、まずは販売実績のみで試し、精度が不足する商品に限定して外部要因を組み込む段階的アプローチが現実的です。
予測モデルの選択は商品特性により異なります。実装例では、定番商品には移動平均法、季節商品には季節調整付き指数平滑法を適用し、商品ごとに最適な手法を使い分けることで全体の精度を向上させました。
安全在庫の計算と発注判断ロジックの設計
需要予測ができたら、次は安全在庫の計算と発注判断ロジックを設計します。安全在庫は、予測誤差とリードタイムを考慮して「欠品を防ぐために最低限保持すべき在庫量」を定めるもので、一般的には「予測誤差の標準偏差 × 安全係数 × √リードタイム」で算出されます。Claude Code に「過去3ヶ月の予測誤差の標準偏差を計算し、リードタイム7日、安全係数1.65(サービスレベル95%相当)で安全在庫を算出してほしい」と依頼すれば、商品ごとの安全在庫ラインが一覧表で出力されます。
発注判断は、「現在庫 + 発注残 < 予測需要 + 安全在庫」の条件を満たす商品に発注フラグを立てるロジックで実装します。実装例では、在庫マスタ(商品コード、現在庫、発注残、リードタイム)と予測結果を結合し、発注フラグ付きの CSV を出力しました。この CSV を購買システムに取り込むか、担当者が目視で最終確認する運用が想定されます。発注ロットの制約(最小発注単位が100個など)がある場合は、「発注フラグが立った商品は、必要数量を100の倍数に切り上げてほしい」と追加指示することで、ロット調整も自動化できます。
発注タイミングの調整も重要です。毎日発注すると手間が増えるため、週次で発注候補をまとめる運用が一般的です。Claude Code に「毎週月曜日に実行するバッチスクリプトとして、発注フラグ付き CSV を出力し、メールで担当者に送信するコードを生成してほしい」と依頼すれば、cron や Windows タスクスケジューラで定期実行できる形に仕上げられます。初期は担当者が目視確認して発注を確定し、精度が安定したら自動発注に移行する段階的運用が推奨されます。
| 項目 | 計算式例 | 備考 |
|---|---|---|
| 安全在庫 | 予測誤差の標準偏差 × 1.65 × √リードタイム | サービスレベル95%の場合 |
| 発注点 | 予測需要 + 安全在庫 | 現在庫+発注残がこれを下回ったら発注 |
| 発注量 | 発注点 - (現在庫 + 発注残) | ロット単位に切り上げ |
異常在庫アラートの実装と継続的な精度改善
発注ロジックが稼働し始めたら、異常在庫アラートを実装して過剰在庫と欠品リスクを早期に検知します。Claude Code に「在庫回転率が過去3ヶ月平均の50%を下回る商品(動きが悪い)、または現在庫がゼロかつ予測需要が正の商品(欠品リスク)をフラグ立てし、週次レポートとして CSV 出力してほしい」と依頼すれば、異常検知ロジックが組み込まれます。このレポートを購買担当者と共有することで、「なぜこの商品が過剰在庫になったのか」「欠品前に追加発注が必要か」といった議論が可能になります。
実装例では、在庫回転率(販売数量÷平均在庫)が0.5を下回る商品を「低回転在庫」、現在庫がゼロかつ翌月予測需要が10以上の商品を「欠品リスク」としてフラグ立てし、毎週月曜日にメール送信する運用を構築しました。このアラートにより、担当者は日常業務の中で異常在庫に気づき、値引き販売や追加仕入れといった対応を早期に判断できます。
継続的な精度改善も欠かせません。運用開始後、毎月の予測精度(RMSE)と実際の在庫状況(過剰在庫率、欠品回数)をモニタリングし、Claude Code に「今月の RMSE が先月より20%悪化した商品をリストアップしてほしい」と依頼することで、モデル再学習の優先順位を決められます。季節性の変化や新商品の投入により需要パターンが変わる場合は、3ヶ月ごとにトレーニングデータを更新し、モデルを再構築する運用が推奨されます。
Claude Code 物流・倉庫業務効率化 の記事で解説した入出庫管理や在庫照合との連携も有効です。需要予測と発注判断を Claude Code で自動化しつつ、倉庫内の在庫移動データをリアルタイムに同期することで、「帳簿在庫と実在庫の乖離」による発注ミスを防げます。また、Claude Code ベンダー管理・発注業務自動化 の記事で紹介したベンダー選定や発注書生成との統合により、発注フラグが立った商品を自動的に発注書に変換し、取引先にメール送信する完全自動化も視野に入ります。
異常在庫アラートの閾値(在庫回転率0.5など)は業種・商品特性により異なります。運用開始後、実際のアラート件数と担当者の対応可能件数を見ながら、閾値を調整してください。
まとめ
Claude Code を活用した在庫最適化は、販売データの前処理から需要予測モデルの構築、安全在庫計算、発注判断ロジック、異常在庫アラートまでを段階的に実装できる点が特徴です。実装例では、移動平均法と季節調整付き指数平滑法を商品特性に応じて使い分け、週次で発注候補リストを出力する運用を構築しました。初期は担当者が目視確認して精度を検証し、安定後に自動発注へ移行する段階的アプローチにより、過剰在庫と欠品リスクを同時に抑制できます。
株式会社デジライズでは、Claude Code を用いた在庫最適化の導入支援を「研修」と「コンサルティング」の2本柱で提供しています。研修では、購買担当者や SCM 責任者が自ら需要予測モデルを構築し、発注判断ロジックを設計できるよう、ハンズオン形式でサポートします。コンサルティングでは、貴社の販売データと在庫マスタを分析し、商品特性に応じた予測手法の選定、安全在庫の閾値設定、既存 ERP や購買システムとの連携設計まで一貫して支援します。まずは無料相談で、貴社の在庫課題と期待する効果をお聞かせください。初回のデータ前処理と需要パターンの可視化までを無償で実施し、導入の実現可能性を具体的にご提案します。