前回のコラムでは、1つの商品について在庫履歴をAI(ChatGPT)に読み込ませ、仕入れのタイミングを判断させる方法をご紹介しました。
今回はその応用編。 複数の商品データを一括でAIに読み込ませ、「今月は何をどれだけ仕入れるべきか?」という、より実践的で全体最適な判断をAIにまかせる方法を解説します。
仕入れ判断を属人的にせず、データに基づいた意思決定に変えていく――そんな第一歩に、ぜひご活用ください。
目次
1. 前準備
今回扱うサンプルデータをこちらに用意しました。
サンプルデータはこちら
データ準備の内容はとりあえず飛ばしたい、という方はこちらのデータをダウンロードして使用してください。
その1: 在庫履歴データのダウンロード
分析には、在庫数の変更履歴データを使います。
任意のアイテム詳細ページ内、「統計」パネルの右下にある「すべての履歴を表示」をクリックします。

「在庫変更履歴」のパネルの左上「ダウンロード」ボタンを押して、履歴データをExcelファイルとしてダウンロードします。


設定は変えずにそのままダウンロードしてOKです。この中で、特に「変更理由」の情報が入っていると分析の時に役立ちます。
ダウンロードしたファイルは、ひとつのフォルダにまとめて入れてください。
その2: 複数ファイルの統合
ChatGPTは、プランにもよりますが、2025年の7月7日現在、ChatGPT Plusプランで一度に読み込んでくれるファイルは10個までです。
ここでは無料プランの場合も考え、1つのファイルに統合する方法を解説します。
少し手順が掛かりますが、特に設定は必要なく、デフォルトでOKを押して進んでいくようなやり方です。
2-1: Excelを開き、新規で空白のブックを作成します。データタブを選択します。

2-2: 左端の「データの取得」をクリックし、「ファイルから」>「フォルダーから」を選びます。

2-3: 読み込むデータの場所を選択するウィンドウが出ますので、先ほどデータをまとめて入れたフォルダーを選択します。 すると、選択したフォルダに入っているExcelファイルやCSVファイルがリスト化されます。

2-4: 「結合」ボタンを押し、「データの結合と変換」を選択します。

ファイルの結合設定のウィンドウが表示されます。OKを押して進んでください。


PowerQueryエディターというウィンドウが開いた場合、左上の「閉じて読み込む」をクリックします。
すると、複数のExcelファイル(もしくはCSVファイル)が読み込まれた1枚のシートが出来上がります。

名前を付けて、このExcelファイルを保存してください。(xlsx形式)
以上でデータの統合は完了です。
2. ChatGPTで分析!
ChatGPTで分析する方法を紹介していきます。
ChatGPTには、能力の違う様々なモデルが用意されています。

在庫分析にお勧めなのは、ChatGPT 4oというモデルです。
回数制限がありますが、無料ユーザーでも使用することができます。
- 利用回数の目安: 無料プランではたとえば「10回/5時間」や「10ターン/3時間」といった制限があると報告されています。
- 制限を超えると、GPT‑4oミニ(軽量モデル)や別モデルに自動的に切り替わります。
また、ChatGPTで外部ファイルのデータを添付したり、分析を行うためにはChatGPTにログインする必要があります。Googleアカウントやメールアドレスで登録してログインしてください。

