はじめに
「在庫管理ツールを入れたい。でも年間で何十万円もかかる」「うちの規模で本当に必要?」——EC事業者の方とお話していると、よく聞くお悩みです。
結論からいうと、年商数億円規模までは、エクセル1枚で十分に在庫最適化できます。本記事では、SaaSを入れる前に試してほしい無料の実践手順を紹介します。
「やることが多すぎる」と思わないでください。毎週月曜の30分を在庫レビューに使うだけで、在庫費用は確実に下がります。
📥 エクセル在庫管理テンプレート(無料)
本記事で紹介する内容を、そのまま使えるエクセルにまとめました。工場/中間倉庫/モール/発注ステータス管理の4シート構成です。
1. エクセルで「単品レベル」までは設計できる
ECを始めて間もないうちは、エクセルで十分に在庫を管理できます。本記事の手順を踏めば、SKU単品レベルでの適正在庫・発注タイミングは自分で設計可能です。
ただし、エクセル運用には限界があります。在庫管理SaaS(S-wallet など)が本当に必要になるシナリオは、おおむね以下です。
- 販売開始から 1年以上が経過し、運用ルーティンが回ってきた
- 倉庫費用や保管料(FBA保管料・3PL費用)が利益を圧迫し始めている
- 利益率が下がってきたことが、在庫過多・売れ残りに紐づいている
- 複数モール × 複数倉庫(FBA / RSL / 自社倉庫など)の組み合わせが複雑化
- 季節商戦・Black Friday・スーパーセールなどのイベント波動への対応が手作業で限界
つまり「単品で適正在庫を出す」だけならエクセルで足りますが、"会社全体の最適"を見ながら、複数拠点 × 複数モール × イベント波動を同時に動かすフェーズになると、自動化が必要になります。
本記事ではまず、エクセルでできる単品レベルの在庫最適化までを丁寧に解説し、最後に "そこから先" の話をします。
2. 揃えるべき3つの数字
最初に、SKUごとに以下の3つの数字を揃えます。
| 項目 | 内容 | 取得方法 |
|---|---|---|
| 1日平均販売数 | 直近30〜60日の販売数の平均 | 各モール売上CSVから集計 |
| リードタイム | 発注から入庫までの日数 | 仕入先に確認 |
| 現在在庫 | 本日時点のSKU別在庫 | WMSやエクセルから |
複数モールで売っている場合は、全モール合算の販売数で計算するのがコツです。
3. 適正在庫と「発注点」の計算式
ここで重要なのは「在庫が切れてから発注しても遅い」という事実です。リードタイム(仕入〜入庫までの日数)の間も商品は売れ続けるので、"切れるリードタイム前"に発注する 必要があります。
そこで使うのが 発注点(Reorder Point) という考え方です。
発注点 = 1日平均販売数 × ( リードタイム + 安全在庫日数 )
適正在庫 = 発注点 + 発注ロット数(一回あたりの発注量)
つまり「現在在庫 ≦ 発注点 になった時点で即発注」が正解です。在庫がゼロに近づいてから動くと欠品します。
計算例(通常期)
- 1日平均販売数 = 30個
- リードタイム = 10日
- 安全在庫 = 5日
- → 発注点 = 30 × ( 10 + 5 ) = 450個
現在在庫が 450個を下回ったら即発注、というルールにします。
3-2. 繁忙期・閑散期で発注点を切り替える
EC物販ではここが本当に難しいポイントです。1日平均販売数は、季節やイベントで2〜10倍に変動します。
| 期間 | 例 | 1日販売数の目安 |
|---|---|---|
| 通常期 | 平日・週末の通常状態 | 基準値 ×1.0 |
| 繁忙期 | 母の日/父の日/ボーナス期 | 基準値 ×1.5〜2.0 |
| イベント | 楽天スーパーセール/お買い物マラソン | 基準値 ×3〜5 |
| 大型イベント | Black Friday / Amazonプライムデー / サイバーマンデー | 基準値 ×5〜10 |
| 閑散期 | 1月後半〜2月/6月/9月など | 基準値 ×0.7 |
つまり、"1日平均販売数"を年間1つだけ持ってると、繁忙期に大量欠品します。
実用的な対策
通常期と"イベント期"で発注点を別に持っておきます。
通常期の発注点 = 通常期1日販売数 × ( リードタイム + 安全在庫日数 )
イベント期の発注点 = イベント期1日販売数 × ( リードタイム + 安全在庫日数 + 緩衝日数 )
イベント期は緩衝日数を + 7〜14日乗せておくのが安全です。Black Friday や Amazonプライムデーなどの大型イベントの30〜45日前には、イベント期想定で発注を始めます。
例:6月のSuper Sale(楽天スーパーセール)に向けた発注
- 通常期1日販売数 = 30個
- イベント期想定1日販売数 = 100個(過去Super Sale実績)
- セール期間 = 6/4〜6/11(8日間)
- リードタイム = 10日
→ セールに向けた追加発注量 ≒ (100 - 30) × 8 = 560個を、5月初〜中旬に追加発注しておく。
4. エクセルテンプレート(コピペでOK)
A列にSKU、以下のように列を作ってください。
| 列 | 項目 | 入力 or 計算式 |
|---|---|---|
| A | SKU | 手入力 |
| B | 商品名 | 手入力 |
| C | 1日平均販売数 | 売上CSVから集計(手入力でOK) |
| D | リードタイム | 仕入先確認(手入力) |
| E | 安全在庫日数 | カテゴリ別に決める(5 or 10など) |
| F | 適正在庫 | =C2*(D2+E2) |
| G | 現在在庫 | 手入力(WMSから) |
| H | 欠品予測日数 | =G2/C2 |
| I | 在庫日数判定 | =IF(H2<D2+E2,"発注",IF(G2/F2>2,"過剰","")) |
I列の判定で「発注」と出たSKUは即発注、「過剰」と出たSKUは値引きやセット組みを検討、というシンプルな運用が回せます。
このシートは Google スプレッドシートでも同じ式が使えます。
5. 在庫回転率を測る
在庫回転率は「在庫がどれだけ早く売れているか」の指標です。
在庫回転率(年) = 年間売上原価 ÷ 平均在庫金額
EC物販の目安は 年4〜12回転。10回転を超えていれば優秀、3回転以下のSKUは在庫が寝ている=キャッシュが寝ているサインです。
月次でやる集計
毎月末、SKUごとに以下を集計してみてください。
- 月間販売数
- 平均在庫数(月初・月末の平均)
- 回転日数 = 平均在庫 ÷ 1日平均販売数
回転日数が 90日を超える SKUは要注意。値引き・セット販売・倉庫からの撤去など、現金化のアクションを優先するべき候補です。
6. 欠品リスクの早期検知
以下の式で、各SKUの「あと何日で欠品するか」が分かります。
欠品予測日数 = 現在在庫 ÷ 1日平均販売数
この値が リードタイム + 安全在庫日数 を下回ったら、即発注のサイン。エクセルに条件付き書式を入れて自動でハイライトさせると見落としません。
7. 過剰在庫を見つけるルール
過剰在庫の代表的な検知ルールは以下の3つです。
- ルール1:在庫日数(現在在庫 ÷ 1日平均販売数)が 90日を超える
- ルール2:直近30日の販売数が 0 のSKU
- ルール3:在庫金額が SKU合計金額の 5%超 を占める単一SKU
該当するSKUは、値引き販売・セット組み・倉庫からの撤去 など、現金化のアクションを優先すべき候補です。
8. 毎週やるべきチェックリスト
エクセル管理を回し続けるコツは、毎週同じ時間に同じことをやる ことです。
☐ 在庫日数90日超のSKUに対するアクション決定
☐ 新商品・終売商品の在庫位置の確認
☐ 各モールの実在庫と帳簿在庫の突合(最低週1回)
☐ 在庫回転率の前週比チェック
☐ 仕入先のリードタイム変動の確認
このルーティンを 3ヶ月続けるだけ で、在庫費用は確実に下がります。
9. やりがちな失敗
最後に、エクセル管理でよくある失敗を3つだけ。
失敗1: 1日平均販売数が古いまま
直近30〜60日で更新しないと、季節商品・トレンド商品で大きくズレます。月1回は必ず更新してください。
失敗2: 安全在庫日数を一律にする
すべてのSKUに「安全在庫=5日」と入れている方が多いですが、商品ごとに需要のブレは違います。需要が読みにくい商品は7〜14日にする、など最低でもカテゴリ別に変えましょう。
失敗3: 突合をサボる
エクセル上の在庫と、実在庫がズレていたら計算は無意味です。最低週1回は実在庫との突合を。
10. エクセルだけでは限界が来る理由
ここまでで「単品レベルの在庫最適化」はできるようになります。でも、運用1年を超えると エクセルでは追いきれない領域 が出てきます。
限界1: 複数拠点 × 複数モールの組み合わせ
今のEC運営は、工場 → 中間倉庫 → FBA / RSL / 自社EC のように 多層・多拠点 が当たり前。それぞれに「現在在庫」「輸送中の数量」「予定到着日」があり、エクセルではマトリクスが膨大になります。
限界2: 通常期・イベント期の自動切り替え
§3-2 で書いた通り、Black Friday・Amazonプライムデー・楽天スーパーセール などのイベントが多いEC運営では、発注点を期間で切り替える必要があります。これを SKU × イベント × 拠点 で管理するのは手作業では現実的ではありません。
限界3: 倉庫費用・利益率への跳ね返り
販売開始から1年以上経つと、過剰在庫の保管料(FBA保管料は3ヶ月以上で長期保管手数料が発生)が利益を直接削り始めます。SKU単品ではなく、利益率+キャッシュ全体の最適化 が必要になります。
11. S-wallet で自動化する世界
ここまで紹介した手作業の世界を、自動的+AIエージェントで回すのが弊社のSaaS S-wallet です。
| やっていること | エクセル | S-wallet |
|---|---|---|
| 工場・中間倉庫・FBA/RSLの在庫一元管理 | 手入力 | API連携で自動 |
| 1日平均販売数の更新 | 手集計 | 自動集計(モール別・期間別) |
| 発注点の通常期/イベント期切替 | 手作業 | 期間設定で自動 |
| 欠品予測・過剰在庫検知 | 関数で都度計算 | リアルタイムで自動アラート |
| 過去〜未来の在庫推移シミュレーション | 不可 | 標準機能(基準日±60日) |
| Black Friday 等のイベント時の発注計画 | 手作業 | AIが推奨案を提案 |
エクセル運用が回り、運用ルーティンが固まってから S-wallet を入れると、現場の理解度が高い状態 で自動化に移行できます。逆にエクセルで回らないうちに SaaS だけ入れると、結局ツールに振り回されて終わります。
2) 運用が固まり、§10のような限界が見えたら
3) S-wallet にデータを引き継いで自動化(テンプレートと同じ構造なので移行はスムーズ)
まとめ
無料で在庫最適化を始めるステップは、ざっくり以下です。
- SKUごとに「1日平均販売数」「リードタイム」「現在在庫」を揃える
- 適正在庫 = 1日平均販売数 ×(リードタイム + 安全在庫日数)の式を入れる
- エクセルで「発注/過剰」を自動判定する
- 在庫回転率を毎月測る
- 毎週月曜30分の在庫レビューをルーティン化する
- 限界が来たらSaaSを検討する
ここまでを自分で回せるようになると、SaaS導入の目利きも自然とつくようになります。
📥 エクセル在庫管理テンプレート(無料)
「工場 / 中間倉庫 / モール別 / 発注ステータス」の4シート構成。本記事の内容そのままで使えます。
ご質問・在庫健康診断のご希望はこちらから。継続的な改善支援は EC向けAI活用サポート でご案内しています。