\ 定着率99%以上 /
トレンドおさえた、高コスパなSFA/CRM
※1 スマートキャンプ株式会社主催「BOXIL SaaS AWARD Summer 2024」SFA(営業支援システム)部門で受賞
GENIEE SFA/CRMダッシュボード
ITreviewリーダー2024春
SFAツール
(営業支援システム)部門
ITreviewリーダー2024春
CRMツール部門
ITreview中堅企業部門リーダー2024春
SFAツール
(営業支援システム)部門
BOXIL SFA(営業支援システム)部門 Good Service Summer2024
SFA(営業支援システム)部門※1

需要予測をエクセルで行う方法|関数の使い分けと精度改善について解説

公開日: / 更新日: / データ活用/CDP
需要予測をエクセルで行う方法|関数の使い分けと精度改善について解説

需要予測とは、過去の販売データをもとに将来の需要量を推計する手法です。Excelにはこの需要予測に使えるFORECAST関数やFORECAST.ETS関数、予測シート機能が標準で備わっており、追加コストなしに始められます。

ただし、どの関数でも同じように当たるわけではありません。データが直線的に伸びているのか、季節変動があるのか、複数の要因が絡むのかによって適した関数は変わり、自社データの傾向を見極めて使い分けることが実務では欠かせません。

この記事では、関数と予測シートで予測を組む手順から、精度が出ないときの改善策、Excelの限界を見極めて専用ツールへ移行する判断基準までを通して解説します。

需要予測にはどのExcel関数を使う? データ特性で選ぶ関数の使い分け

需要予測に使うExcel関数は、データが直線的に伸びているか、季節変動があるか、複数の要因が絡むかによって選ぶべきものが変わります。自社データの特性を見極めて関数を選ぶことが、予測精度を左右する最初の分岐点です。

需要予測の計算手法には移動平均法・指数平滑法・線形回帰などがあり、Excelの各関数はこれらを実装したものです。代表的なのはFORECAST(線形回帰)、FORECAST.ETS(季節変動を考慮した指数平滑)、TREND(重回帰)、SLOPE(伸長率の算出)の4つで、どんなデータにも効く万能な1本は存在しません。

どの関数を選ぶかより前に、欠損やゼロ値をどう扱うかでつまずくこともあるため、まずは自社データの形を確認してから関数選びに進んでください。

FORECAST関数(FORECAST.LINEAR)で直線トレンドを予測する

右肩上がり・右肩下がりに直線的なトレンドを持つデータには、FORECAST関数が向いています。1つの説明変数から将来値を導く単回帰分析にもとづく関数で、既知のxとyから線形回帰モデルを作って予測します。

構文は =FORECAST(x, known_y’s, known_x’s) です。たとえば年度をx(known_x’s)、各年度の売上をy(known_y’s)として、来年度の年度番号をxに入れると、その年の売上予測値が返ります。Excel 2016以降では同じ計算をするFORECAST.LINEARが推奨されているため、新しく組むなら後者を使ってください。

ただしxとyの関係が直線的であることが前提です。季節変動があったり急激な需要変化があったりすると精度が落ちるので、その場合は次に紹介するFORECAST.ETSに切り替えます。

FORECAST.ETS関数で季節変動を自動で反映する

月ごと・四半期ごとに繰り返す山と谷があるデータには、FORECAST.ETS関数が適しています。指数三重平滑化(ETS)アルゴリズムのAAAバージョンで、データに潜む季節性を自動で検出して予測へ反映します。

構文は =FORECAST.ETS(target_date, values, timeline, seasonality, …) です。target_dateに予測したい日付、valuesに実績値、timelineに日付の並び、seasonalityに季節周期を指定します。

seasonality引数を省略するか1を指定すると、Excelが周期を自動検出する設定になります。0を指定すると季節性なし(線形予測)、12など正の整数を指定するとその周期を強制適用します。月次データで12ヶ月周期だとわかっているなら12を手動で指定したほうが、検出ミスを避けられます。季節変動の有無がFORECASTとの使い分けの軸で、繰り返しパターンがあるならETSを選びます。

TREND関数とSLOPE関数で複数要因・伸長率を分析する

売上が広告費や気温など複数の要因に左右される場合は、TREND関数とSLOPE関数の出番です。前者は複数要因をまとめて扱い、後者は変化の傾きを取り出すという役割の違いがあります。順に見ていきます。

TREND関数

