小売店舗における売上時系列データを基にした将来予測と要因分析

今回のブログ記事は、Kaggleのデータセットの中でも有名な小売店舗の売上げ時系列データを対象とした分析に関連するものです。
スーパーマーケットや百貨店、ホームセンター、ドラッグストア、アパレル店、コンビニエンスストアなど、あらゆる小売業において、売上データの活用は長年にわたって重要な取り組みとされてきました。とりわけ、POS(Point of Sale)システムの普及以降、販売実績の記録と分析は在庫管理や販促計画の基盤として広く利用されてきました。しかし近年では、より複雑で変動性の高い市場環境に対応するために、AIや機械学習を活用した高度な分析手法が求められるようになっています。こうした手法を用いることで、単なる過去データの集計にとどまらず、将来の需要予測を高精度化したり、高次元の入力データ空間の中で売上変動の要因を定量的に特定したりすることが可能になります。特に小売業では、季節や祝日、天候、経済環境など、多様な外部要因も売上に影響を与えるため、精度の高い予測と柔軟な戦略立案には、これらの要因を考慮した包括的な分析が不可欠です。
本記事では、Kaggleで公開されている小売のデータセットを用いて、売上の傾向や要因を分析し、そこから得られるインサイトについて考察します。特に、売上の時系列データを分析する際にどのようなアプローチが有効か、さらにそれらの分析をMulti-Sigma®上でどのように効率的に実施できるかについても解説していきます。小売業に携わる方はもちろん、データサイエンスに興味のある方にとっても、「現実の売上データをどのように読み解き、活用するか」という実践的な視点を得る機会になることを期待しています。
このデータセットには45店舗の販売部門ごとに、部門番号、週次売上げ、週単位の日付、祝日週か否かの識別、所在地域の週単位の平均気温、所在地域の燃料価格、週単位の値下げ施策1〜5の実施の有無、消費者物価指数、失業率、店舗のタイプ(3種類)が含まれます。そこで、本記事では、説明をわかりやすくするために、店舗番号1の最初の5つの販売部門における売上げ時系列データの予測を行います。また、この分析では、各販売部門の最後の20週分のデータをテスト用データとして切り分け、それ以前のデータを学習用データとして用いています。
データの前処理1(日付データの変更など)
元のデータに含まれる日付情報は「05/02/2010」のような形式で記載されており、このままでは数値解析向けの機械学習モデルに直接入力することはできません。そこで、日付データから「Year(年)」「Month(月)」「Week(週)」の3つの変数を抽出し、数値形式の入力データとして利用できるように変換します。具体的には、Yearには2010、2011、2012のいずれか、Monthには1〜12のいずれかが入り、Weekには年始からの経過週数を格納します。
また、「IsHoliday」変数は、祝日週であるかどうかを「False」または「True」で表しています。このままでは数値処理に適さないため、Falseを「0」、Trueを「1」に変換します。さらに、値引き施策1〜5に関しては欠損値が多く含まれていたため、すべての欠損値に対して「0」を代入しました。
将来売上げの予測(その1)
上記のようにデータを数値解析に適した形式へ変換したうえで、Multi-Sigma®を使って全結合型のニューラルネットワークモデルを構築しました。そして、そのモデルを用いて、各販売部門における最後の20週分のデータに対して売上げの将来予測を行い、精度を検証しました。

上の図からもわかるように、ニューラルネットワークモデルを用いて予測した販売部門1〜5の20週分の将来売上げ予測は、良い精度が得られないという結果になりました。では、なぜこのように予測精度が低くなってしまったのでしょうか?
予測精度が伸び悩んだ原因を探るために、今回はMulti-Sigma®の「プロファイリング生成」機能を使ってみましょう。この機能は、画面上の「プロファイリング生成」ボタンをクリックするだけで、分析対象データの分布・平均値・分散などの統計情報を自動で整理してくれる便利なツールです。さらに、各変数間の相関関係も同時に可視化されるため、特徴量同士の関係性を直感的に確認できます。
ここでは、各部門のデータ間の相関を図にまとめました(以下の図を参照)。特に注目すべきは、図中の赤い点線で囲まれた部分です。そこには週次売上と各入力変数との相関が示されていますが、見ての通り、明確な相関がある変数はほとんど見当たりません。もちろん、「売上と強く相関する変数がひとつあればそれで十分」とは言えませんが、少なくとも現在の変数だけでは高い精度の機械学習モデルを構築するには情報が足りないということが分かります。