3. 在庫分析の指示
それではChatGPTへの指示をしていきます。 今回は、下記のようなプロンプトを与えました。
私は雑貨屋の店長です。あなたは、経営コンサルタントで仕入・在庫管理のアドバイスを請け負っています。これから店で取り扱っている商品のデータを渡します。 データは15商品の在庫履歴が1つのExcelシートにまとまっています。 各商品のリードタイム7日です。
このデータを見て、
- 各商品、今月、何日に何個仕入れればよいか、全商品の表を作成してください。また、仕入れる根拠も説明してください。
- 今月の仕入れが要らないものも含めて、全商品分の表を作成してください。
- 表には、
- 商品番号
- 商品名
- 発注日
- 仕入れ数
- 発注する根拠 を記載してください。
今日は2024年7月15日という設定でお願いします
プロンプトのポイント
精度の高い分析を行うためには、プロンプトの書き方がとても重要です。以下のポイントに注意してプロンプトを作成します。
ポイント1:役割の設定
ユーザーである自分の説明「雑貨店の店長です。」と、ChatGPTの役割「経営コンサルタント」を簡単に明示することで、言葉遣いや内容の詳細度・難易度を大まかに調節することができます。
ポイント2:与えるデータや追加情報
ChatGPTは稀にこちらの意図しないようなデータの読み方をしてしまうこともあるので、「データは15商品の在庫履歴が1つのExcelシートにまとまっています。」というように、データ構成の概要を与えることで、勘違いを防ぎます。
また、今回、Excelシートにはリードタイムの情報は入っていないので、プロンプトに直接「各商品のリードタイム7日です」と追加しています。もし、各商品のリードタイムがバラバラの場合は、リードタイムのリストを作成して、直接プロンプトに貼り付けても大丈夫です。
ポイント3:具体的な要求
知りたいことが具体的に決まっているときは、できるだけ具体的に伝えます。
今回は、「全商品の今月の仕入れ表」を提案してほしいので、表に含める項目も細かく指示しました。
上記のプロンプトを送信すると、下記のような返答が得られます。
はい、承知しました。まずは、Excelファイルをアップロードしてください。
ファイルをもとに在庫履歴を分析し、以下の要件を満たす表を作成いたします:
✅ 出力予定の表の項目
商品番号 | 商品名 | 発注日 | 仕入れ数 | 発注する根拠 |
---|
🔍 分析方針
- 在庫履歴の推移を確認し、販売ペースを算出
- 各商品の**安全在庫(例:2週間分)**を基準に、必要量を逆算
- リードタイム7日を考慮し、在庫が不足しそうなタイミングに先んじて発注
- 過剰在庫・低回転商品は、発注不要と明記
ファイルのアップロードをお待ちしております。
アップロード後、内容を確認し、分析を開始いたします。
データの与え方
前準備で作成した、全商品の在庫データのExcelファイル(もしくはcsvファイル)をChatGPTの画面にドラッグ&ドロップします。 (※本記事のデータは2024年1月~7月中旬の在庫履歴になっています。)
データを送信すると、分析を開始します。
4.結果の表示
商品番号 | 商品名 | 週平均販売数 | 在庫数 | 安全在庫 | 必要仕入数 |
---|---|---|---|---|---|
Z001 | 木製アロマディフューザー | 5 | 34 | 10 | 0 |
Z002 | レトロガラス風鈴 | 16.75 | 0 | 33.5 | 34 |
Z003 | 和紙のメモパッドセット | 7.75 | 8 | 15.5 | 8 |
Z004 | 陶器マグカップ | 0.25 | 7 | 0.5 | 0 |
Z005 | 小さな苔テラリウム | 0.75 | 23 | 1.5 | 0 |
Z006 | 天然木の靴べら | 0.5 | 11 | 1 | 0 |
Z007 | ミニ布巾セット | 4.25 | 12 | 8.5 | 0 |
Z008 | 手ぬぐい風タオル | 3.75 | 5 | 7.5 | 2 |
Z009 | ラタンバスケット | 0.75 | 5 | 1.5 | 0 |
Z010 | 竹炭入り消臭サシェ_0715まで | 10.5 | 23 | 21 | 0 |
Z011 | 草木染めの布マスク | 0.75 | 42 | 1.5 | 0 |
Z012 | 風合い和紙のポストカード | 0.5 | 14 | 1 | 0 |
Z013 | キャンドルホルダー | 1.25 | 5 | 2.5 | 0 |
Z015 | 焙煎ほうじ茶ブレンドティー | 2.75 | 19 | 5.5 | 0 |
Z014 | 季節の手作りアクセサリー(春) | 0 | 0 | 0 | 0 |
上記の「商品別仕入れ分析(2024年7月15日時点)」に基づき、各商品の仕入れが必要かどうかを判断し、発注表を作成します。
ここで、念のため、週平均販売数と安全在庫をどうやって計算したか、確認したところ、
週平均販売数は、直近1か月の販売数を4で割った数
安全在庫は、安全在庫 = 週平均販売数 × 2(週間)
で計算したとのこと。
比較的シンプルな求め方ではあるものの、仕入れ数の根拠としては利用価値のある数です。
続けて、発注表の作成をしてもらいます。
商品番号 | 商品名 | 発注日 | 仕入れ数 | 発注する根拠 |
---|---|---|---|---|
Z001 | 木製アロマディフューザー | 発注不要 | 0 | 在庫34個、安全在庫10.0個を上回っている |
Z002 | レトロガラス風鈴 | 2024/7/15 | 34 | 在庫0個、週16.75個販売、安全在庫33.5個に対して不足 |
Z003 | 和紙のメモパッドセット | 2024/7/15 | 8 | 在庫8個、週7.75個販売、安全在庫15.5個に対して不足 |
Z004 | 陶器マグカップ | 発注不要 | 0 | 在庫7個、安全在庫0.5個を上回っている |
Z005 | 小さな苔テラリウム | 発注不要 | 0 | 在庫23個、安全在庫1.5個を上回っている |
Z006 | 天然木の靴べら | 発注不要 | 0 | 在庫11個、安全在庫1.0個を上回っている |
Z007 | ミニ布巾セット | 発注不要 | 0 | 在庫12個、安全在庫8.5個を上回っている |
Z008 | 手ぬぐい風タオル | 2024/7/15 | 2 | 在庫5個、週3.75個販売、安全在庫7.5個に対して不足 |
Z009 | ラタンバスケット | 発注不要 | 0 | 在庫5個、安全在庫1.5個を上回っている |
Z010 | 竹炭入り消臭サシェ_0715まで | 発注不要 | 0 | 在庫23個、安全在庫21.0個を上回っている |
Z011 | 草木染めの布マスク | 発注不要 | 0 | 在庫42個、安全在庫1.5個を上回っている |
Z012 | 風合い和紙のポストカード | 発注不要 | 0 | 在庫14個、安全在庫1.0個を上回っている |
Z013 | キャンドルホルダー | 発注不要 | 0 | 在庫5個、安全在庫2.5個を上回っている |
Z014 | 季節の手作りアクセサリー(春) | 発注不要 | 0 | 在庫0個、安全在庫0.0個を上回っている |
Z015 | 焙煎ほうじ茶ブレンドティー | 発注不要 | 0 | 在庫19個、安全在庫5.5個を上回っている |
今月仕入れをする必要のある商品は、15品中3品となりました。
こんなに少なくて大丈夫なのか?と心配になってしまいそうですが、
直近1か月の販売数を基にした安全在庫という指標があるおかげで、現在の在庫数が多いのか、それとも少ないのか、根拠を持って捉えることが出来るようになります。
🧾 まとめ:在庫管理の「全体最適化」に向けて
前回は、単一商品の在庫履歴からAIにアドバイスをもらう方法を紹介しました。今回はその応用として、複数商品をまとめて分析し、全体として「今月、何をどれだけ仕入れるべきか」をChatGPTに判断させる方法を解説しました。
ポイントは以下の通りです:
- 複数商品の在庫履歴をExcelで統合して準備
- ChatGPTに対して、役割と目的、分析対象、リードタイム等の前提条件を明確に伝える
- 安全在庫と販売ペースをもとに、必要な仕入れ数を根拠付きで提案してもらう
これにより、属人的な発注判断から脱却し、データに基づいた仕入れの最適化が可能になります。
「勘」や「経験」に頼る仕入れから、「分析」と「根拠」に基づいた意思決定へ――
在庫管理レベルをもう一段階引き上げたい方にとって、非常に有効なアプローチです。