TREND関数は複数の説明変数を同時に投入できる重回帰分析の関数です。広告費・気温・曜日といった外部要因と売上の関係をまとめて分析し、それらの条件を与えたときの売上を予測できます。

構文は =TREND(known_y’s, known_x’s, new_x’s) で、known_x’sに広告費と気温の2列を並べて指定すれば、両方を加味した予測が返ります。FORECAST・FORECAST.ETSと同様、xとyが直線的な関係にあるときに有効です。

SLOPE関数

SLOPE関数は回帰直線の傾き、つまり単位期間あたりの平均的な変化量を求める補助的な関数です。構文は =SLOPE(known_y’s, known_x’s) で、過去データから平均的な伸長率を算出できます。

たとえば月別売上に対して傾きを求めれば「1ヶ月あたり平均何個ずつ増えているか」がわかり、次期の予測の当たりをつける材料になります。

データの種類で選ぶ関数の使い分け

ここまでの4関数を、データ特性で選べるよう一覧にまとめます。

関数基づく手法構文適するデータ適さないケース
FORECAST(.LINEAR)単回帰(線形回帰)=FORECAST(x, known_y’s, known_x’s)直線的なトレンドのみ季節変動・急な需要変化
FORECAST.ETS指数平滑(ETS)=FORECAST.ETS(target_date, values, timeline, seasonality)季節変動を繰り返すデータ1周期未満の短いデータ
TREND重回帰=TREND(known_y’s, known_x’s, new_x’s)複数の外部要因が絡むデータ要因と売上が非直線の関係
SLOPE回帰直線の傾き=SLOPE(known_y’s, known_x’s)平均的な伸長率を知りたいとき季節変動の反映には不向き

自社データに当てはめるときは、次の順で判断すると迷いません。

  • 季節変動があるか → あればFORECAST.ETS
  • 直線的なトレンドだけか → ならFORECAST(FORECAST.LINEAR)
  • 広告費や気温など複数要因を考慮したいか → ならTREND

判断に迷うなら、まずFORECAST.ETSで試し、季節性が不要だとわかったらFORECASTに切り替えるのが手早い進め方です。

関数なしで需要予測できる? エクセル「予測シート」の使い方と設定

関数を直接書かなくても、Excelの「予測シート」を使えば季節変動を考慮した予測を自動で作れます。Excel 2016以降の標準機能で、前章のFORECAST.ETSと同じETSアルゴリズムをGUIの裏側で動かす仕組みです。

ただし便利さの裏に落とし穴があります。季節性の自動検出が自社データのサイクルと合わないと精度が大きく崩れるため、検出結果の確認と手動設定までをセットで覚えてください。

予測シートを導入した当初、季節性の自動検出が実際のサイクルとは異なる周期を返してしまい、「全然あてにならない」と感じる水準の精度になったことがあります。手動で周期を設定し直したところ、精度は大きく改善しました。自動検出の結果をそのまま信じて放置しないことが、予測シートを使いこなす分かれ目になります。

予測シートの操作手順(3ステップで完了)

予測シートは、大きく3ステップで完了します。

  1. 日付列と数値列がペアになった時系列データを範囲選択します。
  2. 「データ」タブの「予測シート」をクリックします。
  3. 表示されたプレビューを確認し、「作成」をクリックします。

作成すると、予測値のテーブルと予測グラフが新しいシートに生成されます。プレビュー画面では折れ線グラフと棒グラフを切り替えられるほか、予測終了日を延ばしたり、既定で95%に設定された信頼区間を調整したりできます。

この予測シートは内部でFORECAST.ETS関数と同じETSアルゴリズム(AAAバージョン)を使っており、関数を入力しなくても季節変動を踏まえた予測を実行できます(出典:Microsoft「Windows 版 Excel で予測を作成する」)。出力したグラフは、他のシートやPowerPointへそのままコピーして使えます。

季節性の自動検出が外れたときの修正方法

予測がどうも合わないと感じたら、まず自動検出された季節周期を確認します。FORECAST.ETS.SEASONALITY関数を使うと、Excelが検出した繰り返しパターンの長さを数値で取り出せます(出典:Microsoft「FORECAST.ETS.SEASONALITY function」)。

構文は =FORECAST.ETS.SEASONALITY(values, timeline) です。返ってきた値が自社データのサイクルと合っているかを見ます。月次データなら12、四半期データなら4が期待値で、ここがずれていると予測全体が狂います。

