この記事で分かること
- 月次実績に移動平均(3か月・6か月)と指数平滑(α=0.2・0.5)を当て、外れ値の残り方と伸びている間の遅れを数字で確認する方法
- 直近6か月を伏せて1か月先を当て、MAE・MAPE・バイアスを「前月実績をそのまま使う」基準と比べて期間と係数を決める手順
- 先読みや短い検証期間など読み違えやすい点と、手法を決める判断フロー
想定読者:月次の売上や費用の実績から翌月以降の見込みを置く、経営企画・FP&A(予算と計画の管理)、事業会社の管理会計の担当者
前提知識:Excelの平均(AVERAGE)の計算。誤差の指標は本文で定義します。
結論:平滑化は「ぶ れを薄めて広げる」計算で、期間と係数は予測誤差で決める
月次の売上が上下するたびに、傾向が変わったのか、ただのぶれなのかで議論になることがあります。移動平均や指数平滑は、数か月分の実績を平均してぶれを薄め、傾向を見やすくする計算で、最新の平滑値は翌月の見込みの出発点にもなります。実績を取り込んで毎月見込みを更新する運用(ローリングフォーキャスト)の中で、翌月の置き方を決める場面を想定しています。
ただし、平滑化は外れ値を取り除く計算ではありません。単発の特需は周囲の月に薄まって数か月残り、実績が伸び続ける間は平滑値が実績より低く出ます。
期間や係数は、感覚ではなく、直近6か月の実績を伏せて1か月先を当てた誤差で選びます。学習用の架空事例(産業部品メーカーX社の月次売上、24か月)では、伏せた6か月の平均絶対誤差(MAE)が、3か月移動平均で7.1百万円となり、「前月実績をそのまま予測にする」基準の10.3百万円より31.2%小さくなりました。一方、6か月移動平均(10.6)とα=0.2の指数平滑(12.2)は基準を下回れませんでした。平滑すれば当たるとは限らず、これは設例の仮定の中での結果です。
平滑化の仕組み:移動平均と指数平滑は何を平均しているか
翌月の予測に使う平滑値は、予測を作る時点で分かっている当月までの実績だけで作る必要があります。移動平均について、総務省統計局の「なるほど統計学園」は、各月の値としてその月を含む一定期間の平均値を使う方法と説明しています。各月とその前後の月を使う中央移動平均、各月とそれ以前の月を使う後方移動平均、各月とそれ以後の月を使う前方移動平均があります1。本記事で使うのは後方移動平均で、3か月移動平均は直近3か月の実績を33.3%ずつ、6か月移動平均は16.7%ずつの重みで平均した値です。
N か月移動平均(月t)
月t−N+1 から 月t までの実績の合計 ÷ N
指数平滑は、当月の実績と前月の平滑値を、平滑係数α(0より大きく1以下)の割合で混ぜる計算です。
指数平滑値(月t)
α × 当月の実績 +(1 − α)× 前月の平滑値 (月1は実績をそのまま使う)
前月の平滑値にはその前の月が混ざっているため、重みは当月がα、1か月前がα×(1−α)、2か月前がα×(1−α)²と、一定の割合で小さくなりながら過去へ続きます。α=0.5なら50.0%、25.0%、12.5%、6.3%…、α=0.2なら20.0%、16.0%、12.8%、10.2%…です。αが大きいほど直近に重みが寄り、反応が速い代わりにぶれも残ります。Corporate Finance Institute(CFI)の解説も、直近の観測値に重みを置く指数移動平均を代表的な平滑化の方法に挙げています2(一般的な概念の参考です)。株価で言う指数移動平均(EMA)も同じ式で、期間Nから α=2÷(N+1) と置く対応がよく使われますが慣習にすぎず、本記事ではαを直接選びます。
平滑化は外れ値を取り除く操作ではありません。平均を取るときに外れ値も実績のまま入るので、消えずに、窓の長さや係数に応じて後続の月へ薄まって残ります。CFIも、平滑化はデータ中の外れ値から大きな影響を受けうると述べています3。
もう一つの前提は季節性です。統計局は、飲食業の売上が12月や8月に毎年伸びるなど季節的な要因を含む系列では、前月からの上下だけでは正確な分析ができず、季節変動を取り除く必要があると説明しています4。CFIも、移動平均は季節変動が小さい場合に向き、季節データでは誤った予測になりうると述べています5。季節の山谷が大きい系列は、先に季節指数で調整するか別の手法を選びます(時系列データの自己相関・定常性・季節性の基礎、用語集の季節性のモデル化)。本記事の設例は、季節性が小さい系列に限ります。
設例:24か月の月次売上に4つの平滑値を当てる
以下は学習用の架空事例です。産業部品メーカーX社(仮称)の管理会計上の月次売上を、百万円単位で24か月分(月1=1年目1月)使います。基調(ばらつきを除いた水準)は、月20まで毎月5百万円ずつ伸びて月nに1,000+5×n、月21以降は1,100の横ばいに変わる設定です(月1から月13で約6.0%の伸び)。実績は、この基調に−12〜+12百万円のばらつきを重ねたもので、月10だけは単発の特需100百万円が加わっています。以上はすべて本記事の仮定です。図表1が実績と4つの平滑値です。
計算の例を示します。月6の3か月移動平均は、月4〜6の実績(1,027、1,018、1,042)の合計3,087を3で割った1,029.0です。指数平滑は月1を実績の998で始め、月2のα=0.5は0.5×1,014+0.5×998=1,006.0、α=0.2は0.2×1,014+0.8×998=1,001.2です。Excelでは、3か月移動平均は =AVERAGE(C4:C6) を下へコピーし、指数平滑は =$H$1*C5+(1-$H$1)*E4(H1がα、E列が平滑値)と前月の平滑値を参照します。
| 月 | 実績 | 3か月移動平均 | 6か月移動平均 | 指数平滑 α=0.2 | 指数平滑 α=0.5 |
|---|---|---|---|---|---|
| 月1 | 998 | ― | ― | 998.0 | 998.0 |
| 月2 | 1,014 | ― | ― | 1,001.2 | 1,006.0 |
| 月3 | 1,005 | 1,005.7 | ― | 1,002.0 | 1,005.5 |
| 月4 | 1,027 | 1,015.3 | ― | 1,007.0 | 1,016.3 |
| 月5 | 1,018 | 1,016.7 | ― | 1,009.2 | 1,017.1 |
| 月6 | 1,042 | 1,029.0 | 1,017.3 | 1,015.7 | 1,029.6 |
| 月7 | 1,029 | 1,029.7 | 1,022.5 | 1,018.4 | 1,029.3 |
| 月8 | 1,048 | 1,039.7 | 1,028.2 | 1,024.3 | 1,038.6 |
| 月9 | 1,045 | 1,040.7 | 1,034.8 | 1,028.5 | 1,041.8 |
| 月10(特需) | 1,150 | 1,081.0 | 1,055.3 | 1,052.8 | 1,095.9 |
| 月11 | 1,053 | 1,082.7 | 1,061.2 | 1,052.8 | 1,074.5 |
| 月12 | 1,072 | 1,091.7 | 1,066.2 | 1,056.6 | 1,073.2 |
| 月13 | 1,057 | 1,060.7 | 1,070.8 | 1,056.7 | 1,065.1 |
| 月14 | 1,079 | 1,069.3 | 1,076.0 | 1,061.2 | 1,072.1 |
| 月15 | 1,066 | 1,067.3 | 1,079.5 | 1,062.1 | 1,069.0 |
| 月16 | 1,090 | 1,078.3 | 1,069.5 | 1,067.7 | 1,079.5 |
| 月17 | 1,086 | 1,080.7 | 1,075.0 | 1,071.4 | 1,082.8 |
| 月18 | 1,099 | 1,091.7 | 1,079.5 | 1,076.9 | 1,090.9 |
| 月19(検証) | 1,095 | 1,093.3 | 1,085.8 | 1,080.5 | 1,092.9 |
| 月20(横ばいへ) | 1,107 | 1,100.3 | 1,090.5 | 1,085.8 | 1,100.0 |
| 月21(検証) | 1,096 | 1,099.3 | 1,095.5 | 1,087.9 | 1,098.0 |
| 月22(検証) | 1,088 | 1,097.0 | 1,095.2 | 1,087.9 | 1,093.0 |
| 月23(検証) | 1,104 | 1,096.0 | 1,098.2 | 1,091.1 | 1,098.5 |
| 月24(検証) | 1,093 | 1,095.0 | 1,097.2 | 1,091.5 | 1,095.7 |
図表1から三つのことが読み取れます。第一に、ぶれの減り方です。月16〜24の前月差の絶対値の平均は、実績の11.4に対し、平滑値は3.3〜5.1で、ぶれは薄まっています。
第二に、月10の特需の残り方です。特需の100が平滑値に残す大きさ(特需ありの平滑値−除いた平滑値)は、3か月移動平均では月10〜12の3か月間、毎月100÷3=33.3、6か月移動平均では月10〜15の6か月間、毎月100÷6=16.7です。指数平滑は月10から順に、α=0.5で50.0、25.0、12.5、6.3、3.1、1.6、α=0.2で20.0、16.0、12.8、10.2、8.2、6.6と、半分または0.8倍ずつ小さくなりながら続きます。
第三に、伸びている間の遅れです。ばらつきと特需を除いた基調だけの系列に各平滑を当てると、伸びが続く月20の時点で、平滑値は基調を、3か月移動平均が5.0、6か月移動平均が12.5、α=0.5が5.0、α=0.2が19.7下回ります。基調の毎月の伸び(5)の約1倍、2.5倍、1倍、4倍にあたります。月20で伸びが止まったあと、基調との差が1.0以下に縮むのは、3か月移動平均が2か月後(月22)、α=0.5が3か月後、6か月移動平均が4か月後、α=0.2は14か月後(月34)です。窓を長く、αを小さくするほど滑らかになる代わりに、特需は長く残り、傾向の変化への追いつきが遅れます。
図表2は同じ系列の重ね描きです。月10の山のあと、3か月移動平均は約3か月、6か月移動平均は約6か月、高い位置にとどまります。月20以降は、α=0.2の線だけが他より低い位置を続けます。
予測誤差で検証する:直近6か月を伏せて1か月先を当てる
期間や係数は、次の手順で比べます。
- 月18までの実績で作った平滑値を月19の予測とし、月19の実績が出たら誤差を測ります。月23までの実績で月24を予測するまで、計6回繰り返します。
- 基準として、前月の実績をそのまま翌月の予測とする方式も、同じ6回で測ります。
誤差と3つの指標
誤差 = 予測 − 実績 / 誤差率 = 誤差 ÷ 実績
MAE(平均絶対誤差)= 誤差の絶対値の平均(百万円)
MAPE(平均絶対誤差率)= 誤差率の絶対値の平均(%)
バイアス = 誤差率の平均(符号つき、%)
定義は着地見込みと予測精度の管理に合わせ、プラスは過大、マイナスは過小です。用語集の予測精度の記事は誤差率を(実績−見込)÷見込と定義していて、符号の向きと分母が異なるので、並べて読むときは定義を確認してください。
月19の3か月移動平均で確かめます。予測は月16〜18の実績(1,090、1,086、1,099)の合計3,275を3で割った1,091.7、実績は1,095なので、誤差は−3.3、誤差率は−0.30%です。6回の誤差率は−0.30、−1.23、+0.40、+1.04、−0.63、+0.27(%)で、絶対値の平均(丸めない誤差率で計算)がMAPEの0.65%です。他の方式も同じ手順で、結果が図表3です。
| 予測する月 | 実績 | 前月実績 | 3か月移動平均 | 6か月移動平均 | 指数平滑 α=0.2 | 指数平滑 α=0.5 |
|---|---|---|---|---|---|---|
| 月19 | 1,095 | 1,099.0+4.0 | 1,091.7−3.3 | 1,079.5−15.5 | 1,076.9−18.1 | 1,090.9−4.1 |
| 月20 | 1,107 | 1,095.0−12.0 | 1,093.3−13.7 | 1,085.8−21.2 | 1,080.5−26.5 | 1,092.9−14.1 |
| 月21 | 1,096 | 1,107.0+11.0 | 1,100.3+4.3 | 1,090.5−5.5 | 1,085.8−10.2 | 1,100.0+4.0 |
| 月22 | 1,088 | 1,096.0+8.0 | 1,099.3+11.3 | 1,095.5+7.5 | 1,087.9−0.1 | 1,098.0+10.0 |
| 月23 | 1,104 | 1,088.0−16.0 | 1,097.0−7.0 | 1,095.2−8.8 | 1,087.9−16.1 | 1,093.0−11.0 |
| 月24 | 1,093 | 1,104.0+11.0 | 1,096.0+3.0 | 1,098.2+5.2 | 1,091.1−1.9 | 1,098.5+5.5 |
| MAE(百万円) | ― | 10.3 | 7.1 | 10.6 | 12.2 | 8.1 |
| MAPE(%) | ― | 0.94 | 0.65 | 0.97 | 1.10 | 0.74 |
| バイアス(%) | ― | +0.10 | −0.08 | −0.58 | −1.10 | −0.14 |
図表3のとおり、MAEは3か月移動平均が7.1、α=0.5が8.1、前月実績の基準が10.3、6か月移動平均が10.6、α=0.2が12.2の順に大きくなります。基準に対する増減は、3か月移動平均が−31.2%、α=0.5が−21.5%、6か月移動平均が+2.7%、α=0.2が+17.6%です。MAPEも同じ順でした。
バイアスを見ると、α=0.2は−1.10%で6か月とも過小、6か月移動平均は−0.58%で6か月中4か月が過小です。基準、3か月移動平均、α=0.5は、プラスとマイナスが打ち消し合ってほぼ0です。月20まで伸びが続いた設例なので、図表1・2で見た遅れが過小の原因だと考えられます(仮説です)。符号がそろっているかを見ると、誤差の原因が「ぶれ」か「遅れ」かを切り分けられます。
ただし、これは6か月分の平均です。3か月移動平均とα=0.5の差(MAPEで0.65%と0.74%)は、1か月の誤差が入れ替わるだけで順位が動きうる大きさです。言えるのは、この二つの誤差が基準より小さく、6か月移動平均とα=0.2は大きかったところまでで、二つの間の優劣は断定しません。
検証に使う平滑値は、予測を作る時点(当月)までの実績だけで作ります。中央移動平均は当月より後の実績も使うため、傾向を読むには向いていても、予測の検証に使うと、その時点で分からなかった情報を使うことになり、誤差が小さく見えます。これはルックアヘッドバイアス(先読みバイアス)と呼ばれる誤りです。
外れ値月(特 需・システム障害)の扱い
特需やシステム障害による計上漏れのような単発の月は、平滑する前に別管理にするか、そのまま残すかを決めます。原因が特定でき、今後は起きないと言える場合は、実績とは別に「調整後」の列を作り、調整額と理由を記録して平滑に使います。原因が分からない、または毎年のように起きうる場合は、調整せずに残します。基調を作為的に動かさないためです。決めにくいときは、両方で作った予測を同じ伏せ期間の誤差で比べます。
設例で月11の予測を比べます。月10までの実績で作った3か月移動平均は、特需を残すと1,081.0で、月11の実績1,053に対して+28.0(+2.66%)の過大でした。特需の100を除いた1,050で作ると、月8〜10の実績(1,048、1,045、1,050)の合計3,143を3で割った1,047.7で、誤差は−5.3(−0.51%)に収まります。
図表3の伏せ期間(月19〜24)では、特需の影響は3か月・6か月移動平均からはすでに消えており、除いて作り直してもMAEは変わりません。α=0.2だけは特需の残りが予測を押し上げていたため、除くとMAEが12.2から14.2に悪化します。順位は最下位のままで、特需の残りが過小予測を一部打ち消していたことになります。この調整は管理会計上の見込みのための処理で、会計基準や開示上の業績予想の要件とは別です。
手法と係数の決め方:判断フロー
図表4は、ここまでの手順を一つの流れにしたものです。系列の性質(季節性、外れ値)を先に確認し、候補と基準を同じ伏せ期間で比べ、基準を上回った方式だけを採用します。
伸びが続く系列で基準を上回る方式がなければ、傾向そのものを扱う手法を試す方法もあります(FORECAST.LINEAR・TREND・GROWTH関数による予測、用語集のTREND・FORECAST関数)。ExcelのFORECAST.ETS系の関数は、傾向と季節性を含む別の指数平滑(ETS)のアルゴリズムで、本記事の指数平滑と同じ値にはなりません(中身は本記事の範囲外です)。予測手法全体の中での位置づけは予測手法の選び方にあります。
よくある間違いと限界
- 平滑値を「現在の水準」と読む。伸びている間は実績より低く出ます(設例の月20時点で基調を5.0〜19.7下回りました)。
- 実績が0に近い月があるのにMAPEだけを見る。分母が小さい月の誤差率は大きく振れるため、MAEも併せて見ます。
- 公表統計の季節調整済み値を、取得時点を記録せずに使う。たとえば労働力調査は、毎年1月分の結果公表時に季節調整値の改定を行うと統計局が公表しています6。後から同じ値が得られるとは限りません。
実務チェックリスト
- 季節の山谷がないかを確認し、強ければ季節調整後の系列に当てる。
- 外れ値月の原因と金額を記録し、調整するか残すかを決めた。
- 検証に使う平滑値は、予測を作る時点までの実績だけで作られている。
- 候補(窓・α)と、前月実績の基準を、同じ伏せ期間で測った。
- MAE・MAPE・バイアスを並べ、基準より大きい方式は採用しない。
- 差が小さいときは優劣を断定せず、再検証する時期を決めた。
よくある質問(F AQ)
αは誤差が最小になる値を探して決めてよいですか。
探すこと自体は役に立ちますが、短い伏せ期間に合わせすぎると次の期間で外れやすくなります。設例のように0.2・0.5など候補を絞り、基準を上回るかを確かめ、実績が増えたら検証し直します。
平滑値が2〜3か月続けて下がったら、傾向が転換したと見てよいですか。
設例では、月21〜24の3か月移動平均の前月差は−1.0、−2.3、−1.0、−1.0と4か月続けて下がりましたが、基調は横ばいのままで、実績が下振れた月が続いただけです。連続の本数だけで判断せず、受注・単価・数量など原因側のデータで裏づけます。
まとめ
移動平均と指数平滑は、実績のぶれを薄めて傾向を見やすくする計算ですが、外れ値は消えずに数か月残り、伸びている間は平滑値が実績より低く出ます。期間と係数は、直近6か月を伏せて1か月先を当て、MAE・MAPE・バイアスを「前月実績をそのまま使う」基準と比べて決めます。差が小さいときは優劣を断定せず、誤差を積み上げて検証し直します。
脚注
- 総務省統計局「なるほど統計学園」の「その他のデータ分析手法」のうち「移動平均」の項。移動平均(単純移動平均)を、各月の移動平均値としてその月を含む一定期間の平均値を使用する方法とし、中央移動平均・後方移動平均・前方移動平均を挙げている(参考文献 R1)。↩
- Corporate Finance Institute「Data Smoothing」の「Data Smoothing Methods」の節。単純移動平均、単純指数平滑、指数移動平均などを平滑化の方法として挙げ、指数移動平均は直近の観測値に重みを置くと説明している。一般的な概念の参考で、要約は編集部(参考文献 R2)。↩
- Corporate Finance Institute「Data Smoothing」の「Limitations of Data Smoothing」の節に、平滑化はデータ中の外れ値から大きな影響(considerable disruption)を受けうる旨の記述がある。訳・要約は編集部(参考文献 R2)。↩
- 総務省統計局「なるほど統計学園」の「その他のデータ分析手法」のうち「季節調整」の項。飲食業の売上が12月や8月に毎年伸びるなど季節的な要因を含むため、単純に前月からの上下だけを比較しても正確な分析はできず、季節的な変動を取り除いて分析する必要があるとしている(参考文献 R1)。↩
- Corporate Finance Institute「Data Smoothing」の「Moving Average」と「Limitations of Data Smoothing」の節。移動平均は季節変動が小さいか無い場合に向くこと、データが季節性を持つと誤った予測につながりうることが書かれている。訳・要約は編集部(参考文献 R2)。↩
- 総務省統計局「労働力調査 季節調整値の算出方法」の冒頭に「労働力調査では、毎年1月分結果公表時に季節調整値の改定を行います。」とある(参考文献 R3)。↩
参考文献(2 026年10月確認)
- R1 総務省統計局「なるほど統計学園」10 特徴を捉える(上級編)「その他のデータ分析手法」(公開日は確認できず) stat.go.jp (参照箇所:時系列分析の「季節調整」「移動平均」の項。脚注1・4の根拠。閲覧日:2026年10月17日)
- R2 Corporate Finance Institute「Data Smoothing」(2020年11月2日公開) corporatefinanceinstitute.com (一般的な概念の参考。参照箇所:Data Smoothing Methods、Limitations of Data Smoothing。脚注2・3・5の根拠。閲覧日:2026年10月17日)
- R3 総務省統計局
「労 働力調査 季節調整値の算出方法」(公 開日は確認できず) stat.go.jp (参照箇所:ページ冒頭の本文。脚注6の根拠。閲覧日:2026年10月17日)
※本記事は教育目的の一般的な解説であり、法務・税務・投資助言ではありません。設例は理解のための学習用の架空事例であり、実在の企業・案件とは関係ありません。