データの前処理2(変数の変換等)
時系列データを扱う際には、さまざまな分析手法があります。今回のように、全結合型のニューラルネットワークを用いる場合、過去の情報をどのようにモデルに組み込むかが重要なポイントになります。これは、全結合型のニューラルネットワークモデルが時系列の「流れ」や「トレンド」を学習しにくい構造だからです。そのため、過去の売上や周辺環境の情報を明示的に入力変数として与えることが、予測精度の向上に役立つケースがあります。
そこで今回の分析では、以下のような変数を追加しました:
- 1〜4週前の売上データおよびそれらの合計値:
→ 過去の売上水準が直近の動きにどう影響しているかを捉えるため。 - 1週前の値引き施策1〜5とその合計値:
→ 値引きのタイミングが翌週の売上に与える影響を見るため。 - 前週の失業率と消費者物価指数(CPI)、および前週が祝日週だったかどうか:
→ マクロ経済指標やイベントが売上に与える影響を考慮するため。
また、当該週の値引き施策の合計値も入力に加え、売上げに対してプロモーションが即時的に与える影響も捉えられるようにしています。加えて、年や月といったカテゴリ変数はワンホットエンコーディングにより「0」と「1」で数値化し、モデルに誤解を与えないようにします。ワンホットエンコーディングとは、機械学習モデルにデータを入力する際、「月」などのカテゴリ情報をそのまま使うと、モデルがその値の「大小」や「連続性」に意味があると誤解してしまうことがあるため、それを解決する手法の1つです。ワンホットエンコーディングでは、カテゴリごとに新たな列(変数)を作成し、「そのカテゴリに該当するかどうか」を 0 または 1 で表現します。これにより、モデルはカテゴリ間の順序や数値的な意味を誤って解釈することなく、各カテゴリの存在情報だけを正しく学習することができます。さらに、「3月、5月、7月」が売上げにプラスの影響があり、「1月、2月10月」が売上げにマイナスの影響があるような場合に、「月」という変数だけではそれらの関係性を適切に捉えることができなくなってしまいます。そのような問題も、ワンホットエンコーディングであれば解決できます。

さらに、年始からの経過週数については、時間の周期性(年単位の繰り返し)をうまく捉えられるよう、sin関数・cos関数による周期変換を行っています。これにより、たとえば「52週目(年末)」と「1週目(翌年の年始)」が連続していることをモデルが自然に理解しやすくなります。
こうした特徴量を設計する際に特に注意すべきなのが、情報漏洩(Information Leakage)です。これは、モデルが学習時に本来知り得ない未来の情報を誤って使ってしまうことを指します。これが起こると、訓練データでは非常に高い精度が出ても、実際の予測場面ではまったく使い物にならない――といった事態を招きかねません。このような情報漏洩が起こりやすいのが、バリデーションデータの分け方です。全結合型ニューラルネットワークのような一般的な機械学習モデルでは、学習用と検証用のデータをランダムに分割するケースが多く見られます。ところが、時系列データに対してランダム分割を行うと、未来の情報が学習フェーズに混入してしまう可能性があり、これが情報漏洩の典型的な原因になります。
たとえば、2012年10月の売上データを含むレコードが訓練データに、そしてその直前の9月のデータがバリデーションに含まれていると、モデルは「未来を見ながら」予測している状態になります。これは実運用のシナリオとは大きく乖離しており、モデル評価の信頼性を著しく損ないます。
この問題に対処するため、Multi-Sigma®には、バリデーションデータを将来のデータに限定して分割できる機能が搭載されています。この機能を活用することで、学習時には高い精度が出ていたのに、本番の予測では精度が大きく落ちるような“見かけ倒し”のモデルを避けることができます。結果として、実運用でも信頼性の高い予測が可能になります。
将来売上げの予測(その2)
これまでに紹介した特徴量エンジニアリングとMulti-Sigma®の情報漏洩を防ぐバリデーション機能を組み合わせた結果、当初の予測結果(下図左)と比べて、すべての部門で売上予測の精度が大きく改善されました(下図右)。従来のアプローチでは、学習時のバリデーションデータに将来の情報が混入していた可能性があり、実際の予測精度と乖離するリスクがありました。しかし今回の手法では、そうしたリスクを回避しつつ、特徴量エンジニアリングによってモデルが現実の時系列構造を正しく学習できるようになったことで、より信頼性の高い予測が実現できています。