検出値が実際の周期と違う場合は、予測シートのオプション、またはFORECAST.ETS関数のseasonality引数に正しい周期を手動で入れ直します。自動検出が外れる典型的な原因は、データ期間が1周期に満たないことと、ノイズが大きく周期を読み取りにくいことの2点です。

エクセルの需要予測で精度が出ないときの3つの改善策

関数を変えても精度が上がらないときは、原因が関数ではなく入力データ側にあることがほとんどです。改善の基本は、データの整備・前処理・検証という3つの手順を回すことにあります。

3つは独立して実行できますが、過去データの量と質を整える、不規則データを前処理する、予測と実績を検証する、の順で取り組むと効率的です。

予測シートを使い始めた当初、これが過去データの統計的な延長線にすぎないという仕組みを理解しないまま、未来を言い当てるような精度を期待していました。その結果、実績との乖離を単なる誤差ととらえ、ツールへの不信感を募らせてしまいました。予測と実績を定期的に突き合わせる検証サイクルを回すようになって初めて、精度の改善点が見えるようになりました。

1. 過去データの量と質を整える

季節性を考慮した予測には、最低でも2周期分の過去データが必要です。月次データなら24ヶ月以上、四半期データなら8四半期以上が目安で、理想は3周期以上あると検出が安定します。データが1周期に満たないと、季節性の検出そのものが機能しません。

量がそろったら、次は質を確認します。

  • 欠損値(空白セル)がないか
  • 明らかな入力ミスや異常な外れ値がないか

外れ値は、平均±標準偏差×2の範囲を外れた値をマークすると簡易的に見つけられます。たとえば =IF(ABS(A2-AVERAGE($A$2:$A$25))>2*STDEV($A$2:$A$25),”要確認”,””) のような式で、確認すべき行をあぶり出せます。

2. 不規則データ(休業日・ゼロ値)の前処理

年末年始・臨時休業・特売日などで出荷がゼロや異常値になる期間が混じると、FORECAST・TREND・FORECAST.ETSのいずれも期待どおりの予測値を返さなくなります。関数の不具合ではなく、ゼロ値や飛び値が回帰や平滑の計算を歪めるためです。

対処法は2つあります。1つ目は、ゼロ値の行を除外してからデータ範囲を指定する方法です。休業で実需が存在しない日を計算対象から外し、営業日だけで予測します。

2つ目は、ゼロ値を前後の期間の平均値で補完してから予測する方法です。たとえば =IF(B2=0, AVERAGE(B1,B3), B2) のように前後の値の平均で穴を埋めてから範囲を指定します。なお、FORECAST.ETS関数には「データ補完」引数があり、欠損を補間するかゼロとして扱うかを選べるので、関数側で処理する手もあります。

3. 予測と実績を比べてMAPEで精度検証する

予測は作って終わりではなく、実績と突き合わせて精度を数値化することで初めて改善できます。代表的な指標がMAPE(平均絶対パーセント誤差)で、|実績値−予測値|÷実績値×100を期間ごとに求め、その平均を取ります。値が小さいほど精度が高いことを示します。

Excelでは =AVERAGE(ABS(実績範囲-予測範囲)/実績範囲)*100 のような配列数式で算出できます。MAPEが大きい商品や期間を特定し、使っている関数や季節性パラメータを見直して再予測し、再びMAPEで評価する。このPDCAを月次で回すと、精度を段階的に引き上げられます。

MAPEはもう一つ、説明責任の面でも役立ちます。「予測精度MAPE○%で運用しています」と数値で示せれば、なぜこの予測値なのかを上司や経営層へ定量的に報告でき、勘に頼った数字との違いを説明できます。

エクセルの限界はどこにある? 需要予測ツールへの移行判断

Excelの需要予測は、一定のSKU規模とデータ量までは十分に機能します。問題になるのは、外的要因を織り込めない・SKU数が膨らむ・担当者しか直せないという3つのサインが重なったときで、ここが専用ツールへの移行を考える分岐点です。

実際、製造業のサプライチェーン担当者の48.8%がサプライヤー情報の管理に表計算ソフト(Excel等)を使っており、Excel管理は今も主流です(出典:株式会社Spectee「製造業における「サプライチェーン強靭化」に関する調査」2024年 調査会社:株式会社クロス・マーケティング)。だからこそ、どこまでExcelで粘り、どこで切り替えるかの線引きを持っておく必要があります。

外的要因・大量SKU・属人化(Excelが限界になる3つのサイン)

