スーパーマーケットにおける商品の売上個数の予測
中央⼤学⼤学院 理⼯学研究科 経営システム⼯学専攻⽣⽥⽬研究室齋藤 烈也

中央⼤学

理⼯学研究科経営システム⼯学専攻⽣⽥⽬研究室1

⽬次

1. 研究背景
2. ⽬的
3. 基礎集計
4. 分析

1. Xgboost
2. 説明変数

5. 分析結果
6. まとめ中央⼤学

理⼯学研究科経営システム⼯学専攻⽣⽥⽬研究室

2

背景
学術的背景
スーパーマーケットの店舗でのマーチャンダイジングにおいて，発注とそれに伴う需要予測は最も重要なものの⼀つとされている．［⽊下 １１］
なぜなら，発注と需要予測の巧拙で店舗の売上や損失が⼤きく左右されるからである．

実際起きている問題
・前⽇と同じ量を無条件で機械的に発注するダラダラ発注
・廃棄を減らすように発注量を⼤幅に少なくする損失をコントロールするという観点からは必ずしも適切な発注業務がなされているとは限らない現状
中央⼤学

理⼯学研究科経営システム⼯学専攻⽣⽥⽬研究室3

⽬的⽬的
スーパーマーケットにおける商品の売上数量を予測する
使⽤データ
使⽤データ

スーパーマーケットのID-POSデータ

対象年2014年4⽉1⽇〜2016年3⽉31⽇

対象⼈数

20,297⼈（会員のみ）

商品数

106,749種

レシート数

1,223,961枚※このうち2014/4/1~2016/2/28までのデータを訓練データとして，2016年3⽉中の商品売上数を予測する
中央⼤学

理⼯学研究科経営システム⼯学専攻⽣⽥⽬研究室4

基礎集計（VMS）
1⽇あたりの売り上げ⾦額(円)

図1 1⽇当たりの売り上げ⾦額

年末年始に⼤きな波があり，全体の売り上げ傾向としてはほぼ⼀定である
中央⼤学

理⼯学研究科経営システム⼯学専攻⽣⽥⽬研究室

5

基礎集計（VMS）

⼟⽇の売上が⾼く，⽉⽊⾦と売上が低い

図２

曜⽇ごとの売上幅
中央⼤学

理⼯学研究科経営システム⼯学専攻⽣⽥⽬研究室

6

基礎集計（VMS）（円）（円）
120,000,000

売上

売上300,000,000

70,000,000

012345678910 11 12

150,000,000

09 10 11 12 13 14 15 16 17 18 19 20 21 22 23⽉

時間

図3 ⽉ごとの売上（2015年）

図4 時間ごとの総売り上げ

中央⼤学

理⼯学研究科経営システム⼯学専攻⽣⽥⽬研究室

7

基礎集計（VMS）（円）

表１

売上上位商品順位

商品名１

銘柄豚切り落とし

２

⽜乳

３豚ひき⾁

４

銘柄鶏切り⾝

５きゅうり

図5 売上上位商品
中央⼤学

理⼯学研究科経営システム⼯学専攻⽣⽥⽬研究室

8

分析（Xgboost）
今回の予測にはXgboostを使⽤［Chen 16］
Xgboost・・・勾配ブースティングとも呼ばれる⼿法で，弱学習学習器を逐次的に構築する⼿法
ランダムフォレストとの違い

図６ ランダムフォレスト（参照︓⽇経リサーチ）

中央⼤学

理⼯学研究科図7 Xgboost（参照︓スタビジ）

経営システム⼯学専攻⽣⽥⽬研究室9

分析（定式化）
ある⼊⼒&$ に対して#$ を予測することを考える．
1．1つのモデル!" を作成する．このモデルの出⼒を#$ に対する予想値#%$" とする#%$" = !"(&$ )(1)

モデルの予想した結果と実際の#$ の差が⽣じる*++$" = #$ − #%$"

(2)

2．*++$" を出⼒するようなモデル!- を作成#%$- = #%$" + !-(&$ )= !"(&$ )+ !-(&$ )中央⼤学

理⼯学研究科経営システム⼯学専攻(3)

⽣⽥⽬研究室10

分析（定式化）
3．!回繰り返すと予測値は次のようになる&(&)#"$= ) -* (.$ )(4)*+,損失関数/(0, 2)を導⼊する

中央⼤学

理⼯学研究科経営システム⼯学専攻⽣⽥⽬研究室11

分析（定式化）
このままでは過学習を起こしてしまうので罰則項を追加する．

1
Ω "# = %& + *||,||2(5)