売上データに基づくマーケティング施策
機械学習モデルが得意とするのは、未知のデータに対する予測です。それでも、時系列データの予測には多くの工夫が必要であり、容易ではありません。さらに、全結合型ニューラルネットワークのような機械学習モデルでは、予測精度が高くても「なぜそのような予測結果になったのか」といった要因の解釈が難しいという課題があります。つまり、たとえ将来の売上げを高精度で予測できたとしても、売上げの変動がどの要因に起因するのかを明らかにするのは簡単ではないのです。
このような課題に対して、Multi-Sigma®に搭載されている要因分析機能を用いると、売上げに影響を与えた変数を可視化・解析することができます。これにより、たとえば以下のようなマーケティング的なインサイトが得られます:
- どの値引き施策が売上に効果的だったのかを評価できる
- 季節性や祝日といった外的要因が売上にどう影響するかを把握できる
- 過去の売上トレンドが現在の売上にどう影響しているかを確認できる
このように、予測だけで終わらず、「なぜ売れたのか/売れなかったのか」を理解することができる点が、Multi-Sigma®を使った分析の大きな強みです。
単なる数値予測にとどまらず、戦略的な意思決定につながる示唆を得ることが可能になります。
- 売上データから読み解く値引き施策の効果
下の図には、各販売部門に対する要因分析の結果を示しています。この結果からは、一部の販売部門において、当該週および前週の値引き施策が売上と関連していることがわかります。
たとえば、販売部門1では興味深い傾向が見られます。値引き施策4が実施されると売上が改善する一方で、施策1と5では売上が悪化する傾向が見られました。詳細は明らかではないものの、施策1および5は他の販売部門を対象としたキャンペーンである可能性があり、それによって消費者がそちらの部門で予算を使ってしまい、販売部門1に割く支出が減少したとも考えられます。
また、販売部門4では、前週に実施された値引き施策2が売上にプラスの影響を与えていることが確認されました。これもいくつかの仮説が考えられます。たとえば、施策2で販売された商品が食料品や日用品のようなすぐに消費されるものだった場合、前週の購入をきっかけに「もっと買いたい」と感じて翌週にも購入したといったリピート行動があったのかもしれません。あるいは、前週の施策2が何らかの代理変数として機能しており、実際には別の変数が売上に影響しているという可能性も否定できません。
このように、公表されている変数が限定されている中では断定は難しいものの、モデルの出力からは施策の影響を示唆するパターンが確かに見て取れます。他の販売部門においても、値引き施策が売上に何らかの影響を与えている様子がうかがえます。こうした要因分析を通じて、「どの施策がどの部門にとって有効か」「その影響がどのタイミングで現れるのか」といったインサイトを得ることができるのは、マーケティング戦略の立案において大きな武器となります。
- 祝日・イベントによる売上変動と売上げトレンドに基づく販促戦略
同様に、下の図からは一部の販売部門において、季節や祝日といった要因が売上に影響を与えている様子がうかがえます。
たとえば、販売部門5では、11月〜12月にかけて売上が大きく伸びる傾向が見られます。また、祝日週にも売上の増加が確認されており、これらの傾向から、部門5はクリスマスシーズンなどの年末商戦に強い商品を多く扱っている可能性が考えられます。一方で、1月に入ると売上が急激に落ち込む傾向があり、年末にピークを迎え、年明けには反動減が生じる構造であることも読み取れます。さらに注目すべき点として、この販売部門では「値引き施策1」を行った週に売上が下がる傾向が見られました。もしこの施策が11月や12月といった売上が本来伸びる時期に実施されていたのであれば、キャンペーン戦略そのものが期待した効果を出せていなかった可能性もあります。こうした傾向を見極めることで、施策の効果検証やタイミングの最適化に繋がります。実際のマーケティング分析では、どの部門に・どの時期に・どの施策を行うべきかを、こうした詳細なデータに基づいて見直していくことが重要になります。
興味深い分析結果のひとつが、販売部門3に見られる売上の周期性です。この部門では、年始からの週数に対して適用したsin関数が負の影響を、cos関数が正の影響を持っていたことから、売上が一定の周期で上下動する傾向があることがわかります。要因分析の結果を確認すると、7月〜8月に売上が増加し、9月〜10月にかけては減少する傾向が見られ、季節要因による波が明確に表れています。また、この部門では直近の売上トレンドが将来の売上予測に有効であることも確認されました。具体的には、1週間前・2週間前の売上が高い場合、当週もその傾向が継続することが多い一方で、3週間前の売上が高かった場合には、当週の売上がやや落ち込む傾向が見られます。つまり、売上トレンドは2〜3週間程度しか持続しないという特徴があると考えられます。こうした傾向を把握することで、売上が上昇しやすいタイミングに合わせてキャンペーンを実施したり、在庫を最適に調整することで欠品を防ぐといった具体的なアクションが可能になります。さらに、売上が落ち込む時期には、新商品の投入やクロスセル施策などのテコ入れを行うことで、戦略的なキャンペーンにもつなげることができます。
- 外部要因と売上データから考えるマーケティング戦略
さらに、下の図からは、一部の販売部門において失業率や燃料価格といった外部要因が売上に影響を与えている様子が確認できます。
たとえば、販売部門4では失業率や燃料価格が上昇すると売上が低下する傾向があり、これは消費者の可処分所得や移動のしやすさが制限されることに起因していると考えられます。また、1月や2月といった寒い時期にも売上が落ち込む傾向が見られ、季節要因も影響している可能性があります。では、このような外部要因に影響を受けやすい販売部門では、どのようなマーケティング施策が有効なのでしょうか。
まず、燃料価格の高騰や失業率の上昇が続く局面では、消費者の来店頻度が下がる可能性があります。そのため、来店時の単価を上げるために、まとめ買いを促すセット商品の提案や、オンライン購入(EC)への誘導を強化することが効果的かもしれません。また、そうした部門で取り扱っている商品が生活必需品ではない場合、無理に販売を促すよりも、より需要の安定している他の販売部門に注力することで、店舗全体の売上を維持するという戦略も選択肢となります。重要なのは、外部要因そのものは店舗側でコントロールできないという点です。だからこそ、それらを「所与の前提」として認識しつつ、どのように適応し、柔軟なマーケティング施策を講じるかが、実務上の鍵となります。

