ひとことで言うと#
日々のデータの上下動(ノイズ)を直近N期間の平均値に置き換えることで、短期的な変動を滑らかにし、**本質的なトレンド(上昇・下降・横ばい)**を浮かび上がらせる手法。「木を見て森を見失う」状態から抜け出せる。
押さえておきたい用語#
- 移動平均期間(N)
- 平均を取るデータの個数のこと。7日なら直近7日分の平均。Nが大きいほど滑らかになるが、トレンド変化への反応は遅くなる。
- 単純移動平均(SMA)
- 直近N期間のデータを均等に平均する最も基本的な移動平均。すべてのデータに同じ重みを与える。
- 加重移動平均(WMA)
- 直近のデータにより大きな重みを与えて平均する手法。最新の動向をより反映したいときに使う。
- ゴールデンクロス
- 短期移動平均線が長期移動平均線を下から上に抜ける現象を指す。上昇トレンドへの転換シグナルとされる。
- デッドクロス
- 短期移動平均線が長期移動平均線を上から下に抜ける現象である。下降トレンドへの転換シグナルとされる。
移動平均法の全体像#
こんな悩みに効く#
- 日ごとの売上が激しく上下して、増えているのか減っているのか判断できない
- 曜日や天気による短期変動に振り回されている
- 「先月より良かった?悪かった?」の判断にいつも迷う
基本の使い方#
何期間分のデータを平均するかを決める。
- 7日移動平均: 曜日の影響を除去したいとき(週次パターンの平滑化)
- 30日移動平均: 月内の変動を除去し、月次トレンドを見たいとき
- 12ヶ月移動平均: 季節変動を除去し、年単位のトレンドを見たいとき
原則: 除去したい変動の1サイクル分の期間を設定する。
各時点で直近N期間の平均値を計算する。
例(7日移動平均):
- 1/1〜1/7の平均 → 1/7の移動平均値
- 1/2〜1/8の平均 → 1/8の移動平均値
- 1/3〜1/9の平均 → 1/9の移動平均値
Excelなら =AVERAGE(B1:B7) をコピーするだけ。Googleスプレッドシートでも同様に簡単に計算できる。
元の時系列データ(細かくギザギザ)と移動平均線(滑らか)を同じグラフに重ねて描画する。
- 移動平均線が右肩上がり → 成長トレンド
- 移動平均線が横ばい → 安定期
- 移動平均線が右肩下がり → 下降トレンド
- 元データが移動平均線の上に来た → 直近は好調
- 元データが移動平均線の下に来た → 直近は不調
短期と長期の移動平均を組み合わせると、トレンドの転換点が見える。
- 短期(7日)が長期(30日)を上回った → ゴールデンクロス: 上昇トレンドへの転換サイン
- 短期(7日)が長期(30日)を下回った → デッドクロス: 下降トレンドへの転換サイン
この交差をシグナルとして、施策の投入タイミングを判断できる。
具体例#
状況: 日次売上が大きく変動するECサイトで、7日移動平均を適用。
| 日付 | 日次売上 | 7日移動平均 |
|---|---|---|
| 3/1(月) | 120万 | – |
| 3/2(火) | 80万 | – |
| 3/3(水) | 95万 | – |
| 3/4(木) | 110万 | – |
| 3/5(金) | 140万 | – |
| 3/6(土) | 200万 | – |
| 3/7(日) | 180万 | 132万 |
| 3/8(月) | 130万 | 134万 |
| 3/9(火) | 90万 | 135万 |
発見: 日次で見ると80万〜200万と激しく変動しているが、7日移動平均は132万→134万→135万と緩やかに上昇トレンド。
「トレンドは緩やかな上昇。現施策を継続」と判断。日次の上下動に振り回されない意思決定が可能になった。
状況: SaaSプロダクトの週次アクティブユーザー(WAU)を4週移動平均と12週移動平均で追跡。
発見: 新機能リリースの2週間後に4週移動平均が12週移動平均を上回るゴールデンクロスが発生。WAUが3,200人→3,800人に増加傾向。
施策: トレンド転換を好機と判断し、マーケティング予算を30%増額。新機能を訴求するキャンペーンを開始。
ゴールデンクロス発生から3ヶ月でWAUは3,200人→5,100人に拡大。早期にトレンド変化を検知できたからこそ、成長の波に乗れた。
状況: 精密部品の製造ライン。日次の不良率は0.5%〜3%とバラつきが大きく、異常の発見が遅れがち。
対策: 不良率の30日移動平均を管理チャートに追加。閾値を1.5%に設定。
発見: ある月の20日頃、30日移動平均が1.3%→1.6%にじわじわ上昇。日次データだけでは気づけなかった緩やかな品質低下を検知。
原因調査: 3週間前に導入した新しい切削油が原因と判明。即座に旧製品に戻す。
30日移動平均は翌月に1.1%まで回復。移動平均なしなら不良率が2%を超えてからの対処となり、対応が2週間遅れていた。不良品による損失を約180万円回避できた。
やりがちな失敗パターン#
- 期間の設定が不適切 — 7日移動平均では季節変動は除去できないし、365日移動平均では短期トレンドの変化に気づけない。何の変動を除去したいかに応じて期間を選ぶ
- 移動平均の遅延を忘れる — 移動平均は過去N期間の平均なので、実際のトレンド変化より遅れて反応する。急激な変化の検知には不向き。急変の検知には管理図を併用する
- 移動平均だけで予測する — 移動平均はトレンドを「見る」ツールであって「予測する」ツールではない。将来の値を予測するには、回帰分析や時系列モデルが必要
- 1つの期間だけで判断する — 短期だけ見ると小さな変動に反応しすぎ、長期だけ見ると変化に気づけない。短期と長期を組み合わせて多角的に判断する
まとめ#
移動平均法は、日々のデータの変動ノイズを取り除き、本質的なトレンドを浮かび上がらせるためのシンプルかつ強力な手法。Excelの関数一つで計算でき、専門知識がなくても使える。まずは手元の時系列データに7日移動平均を適用して、元データと重ねたグラフを作ってみよう。