上記の罰則項を損失関数に加えたものを ℒ (#) ("# )とする．

ここでTは決定⽊を構築した時の最終ノードの数であり，γ，λはハイパーパラメータである．
また,は決定⽊"# が返すことのできるベクトルである．
中央⼤学

理⼯学研究科経営システム⼯学専攻⽣⽥⽬研究室12

分析（アルゴリズム）
Xgboostのアルゴリズムの導出
1．⽬的関数ℒ (#) (%# )の第１項、&を%# に関して0の周りで２次のテーラー展開を⾏う．

1

1∝ min -(2. %# 3. + ℎ. %#8(3. )) + Ω(%# )+,2./0

ここで，2. = ;=< ,?@ &(A. , A<. #C0 )，ℎ. = ; 8 ,?@ &(A. , A<. #C0 )
=<>

>

中央⼤学

理⼯学研究科経営システム⼯学専攻⽣⽥⽬研究室14

分析（アルゴリズム）
ここで， ℒ (#) (%# )を以下のように書き直す．

中央⼤学

理⼯学研究科経営システム⼯学専攻⽣⽥⽬研究室15

分析（アルゴリズム）ℒ (#) (%# )を &' で微分したものを0とおいて解くと最適解 &'∗ ，つまり⽬的関数を最⼩にする ) 個⽬の決定⽊の最終ノード*が返すべき結果は(6)

ここから，勾配情報を利⽤していどのように説明変数を分岐させるか考えていく．
2．&'∗ をℒ (#) (%# )に代⼊する
2ℒ#(∑4∈67 g 4 )91%# = − /+ γ>∑4∈67 ℎ4 + λ
2

(7)

'01

中央⼤学

理⼯学研究科経営システム⼯学専攻⽣⽥⽬研究室16

分析（アルゴリズム）
ノード!を分岐する前の⽬的関数をノード " を分岐した後に左側のノードに⼊るデータの集合を #$ , 右側のノードに⼊るデータの集合を #% としたときの (#& = #$ ∪ #% ) 分岐後の⽬的関数を最も⽬的関数 ℒ (+) (-+ ) の値が⼩さくなるように分岐をするためには，分岐前と分岐後の⽬的関数の差をとって，もっとも差が⼤きくなるところで分岐を⾏えば良いということになる．
中央⼤学

理⼯学研究科経営システム⼯学専攻⽣⽥⽬研究室18

分析（アルゴリズム）

すべての説明変数 !" = (%&', … , %&* ), のあらゆる分割の候補のうち，最も(4)(4)ℒ−ℒを⼤きくする候補を１つ選んでそこで分岐を⾏うということである．
/0123061403

以上のような分析⼿法を⽤いて分析を商品数予測を⾏う．

中央⼤学

理⼯学研究科経営システム⼯学専攻⽣⽥⽬研究室19

分析（説明変数）
⽬的変数︓2016年3⽉の各商品売上数（0〜400に丸めてある）
説明変数

概要

観測開始⽉からの経過⽉

２０１４年４⽉を１として該当⽉の番号

商品番号

１０桁３４８０６種の番号

商品分類番号１１３３種の数字

商品⼤分類

１〜９の数字

商品中分類

99., 11., 12., 13., 14., 21., 22., 23., 31., 32., 33., 34., 35.,
41., 42., 43., 44., 45., 51., 52., 53., 61., 62., 63., 71., 88.

○ヶ⽉前各商品売上数

1，2，3，6，12ヶ⽉前の商品売上数○ヶ⽉前平均商品売上数

1，2，3，6，12ヶ⽉前の平均商品売上数○ヶ⽉前各商品カテゴリ売上数

1，2，3，6，12ヶ⽉前の各商品分類売上数○ヶ⽉前商品単価上昇率（○ヶ⽉前各商品平均単価ー当⽉各商品平均単価）／当⽉各商品平均単価

⽉，⽇数１２ヶ⽉，各⽉の⽇数

最終販売⽉，売り始めた⽉最後に販売していた⽉，売り始めた⽉

中央⼤学

理⼯学研究科経営システム⼯学専攻⽣⽥⽬研究室

20

結果
表３

RMSE

RMSEの結果

23.50569,

RMSE =1( (./ − 1/ )3')*+./ ︓予測値，1/ ︓実測値，'︓サンプル数
図８

予測誤差結果中央⼤学

理⼯学研究科経営システム⼯学専攻⽣⽥⽬研究室

21

分析結果
表２

図９

変数重要度
中央⼤学

理⼯学研究科

変数重要度順位

商品の周期変動をとらえている変数の重要度が⾼い
経営システム⼯学専攻⽣⽥⽬研究室

22

まとめ
まとめ
・機械学習を⽤いて商品売上数の予測を⾏った．集計より，スーパーマーケットの特性上商品数の多さや季節性，周期性を考慮して特徴エンジニアリングを⾏った．
その結果，変数重要度の⾼いものに周期性などを考慮した変数が多く⾒られた．
・売上個数の他にも，商品分類等にも着⽬し，説明変数として加えることで商品の潜在カテゴリ的要素にも付随して分析を⾏うことができた．
今後の⽅針
今回は商品ベースでの商品数予測に従事したが，ユーザベースでも商品数予測を⾏うことでユーザ属性等も考慮したマーチャンダイジングが可能になると考えられる．

中央⼤学

理⼯学研究科経営システム⼯学専攻⽣⽥⽬研究室

23

参考⽂献
［１］コンビニエンスストアの知識（⽊下安司，2011）［２］XGBoost: A Scalable Tree Boosting System（Tianqi Chen and Carlos Guestrin,2016）［３］POSデータに基づく⽋品時の顧客購買⾏動を考慮した⼩売店舗の購買シミュレーション（松村直樹，和泉潔，⼭⽥健太，2015）［４］⽇常購買⾏動に関する⼤規模データの融合による顧客⾏動予測システム
実サービス⽀援のためのカテゴリマイニング技術（⽯垣司，⽵中毅，本村陽⼀，2011）［５］XgboostでKaggleの⾃転⾞需要予測（https://hampen2929.com/xgboost-kaggle-bike/724）［６］顧客⾏動の多様性変数を利⽤した購買⾏動の予測（新美潤⼀郎，星野崇宏，2017）［７］Feature Engineering, Xgboost（ https://www.kaggle.com/dlarionov/feature-engineering-xgboost ）中央⼤学

理⼯学研究科経営システム⼯学専攻⽣⽥⽬研究室

24