最後に
本ブログ記事では、公表されている小売データをもとに、簡単な前処理を行い、Multi-Sigma®を活用して売上予測と要因分析を実施しました。特に、時系列データにおける特徴量設計の工夫や、情報漏洩を防ぐ検証手法、さらには売上に影響を与える施策・季節・外部環境の要因の可視化など、実務でも応用可能な分析プロセスを紹介しました。
実際のマーケティング分析や業務活用においては、以下のようなより高度な視点も重要になります:
- 祝日と値引き施策の組み合わせによる相乗効果の評価
- 各販売部門の売上変動を合算・比較することで得られる全体最適視点
- 値引き施策やプロモーションが中長期的に与える影響の検証(ラグ効果、再購買行動など)
さらに、本記事では触れきれませんでしたが、Multi-Sigma®には「最適化機能」や「連鎖解析機能」といった、より戦略的な意思決定を支援する高度なツールも搭載されています。たとえば、特定の売上目標に対して最適な施策の組み合わせを提案する機能や、複数部門・複数施策の相互影響を捉える機能などは、複雑な現場の意思決定に大きな力を発揮します。
Multi-Sigma®は研究開発部門での活用が多いツールですが、売上分析やマーケティング領域においても、目的に応じた使い方をすることで、定量的な判断と実行支援を両立させることができます。今後のデータ活用において、「予測」だけでなく「理解」と「最適化」を組み合わせた分析が、企業の競争力を高める鍵になると言えるでしょう。
(データソース)
https://www.kaggle.com/datasets/manjeetsingh/retaildataset