2つの式と、記号の意味
n期移動平均は、直近n期の実績の単純平均を次期の予測にします。
F(t+1) = ( y(t) + y(t−1) + … + y(t−n+1) ) ÷ n
単純指数平滑は、前回の予測に、前回の誤差のα倍を足して更新します。
F(t+1) = α × y(t) + (1 − α) × F(t) (0 < α ≤ 1)
- y(t):t期の実績(個/月など、在庫と同じ単位)
- F(t):t期に対する予測値
- n:移動平均の期間数、α:平滑化定数
指数平滑は、過去の実績に α、α(1−α)、α(1−α)²… と指数的に小さくなる重みをかけた加重平均と同じです。使うデータの「平均年齢」は、移動平均が (n+1)/2 期、指数平滑が 1/α 期です。したがって α = 2/(n+1) のとき、両者は同じ程度の遅れになります。3か月移動平均に対応するのは α=0.5、α=0.1 は19か月移動平均に相当します。
どちらも季節性やトレンドを扱わない手法です。季節性のある系列には季節つきの手法が必要で、その判断は製造業の需要予測手法:統計手法と機械学習の使い分けで扱います。
段差のある12か月で計算する
ある購買部品の月次使用量が、6か月目まで100前後で推移し、7か月目に新機種の立ち上げで130前後に増えたとします。初期値は F(1)=100 とし、各月の予測はその月の実績を見る前に計算した値です。
| 月 | 実績 | 3か月移動平均 | 指数平滑 α=0.1 | α=0.3 | α=0.5 |
|---|---|---|---|---|---|
| 4 | 102 | 100.0 | 100.0 | 99.6 | 99.0 |
| 5 | 98 | 100.7 | 100.2 | 100.3 | 100.5 |
| 6 | 100 | 98.7 | 99.9 | 99.6 | 99.2 |
| 7 | 130 | 100.0 | 100.0 | 99.8 | 99.6 |
| 8 | 126 | 109.3 | 103.0 | 108.8 | 114.8 |
| 9 | 134 | 118.7 | 105.3 | 114.0 | 120.4 |
| 10 | 128 | 130.0 | 108.1 | 120.0 | 127.2 |
| 11 | 132 | 129.3 | 110.1 | 122.4 | 127.6 |
| 12 | 130 | 131.3 | 112.3 | 125.3 | 129.8 |
| 13(予測) | − | 130.0 | 114.1 | 126.7 | 129.9 |
1〜3か月目の実績は 100/104/96 です。この表を期間別の誤差にまとめると、トレードオフがはっきりします。
安定期には、αが小さいほど偶然のぶれに振り回されず、誤差が小さくなります。ところが需要の水準が変わると、αが小さい予測はいつまでも古い水準を引きずります。α=0.1 の予測で部品を手配していたら、7〜12月の6か月で累計141個(月平均約24個)の不足が出て、安全在庫を食いつぶし、欠品か緊急手配になります。
トレンドがあると、どちらも一定量遅れる
需要が毎月b個ずつ増え続ける場合、移動平均も単純指数平滑も、定常状態で実績より一定量低い予測を出し続けます。その遅れは、移動平均で b×(n+1)/2、指数平滑で b/α です。毎月5個ずつ増える系列では、3か月移動平均でも α=0.5 の指数平滑でも、予測は実績より常に10個低くなります(数値計算で確認済み)。
この遅れはランダムな誤差ではなく一方向の偏り(バイアス)なので、安全在庫では吸収しきれません。標準偏差から安全在庫を計算すると、偏りの分だけ在庫が足りなくなります。トレンドがある品目は、トレンド項を持つホルト法を使うか、偏りをトラッキングシグナルで監視して水準を補正します。
実務での選び方
使い分けの目安は次のとおりです。
- 計算の透明性を優先する(現場が手で検算する、ExcelやERPの標準機能で回す)なら移動平均。期間nは「何か月前の異常値まで引きずってよいか」で決めます
- 品目数が多く、毎月自動で回すなら指数平滑。保持する値が前回予測1つで済み、ERPやSCPのほとんどに標準で入っています
- 水準変化が頻繁な品目(新機種の立ち上げ、設計変更)は、αを高めにするか、変化点で初期値を手動で置き直します。置き直した日と理由を記録しておかないと、後で予測精度を評価できません
よくある質問
加重移動平均と指数平滑法はどちらが良いですか。
加重移動平均は重みを自由に決められますが、期間ごとに重みを決める根拠を説明しにくく、品目数が多いと保守が大変です。指数平滑はαひとつで重みが決まり、過去データで最適化もできるため、多品目の自動予測には指数平滑が扱いやすい手法です。
指数平滑の初期値はどう決めますか。
最初の数期間の実績の平均を使うのが一般的です。初期値の影響は (1−α) の累乗で薄れるため、αが小さいほど長く残ります。α=0.1 では初期値の影響が10%未満になるまで22期かかるので、履歴が短い品目では初期値の決め方が予測を左右します。
安全在庫の計算に使う誤差はどの期間のものですか。
予測手法とαを確定した後、その条件で過去を予測し直した誤差(バックテストの誤差)を使います。手順は予測誤差から安全在庫を計算する方法で説明しています。
この記事に出てくる用語
週刊 在庫KPI
業種別の在庫KPIベンチマークの更新と、その週の新着記事5本を毎週月曜にお届けします。無料・いつでも解除できます。