世の中には、季節ごとに売上が違う商品があります。
このような季節ごとの商品の売上分析では、売上の変動を時間の流れでのみで分析すると、その商品のプロモーションが良くて売れたのか、毎年売れる時期だから売れたのかがわかりません。
このような売上分析は、同じ月で比較するといった、時期やパターンを考慮した時系列分析の必要があります。
時系列データとは?
まず、時系列分析をするための時系列データについて、解説します。
時系列データの概要
ある期間における、年ごと、月ごと、日付ごと、時間ごとのデータが時系列データです。50年間の年ごとの人口、3年間の月ごとの売上、1年間の曜日ごとの交通量、1月の日ごとの来店者数、ある1日の時間ごとの校庭の気温といったものがあります。
これらのデータは繰り返しのパターンがある可能性があります。
時系列データの種類
時系列データは、季節変動、循環変動、長期変動、不規則変動があります。
季節変動
冒頭に書いたように、2月はチョコレートが売れます。また、アイスクリームは夏に売れるでしょう。家電は新しい生活が始まる3月や4月に売れるでしょう。このように、1年の中で季節や月ごとの変動を季節変動と呼びます。まさに気温などの気象データは季節変動があるものと言えます。
次のグラフでは、毎年3月と4月に売上個数が高くなっています。
循環変動
年よりも長いスパンで繰り返している変動を循環変動と呼びます。よくある循環変動は景気です。
下のグラフでは、毎日のある商品の仕入れ値の変動を1日ごとに記録したものです。
時間経過とともに少しずつ値が増加し、約6.5年ごとに急激に下がるようなタイミングあるという周期があります。
長期変動(トレンド)
長期間に渡る変動を長期変動と呼びます。長期変動はトレンドとも呼ばれます。ある商品の1日の売上金額は日々変化しています。その中で売上が伸びているのかどうかは、1日ごとの変化を見るのではなく、長く見て、上向いているのか下がっているのかを判断します。これが長期変動です。
次のグラフでは、青い線では日々上下していて全体的な変動幅がわかりませんが、青い線を1年間の幅で平均化した赤い線を見ると、1周期当たり上下に2000程度で推移しているのがわかります。
不規則変動
変動のパターンが認められないものを不規則変動と呼びます。
以下のグラフは、2年間の売上推移ですが、パターンが認められません。
時系列分析とは?
時系列分析は、ある時系列データの中で、どの変動に当てはまるのか、その期間、変動量を調べる分析です。
時系列分析の概要
時系列分析では、全体としての傾向、繰り返しパターンがあるのかどうかを、次のような数学的手法を使って判断します。
最小二乗法
全体として上向いているか下がっているのかの傾向を調べます。調べたい期間に対し、最小二乗法というすべてのデータから見て一番妥当な直線を作成する手法を使います。次の長期変動のグラフの赤い線が最小二乗法で求めた線です。
移動平均
時系列データには、たまたまそうなったデータが常に混入しています。ある日突然大口の現金販売の顧客が現れたり、やむを得ない理由でその日は店舗を臨時休業にしたために売り上げが0だったりというケースです。そこまで大きくなくても日々の売上金額が平均化されている、完璧にパターン化されているということはありません。そのような時系列データを含んだまま分析すると、本当の傾向を見ることはできません。そこで、そのような外れ値を除外することが必要になります。手法は簡単で前後に任意の個数の値の平均を取ります。これが移動平均法です。任意の個数を多くとることで、外れ値や変化の度合いがなだらかになっていきます。
上記の長期変動(トレンド)のグラフでの赤い線が前後半年間の期間で移動平均をとったものです。
短期的傾向
1日だけ特別なキャンペーンをしたことで売上が1日だけ上がる場合があります。この場合はその1日のデータは他のデータに比べて特出しますので、一見すると外れ値になります。しかし、キャンペーンの成果を見たい場合は、特出したデータは意味のあるものです。この場合、キャンペーンの成果を見る場合は、同じようなデータと比較してみるのがよいでしょう。
1日だけのキャンペーンであれば、前後の日の売上との比較が一番わかりやすいので、移動平均で求めた値を基準に元データを比較すると良いでしょう。
次のグラフの青い線は1年間の1日ごと来店者数の推移です。毎月15日に割引チケット配布キャンペーンを行いました。オレンジの線が前後1日の移動平均、灰色の線が元データを移動平均で割った値です。灰色の線を見てみるとキャンペーン実施日には約20%の来客数の増加が見込める事、2月、4月、5月、8月、9月、10月のキャンペーンは不調だったことがわかります。
階差
1つ前との差を求めます。
次のグラフの灰色の線が階差です。階差では、一つ前のデータの差を取るので、変化点のあった前後でプラスとマイナスに大きくデータが振れますので、移動平均値と比較するよりも強く変化点が現れます。
季節階差
その年のその月だけキャンペーンをしたということであれば、一つ前ではなく、12か月前のデータを基準に階差を求めると良いでしょう。
次のグラフは毎年夏に来客数が少なくなるので、2021年は7月と8月にキャンペーンを行った結果です。青い線が来場者数、オレンジの線が12か月の季節階差です。300~400人増えていることがわかります。
周期
繰り返しの長さがわからないときは、1つ前、2つ前とどんどん前の値との相関係数を調べて相関があるのがどのくらい前のデータなのかを調べていく「自己相関」を調べることによっても調べることもできます。また、指数平滑法という手法を用いると、繰り返しの長さがわかります。
データを予測する
自己回帰
任意の個数個前のデータとの重回帰分析を繰り返すことにより、どのくらい前のデータと相関があるのかを調べることができます。その重回帰分析の結果、回帰式を得られるので、それを使って未知のある時点の値を予測することができます。
「AR」とも呼びます。
重回帰分析についてはこちらの記事をご覧ください。
ARIMAモデル
自己回帰を使った予測手法である「AR」と移動平均を使った予測手法である「MA」を組み合わせた手法を「ARMAモデル」と呼び、より一般化された値を得ることができます。
会社が成長期に入ると売上は上下しながらどんどん右上がりになっていくという変化が起きますが、「ARIMA」モデルでは、平均に対し階差「I」を求めて「ARMA」モデルを適用し、平均の変動に対し予測を立てるモデルです。
時系列データをExcelで分析する
時系列データはExcelでも簡単に分析できます。
折れ線グラフ
Excelグラフの中に折れ線グラフがあります。挿入タブの中の折れ線グラフで作成できます。
作成した折れ線グラフには、近似曲線を追加することができます。グラフをクリックした時にグラフの右上に表示される+をクリックし、近似曲線をクリックすると、最小二乗法を使った近似曲線を描くことができます。
この近似曲線を右クリックして、近似曲線の書式設定をクリックすると、画面右に設定項目が表示され、近似曲線の決定係数や回帰式を表示したり、近似曲線を伸ばして将来の予測をしたりすることができます。
移動平均
移動平均を求めるには、Excelの分析機能を使うと簡単です。
まず、今回は分析を行うので「分析ツール」のアドインを有効にし、分析機能を追加します。
ファイルタブのオプションをクリックすると、左側に「アドイン」が表示されますのでクリックします。下の方に「設定」のボタンがあります。その左の下向き三角から「Excelアドイン」を指定し「設定」のボタンをクリックします。
「アドイン」のダイアログボックスで「分析ツール」にチェックを入れ、OKボタンをクリックします。オプションのウィンドウは閉じてください。
これでExcelの分析ツールを使い、統計分析をする準備ができました。
データタブに分析ツールが追加されています。これをクリックします。
「移動平均」をクリックし、OKボタンをクリックします。
「入力範囲」には、分析したいデータの1列を、タイトルを含んで選択します。
「区間」は平均したい前後の数を指定します。
「出力先」は、データを出力したい先のセルを選びます。
必要に応じて、「グラフ作成」、「標準誤差の表示」のチェックを入れて「OK」ボタンをクリックします。
移動平均の値と、標準誤差の表示にチェックが入っていれば移動平均の右隣に標準誤差が求められます。また、グラフ作成のチェックを入れていればグラフを作成します。
予測ワークシートの作成
Excelには将来の予測をする「予測シート」機能があります。
「年月日」と「売上」のように、時間の経過と実際のデータの2列を選択して、データタブの「予測シート」をクリックします。
予測ワークシートのプレビューが表示されます。「予測終了日「やその他の設定を「オプション」で変更することができます。設定したら「OK」ボタンをクリックします。
予測の結果を表す表とグラフが表示されます。予測の結果には予測の信頼区間も表示されます。
時系列データを取り扱う際の注意点
データの周期性
データに周期性がある場合、周期のパターンを読み間違うと不正確な分析となります。月ごと、年ごとなど観察したいデータの数が常識的に決まっているのであれば、その単位で分析します。
また月ごとの分析をする場合、日数は月ごと違いますし、うるう年では1年の日数が変わります。季節性を分析する時には特に注意すべき点です。このように周期がわからない場合や正確ではない場合は、分析や予測値にも影響します。
周期はExcelだとFORECAST.ETS.SEASONALITY関数を使うことで簡単に求まることがあります。
データの欠損
Excelで処理する場合、データがない日付があると、計算式上、その日付の値は0と判断される場合があります。また、データにその日付だけ飛んでいる場合、いつもは1週間が7データなのに、その週だけ6データとなって誤った周期が計算される場合もあります。
ないデータは前後の平均をとったり、移動平均値で置き換えたりします。
まとめ
時系列分析を使った予測は単純な手順ではなく、次のような手順による分析が必要です。
- 周期性を見つける
- 移動平均で全体的な変動を捉える
- 元のデータから全体的な変動を排除して短期的な変動を捉える
- 短期的な変動についても短期的な周期があるならそれを見つける
単純にこの順番だけではなく、どのレベルで不必要なデータが排除されているかも見極めなければなりません。それ以上に分析を進めた場合、必要な傾向まで消してしまう可能性もあります。
これはExcelを使った分析方法でも同じです。何を分析したいのか、そして何を予測したいのかをよく考えて時系列分析は行いましょう。