在庫予測の実務手法|移動平均・指数平滑・季節調整の使い分けとMAPEによる精度評価・発注への落とし込み
- EC・物流インサイト
この記事は約19分で読めます
「セールのたびに欠品して機会損失が出る」「逆に読みを外して過剰在庫を抱え、保管料とキャッシュフローを圧迫している」——これは出荷件数が伸び始めたEC事業者がほぼ必ず直面する悩みです。原因の多くは勘と経験に頼った発注にあり、解決策は需要を数値で予測し、その精度に応じて在庫を設計することにあります。この記事では、表計算ソフトだけで実装できる在庫予測の代表的な手法(移動平均・指数平滑・季節調整)の計算式と使い分け、予測精度の測り方、そして予測を安全在庫・発注点・出荷オペレーションへ落とし込む手順までを具体例で解説します。物流の外注も含めた全体設計は発送代行の選び方とあわせて検討すると、予測と実行が一本につながります。
なぜEC事業者に在庫予測が必要なのか
在庫予測(需要予測)とは、過去の出荷実績や受注データをもとに、将来の販売数量を数値で見積もる作業です。EC市場が拡大を続けるなかで、取扱SKU数と出荷波動はどちらも増え続けており、感覚的な発注では欠品と過剰在庫の両方を同時に抱え込む構造になりつつあります。
2024年の日本のBtoC-EC市場規模は26兆1,225億円(前年比5.1%増)に達し、物販系分野は15兆2,194億円、物販系のEC化率は9.78%(前年比0.40ポイント増)となった。
市場が伸びるほど、在庫を読み違えたときの損失額も比例して大きくなります。予測を外したときに発生するコストは、大きく2方向に分かれます。
欠品によるコスト(読みが低すぎたとき)
欠品は売上を直接削るだけでなく、顧客の離反とモール内検索順位の低下という後を引く損失を生みます。楽天やAmazonの検索アルゴリズムは在庫切れ商品の表示を下げるため、一度の欠品が翌月以降の流入減につながります。欠品を防ぐ仕組みは適正在庫の設計と一体で考える必要があります。
過剰在庫によるコスト(読みが高すぎたとき)
過剰在庫は在庫保持コスト(キャリングコスト)を押し上げ、資金を在庫に固定します。売れ残りが滞留在庫へ、さらにデッドストックへと進むと、保管料を払い続けながら最終的に廃棄損まで発生します。予測精度を1割改善するだけで、この両側のコストを同時に圧縮できるのが在庫予測の価値です。
勘の発注が限界を迎える出荷規模
担当者の経験と勘による発注は、SKU数が少なく出荷も安定している立ち上げ期には機能します。しかし、取扱SKUが100を超え、複数モールで販売チャネルが分かれてくると、人間が全商品の需要を頭の中で追うのは現実的でなくなります。とくに同一商品でも楽天・Amazon・自社カートで売れ方が異なり、セールのタイミングもチャネルごとにずれるため、感覚での発注は欠品か過剰在庫のどちらかへ確実に偏っていきます。月商が数百万円を超えたあたりが、属人的な発注から数値ベースの在庫予測へ切り替える分岐点です。予測を仕組み化しておくと、担当者の異動や繁忙期の負荷増にも左右されず、発注品質を一定に保てます。EC在庫管理の基本とあわせて、まずは売上上位SKUから予測を導入していくのが現実的な進め方です。
在庫予測の前提:需要を3つの変動に分解する
予測手法に入る前に、需要データの構造を理解しておきましょう。実際の出荷数量は、性質の異なる3つの変動が重なってできています。この分解を意識すると、どの手法を選ぶべきかが自然に見えてきます。
重要なのは、予測手法が扱えるのはトレンドと季節までであり、不規則変動は原理的に読みきれないという割り切りです。予測精度を100%に近づけようと不規則変動まで追いかけると、過去のノイズに過剰適合してかえって精度が落ちます。読めない部分は安全在庫と出荷キャパの柔軟性で吸収する、という前提に立つと手法選びがシンプルになります。
予測に使う出荷データの整え方
予測の精度は手法よりも先に入力データの質で決まります。SKU単位で最低12か月、季節性を見るなら24か月分の出荷実績を用意し、次の3点を必ず補正してから予測に入れます。第一に、欠品期間の売上ゼロは「需要ゼロ」ではないため除外または実需要を推定して補完します。欠品中のゼロをそのまま学習させると、予測が実需要より低く出続け、欠品を再生産する悪循環に陥ります。第二に、大型セールやテレビ露出などの一過性スパイクは別管理にし、平常時のベース需要と分けて扱います。第三に、返品・キャンセルを差し引いた純出荷ベースに揃えます。データを受注システムから自動で吸い上げられる体制があれば、こうした前処理もWMSの在庫同期と組み合わせて定常運用に乗せられます。複数モールに出店している場合は、チャネルごとの需要特性が異なるため、楽天とAmazon、自社カートを分けて予測したうえで合算するほうが精度が安定します。
移動平均法の使い方(単純・加重)
移動平均法は、直近の数か月の実績を平均して翌月の需要とみなす、もっともシンプルな手法です。表計算ソフトの平均関数だけで実装でき、需要が比較的安定した定番商品に向いています。
単純移動平均法
直近n期の単純平均を予測値とします。たとえば直近3か月の出荷が100個・120個・110個なら、翌月予測は(100+120+110)÷3=110個です。期間を長く取るほど予測は滑らかになりますが、トレンドの変化への反応は鈍くなります。在庫の動きを揃えて管理する考え方は在庫回転日数(DOI)の改善とも相性が良いポイントです。
加重移動平均法
直近のデータほど重みを大きくして平均する方法です。直近月に0.5、前月に0.3、前々月に0.2の重みを置くと、上の例では0.5×110+0.3×120+0.2×100=111個となり、単純移動平均より直近の動きを反映します。重みの合計は必ず1になるよう設定します。
| 項目 | 単純移動平均 | 加重移動平均 |
|---|---|---|
| 計算の手間 | 低い | やや高い |
| 直近変化への反応 | 遅い | 速い |
| 向く商材 | 需要が安定した定番品 | 緩やかに伸び・縮みする商品 |
| 弱点 | トレンド転換に出遅れる | 重み設定が恣意的になりやすい |
どちらの移動平均も、急な需要の立ち上がりや季節の山には追従しきれません。トレンドや季節性が強い商材では、次に挙げる指数平滑法や季節調整を組み合わせます。
指数平滑法の使い方(α係数の決め方)
指数平滑法は、直近の実績に重みを置きつつ、過去の予測も引き継ぐ手法です。移動平均のように一定期間を切り取らず、すべての過去データを指数的に減衰させながら反映するため、データ保持の手間が小さいのが利点です。基本式は次のとおりです。
翌期の予測値 = 前期の予測値 + α×(前期の実績値 − 前期の予測値)
αは0〜1の平滑化係数で、予測の「反応の速さ」を決めます。たとえば前期予測が100個、実績が120個だった場合、α=0.3なら100+0.3×(120−100)=106個、α=0.5なら110個が翌期予測になります。αが大きいほど直近実績に敏感に反応し、小さいほど予測が滑らかになります。
連続した動きも見ておきましょう。α=0.3で初期予測を100個とし、実績が120個→130個→110個と推移した場合、翌期予測は順に106個(100+0.3×20)、113.2個(106+0.3×24)、112.2個(113.2+0.3×(−3.2))と更新されます。実績が上振れした分だけ予測が追随しつつ、3期目の落ち込みには過剰反応せず緩やかに戻る——この「行き過ぎず、出遅れず」の挙動が指数平滑の持ち味です。需要が一段上のステージに移ったと判断できるなら、一時的にαを引き上げて素早く追随させ、落ち着いたら元に戻す運用も有効です。
| α係数 | 性質 | 向く状況 |
|---|---|---|
| 0.1〜0.2 | 反応が緩やか・予測が安定 | 需要が安定した定番商品 |
| 0.3〜0.5 | バランス型 | 多くのEC商材の初期設定値 |
| 0.6〜0.9 | 直近実績に強く反応 | トレンド転換期・新商品 |
αの最適値は、過去データに複数のαを当ててみて、後述するMAPEなどの誤差が最小になる値を選ぶのが実務的です。表計算ソフトの予測機能(予測シート)も内部で指数平滑を用いており、季節性まで自動で考慮した予測区間を出力できます。
移動平均より指数平滑が向く場面
移動平均は計算期間に入る・外れるデータの影響を均等に扱うため、古いデータが急に予測から抜けて値が跳ねることがあります。一方で指数平滑は過去を指数的に減衰させるため、こうした不連続が起きにくく、需要が緩やかにトレンドを描く商材で安定します。また移動平均はnか月分のデータ保持が必要なのに対し、指数平滑は「前期予測」と「前期実績」の2つだけで更新できるため、SKU数が多い在庫の自動更新にも向きます。逆に、需要がほぼ横ばいでノイズも小さい定番品は、わざわざα調整をするより単純移動平均で十分です。受注データの一元管理ができていれば、これらの計算はWMSの在庫同期とあわせて自動化しやすくなります。
季節変動を織り込む(季節指数の出し方)
アパレル・食品・ギフトなど、季節やイベントで需要が周期的に動く商材では、移動平均や指数平滑だけでは山と谷を取りこぼします。そこで季節指数を使って、月や四半期ごとの「平均からのズレ」を補正します。
季節指数の計算手順
- 期間平均を出す——直近1〜2年の月別出荷を、全期間の月平均で割ります。
- 各月の比率を季節指数とする——たとえば12月の出荷が月平均の1.4倍なら、12月の季節指数は1.40です。
- ベース予測に季節指数を掛ける——移動平均や指数平滑で出した「季節抜きの予測」に、その月の季節指数を掛けて最終予測とします。
| 月 | 平均比(季節指数) | ベース予測100個に対する補正後 |
|---|---|---|
| 3月(新生活) | 1.20 | 120個 |
| 6月(閑散) | 0.80 | 80個 |
| 12月(年末商戦) | 1.40 | 140個 |
トレンド・季節・平滑を同時に扱う代表的な手法がウィンタース法(三重指数平滑法)で、表計算ソフトの予測機能でも採用されています。季節の山に向けた在庫の積み増しは、出荷波動の管理とセール前の物流準備に直結します。大型連休のような全社的な山は、季節指数に加えて配送会社の稼働状況も織り込んでおきましょう。
季節指数を使うときの3つの注意点
季節指数は強力ですが、扱いを誤ると逆に予測を歪めます。第一に、季節指数の合計は月数と一致させる(12か月なら指数の合計が12になる)よう正規化します。第二に、カレンダーの曜日配列やうるう年、セール日程の年変動を季節性と混同しないことです。たとえば同じ「6月」でもセール開催の有無で需要が大きく変わるため、イベント要因は季節指数とは別の係数で扱います。第三に、新商品には過去の季節指数を流用しないこと。データがない商品は、同カテゴリの類似商品の季節指数を借りる「類似商品法」で代用し、実績が溜まり次第その商品固有の指数に切り替えます。母の日やお歳暮のように毎年時期が固定のギフト需要は、季節指数が特に効きやすい代表例です。
手法の使い分けと予測精度の評価(MAPE)
3つの手法はどれが優れているという話ではなく、商材の需要パターンによって最適解が変わります。下の表を起点に、自社のSKUを分類してみてください。
| 需要パターン | 推奨手法 | 代表的な商材例 |
|---|---|---|
| 安定・横ばい | 単純移動平均 | 日用消耗品・定番サプリ |
| 緩やかなトレンド | 加重移動平均/指数平滑(α中) | 成長中のD2C商品 |
| 強いトレンド・新商品 | 指数平滑(α高め) | 発売直後・話題商品 |
| 季節・イベント依存 | 季節指数+指数平滑(ウィンタース法) | アパレル・ギフト・食品 |
| 過去データが乏しい | 定性的予測(類似商品法・市場調査) | 新規参入カテゴリ |
予測精度はMAPEで数値管理する
選んだ手法が機能しているかは、感覚ではなく誤差指標で測ります。実務で扱いやすいのがMAPE(平均絶対誤差率)で、各期の「実績と予測の差の絶対値÷実績」を平均し、百分率で表します。たとえば予測110個に対し実績100個なら誤差率は10%です。
| MAPEの目安 | 評価 | アクション |
|---|---|---|
| 10%未満 | 高精度 | 現行手法を維持 |
| 10〜20% | 実用範囲 | α・期間の微調整 |
| 20〜50% | 要改善 | 季節指数の追加・手法変更 |
| 50%超 | 予測困難 | 安全在庫を厚くし発注頻度で対応 |
予測の見直し頻度を決める
予測は一度作って終わりではなく、定期的に実績と突き合わせて更新します。多くのEC事業者は月次での全SKU見直し+週次での売上上位SKU確認を基本サイクルにすると無理がありません。セール直後や新商品投入後など需要構造が変わったタイミングでは、サイクルを待たずに臨時で再計算します。重要なのは、予測値そのものより予測と実績の乖離を毎回記録し、その傾向を次の発注に反映するという改善ループを止めないことです。
MAPE以外に見ておきたい誤差指標
MAPEは直感的ですが、実績が小さい月で誤差率が跳ねやすい弱点があります。補助的に、誤差の大きさをそのまま平均するMAD(平均絶対偏差)と、予測が高めか低めかの偏りを示すバイアス(予測−実績の平均)も併用しましょう。バイアスがプラスに偏り続けるなら「常に多めに予測=過剰在庫体質」、マイナスに偏るなら「常に少なめ=欠品体質」とわかり、αや安全在庫の調整方向が定まります。誤差を1つの数字で語らず、大きさ(MAPE・MAD)と方向(バイアス)の両面で見るのが精度改善の近道です。
MAPEが慢性的に高いSKUは、無理に予測精度を追うより、発注ロットを小さく・発注頻度を高くして在庫リスクを分散するほうが合理的です。AIを使った予測の自動化に踏み込む場合は、AI需要予測の導入や、物流全体を最適化するAI活用の実務で具体的な導入ステップを確認できます。
予測を在庫・出荷オペレーションに落とし込む
予測は出して終わりではなく、安全在庫・発注点・出荷キャパの設計につないで初めて利益を生みます。予測値から実務へつなぐ流れは次のとおりです。
予測誤差が大きいSKUほど安全在庫を厚くし、誤差が小さいSKUは薄くする——この差分を付けることが在庫最適化の本質です。さらに、予測を上回る注文が入ったときに出荷側がボトルネックにならない体制を用意しておくことも重要です。自社倉庫では人員の上限で出荷件数が頭打ちになりますが、発送代行を併用すれば繁忙期の出荷キャパをアウトソースで吸収できます。出荷量がまだ読みづらい立ち上げ期は、外注の判断軸を物流の初めての外注化で押さえておくと、予測精度が上がるまでの期間も機会損失を抑えられます。月商500〜1,000万円規模での切り替え判断は発送代行の切り替えガイドが目安になります。Amazon中心の事業者は、FBAの在庫保管制限と予測の関係をFBAからの移行ガイドで確認しておくと、保管超過手数料の回避にもつながります。
ケーススタディ:季節商材のアパレルD2C
月商約2,000万円、SKU約300のアパレルD2Cブランドを例に考えます。当初は直近3か月の単純移動平均で発注していたため、春夏物の立ち上がりに毎年出遅れて欠品し、逆に秋口には夏物の過剰在庫が残る状態でした。そこで、ベース需要を指数平滑(α=0.4)で算出し、月別の季節指数(最需要月で1.5前後、閑散月で0.6前後)を掛ける方式に切り替えたところ、主要SKUのMAPEはおおむね30%台から15%前後に改善しました。重要なのはここからで、季節の山に向けて在庫を積み増す一方、ピーク時の出荷を発送代行に切り出して自社の出荷上限を外し、欠品とコスト増を同時に抑えています。詳細な設計はアパレルD2Cの物流設計ケーススタディも参考になります。
予測精度が上がらないSKUの扱い方
どれだけ手法を工夫しても、需要が散発的で読めないSKU(ロングテール商品・受注生産的な商品)は一定数残ります。こうしたSKUは予測精度の改善に時間をかけるより、発注ロットを小さく・発注頻度を高くして1回あたりの在庫リスクを下げるのが定石です。さらに、在庫を持たずに受注後に取り寄せるバックオーダー(取り寄せ販売)や、メーカーから直接出荷するメーカー直送を組み合わせれば、予測が当たらない商品でも在庫リスクをほぼゼロにできます。在庫回転率の低いSKUから優先的にこの方式へ移すと、保管コストの削減効果が大きく出ます。
2024年の物販系BtoC-ECの内訳では「食品、飲料、酒類」が3兆1,163億円、「生活家電・AV機器・PC・周辺機器等」が2兆7,443億円、「衣類・服装雑貨等」が2兆7,980億円と、上位カテゴリーがいずれも2兆円を超えた。
食品やアパレルなど季節性の強いカテゴリーが市場の主力である以上、季節調整を組み込んだ予測の重要性は今後も高まります。物流コストの構造的な考え方は日本ロジスティクスシステム協会(JILS)のロジスティクス教育情報も参考になります。需要予測を含むサプライチェーン全体の最適化はサプライチェーン管理の視点で捉えると、部分最適に陥らずに済みます。デジタル化による業務改善の全体像はIPA「DX白書」も示しています。
まとめ:予測精度より「外し方の設計」が利益を守る
在庫予測は、移動平均・指数平滑・季節調整という基本3手法を商材の需要パターンに合わせて使い分け、MAPEで精度を数値管理することが出発点です。しかし最終的に利益を守るのは、予測精度そのものよりも「外したときにどう備えるか」の設計です。読めるトレンドと季節は予測で取りに行き、読めない不規則変動は安全在庫と出荷キャパの柔軟性で吸収する——この役割分担が在庫管理の土台になります。完璧な予測を目指すのではなく、予測・安全在庫・出荷キャパの3点を連動させて運用し続けることが、欠品と過剰在庫の両方を抑える最短ルートです。予測を実行につなぐ物流体制づくりは、まず発送代行完全ガイドでアウトソースの全体像を、サービスの料金や仕組みはSTOCKCREW完全ガイドで確認しておくと判断が早まります。自社の出荷量や保管条件での試算が必要であればお問い合わせから相談でき、コスト構造を整理した資料ダウンロードもあわせて活用してください。
よくある質問(FAQ)
Q. 在庫予測は表計算ソフトだけでもできますか?
移動平均・加重移動平均・指数平滑・季節指数は、いずれも表計算ソフトの平均関数や四則演算だけで実装できます。標準搭載の予測機能を使えば、季節性を考慮した指数平滑(ウィンタース法)も自動で計算できます。専用ツールやAIは、SKU数が数千を超えて手作業が限界になった段階で検討すれば十分です。
Q. 過去データは何か月分あれば予測できますか?
季節変動を捉えるには最低でも12か月、できれば24か月分の出荷実績が必要です。季節性のない定番品なら直近3〜6か月でも移動平均で予測できます。なお欠品で売上ゼロだった期間は需要が消えたわけではないため、予測の入力からは除外するか実需要を推定して補完します。
Q. 指数平滑のα係数はどう決めればよいですか?
多くのEC商材ではまず0.3前後を初期値にし、過去データに複数のαを当ててMAPE(平均絶対誤差率)が最小になる値を選びます。需要が安定した商品は0.1〜0.2、新商品やトレンド転換期は0.6以上と、商材の動きの速さに合わせて調整します。
Q. 予測精度はどのくらいを目標にすべきですか?
MAPEで10%未満なら高精度、20%以内なら実用範囲です。20%を超える場合は季節指数の追加や手法変更を検討します。ただし50%を超えるような予測困難なSKUは、精度を追うより発注ロットを小さく頻度を高くして在庫リスクを分散するほうが現実的です。
Q. 予測を上回る注文が入ったときの欠品はどう防ぎますか?
予測誤差を見込んだ安全在庫を持つことが基本ですが、出荷側のキャパシティ不足も欠品と同じ機会損失を生みます。自社出荷で人員上限に達する繁忙期は、発送代行を併用して出荷件数の上限を外部リソースで拡張しておくと、需要超過時も出荷遅延を防げます。
この記事の監修者
北原一樹
株式会社KEYCREW オペレーション部長。大手物流会社にて現場担当からセンター長を経て、営業・管理職を12年間歴任。物流業界での経験は24年に及ぶ。大規模顧客の初のEC・DCが併設された10,000坪規模の大型倉庫の立ち上げを主導した実績を持ち、月間100Mの赤字を抱えていた物流センターをわずか3か月で黒字化に転換させた。現在はSTOCKCREWにおいて部門管理・各拠点の収支管理・業務改善を統括。「現地・現物」「数字で現場を見る」「何事にも基準を作る」を信条に、年間5千万点の入出荷を支える高品質な物流オペレーションを実現している。