移行を検討すべきサインは、次の3つに整理できます。それぞれが単独で起きているうちは対処できても、重なってくるとExcelでの運用に無理が出ます。

外的要因を織り込めない

天候・イベント・競合の動向といった外的要因を、Excelの予測式へ体系的に組み込むのは困難です。TREND関数で複数要因を扱えるとはいえ、要因が増えるほど数式とデータ整備の負担が膨らみ、予測と実績の乖離が常態化していきます。

大量SKUでファイルが重くなる

SKU数が数百を超えると、関数を敷き詰めたファイルの動作が重くなり、再計算のたびに待たされます。SKU単位で精緻な予測を維持しようとするほど運用が苦しくなり、結局は大ぐくりな予測でお茶を濁すことになりがちです。

担当者しか修正できない属人化

Excelによる在庫管理の課題として最も多く挙がるのが「作った本人しかわからない」で、42.2%を占めます(出典:IDEATECH(リサピー®)「在庫管理に関する実態調査」2022年)。複雑な数式を組んだ担当者が退職・異動すると、誰も関数を修正できなくなり、予測が止まってしまいます。

需要予測AIやERPに移行すると何が変わるか

専用ツールに移ると、Excelで詰まっていた3点がまとめて解けます。需要予測AIは過去の販売データに加えて天候・曜日・イベントなどの外部要因を自動で学習し、SKUごとの予測を一括で処理できます。Excelでは手に負えなかった多変量分析と大規模SKU管理を、人手の数式メンテナンスなしに回せるようになります。

在庫管理システムやERPに組み込めば、予測から発注、在庫管理までのプロセスが一体化し、特定担当者への依存も解消します。

ただし注意点があります。予測の高度化を進めても、その出力先がExcelのままだと、毎回手動で転記して在庫数と突き合わせる作業が残り、効率化は部分最適で止まります。実際に予測を高度化したものの、受け皿がExcelのままで転記作業がボトルネックになった経験があります。

発注プロセスの受け皿ごと見直さないと、予測精度を上げた効果は十分に活きません。

製品の優劣はカテゴリや要件で変わるため、ここでは個別ツールの比較には踏み込みません。まずは自社が3つのサインのどこに当てはまるかを見極めてから、ツールの比較に進んでください。

まとめ

エクセルの需要予測は、自社データの特性に合った関数を選び、データを整え、MAPEで予測と実績の乖離を検証するサイクルを回すことで、実務に十分活かせます。その一方で、外的要因やSKU拡大で限界が来たら専用ツールへ移る判断力も、同時に持っておきたいところです。

進め方はシンプルです。まず手元のデータが直線トレンドか・季節変動ありか・複数要因かを見極めて関数を選び、関数を書きたくなければ予測シートで代用します。次に過去データを2周期分以上そろえてゼロ値や外れ値を前処理し、最後にMAPEで精度を測って月次で見直します。

下の早見表を起点に、自社データに合う関数から試してみてください。

データの特性選ぶ関数
直線的なトレンドのみFORECAST(FORECAST.LINEAR)
季節変動を繰り返すFORECAST.ETS/予測シート
複数の外部要因が絡むTREND
平均的な伸長率を知りたいSLOPE

そして関数の見直しを重ねても精度が頭打ちになり、SKU数や属人化の壁が見えてきたら、専用ツールへの移行を検討する段階です。

需要予測の精度を上げるには、分析の前段でデータを一元管理する基盤づくりが欠かせません。GENIEE CDPなら、複数システムに散在するデータをノーコードで統合し、AI分析まで一気通貫で実行できます。データの土台を整えることで、Excelで磨いた予測の精度を、欠品や過剰在庫を減らす成果につなげられます。

定着率99%の国産SFAの製品資料はこちら

なぜ「GENIEE SFA/CRM」が選ばれるのか
  • SFAやCRM導入を検討している方
  • どこの SFA/CRM が自社に合うか悩んでいる方
  • SFA/CRM ツールについて知りたい方
個別相談会個別相談会定着率99%国産SFA「GENIEE SFA/CRM」定着率99%国産SFA「GENIEE SFA/CRM」
GENIEE's library編集部
執筆者

GENIEE's library編集部

株式会社ジーニー


プロフィール

GENIEE's library編集部です!
営業に関するノウハウから、営業活動で便利なシステムSFA/CRMの情報、
ビジネスのお役立ち情報まで幅広く発信していきます。