Slide 1

Slide 1 text

マーケティングへの データサイエンス応用例

Slide 2

Slide 2 text

- やること - データサイエンスに関連する用語のざっっっくりとした説明 - データサイエンスのマーケティングへの応用例の紹介 - 簡単なPythonのコードの実行 - やらないこと - データサイエンスに関連する用語・理論等の詳細な話 - 「マーケティングとは!」みたいな話 - 複雑なPythonの処理 やること・やらないこと なんとなく「データサイエンスってこんなことができるんだ」くらいの ふわっとした理解度に到達するのが今回のゴールです!

Slide 3

Slide 3 text

アジェンダ - データサイエンスの概要 - マーケティングへの応用例 - RFM分析 - メールの開封率予測 - キャンペーンの効果検証

Slide 4

Slide 4 text

データサイエンスの概要

Slide 5

Slide 5 text

データサイエンスとは 統計学などの知見をもとにデータからインサイトを導き出すこと

Slide 6

Slide 6 text

本スライド内における”データサイエンス” 先ほどの定義に加えて,統計学・機械学習・数理最適化など広義の 数理的手法も含めて“データサイエンス”と表現 データサイエンス警察 ※「データサイエンス」という表 現は曖昧な便利ワードとして用い られがちなので,要注意です (正直,何が正解かは私も分かりません)

Slide 7

Slide 7 text

3大”データサイエンス”手法(あくまでも主観) - 統計学 - 機械学習 - 教師あり学習 - 教師なし学習 - (強化学習) - 数理最適化 > 厳密な棲み分けはない これらの理論は 「画像処理」「音声認識」「自然言語処理」「異常検知」 などをはじめ,多岐に渡って応用されている 最近流行りのChatGPTなども”データサイエンス”の応用

Slide 8

Slide 8 text

統計学って何ができるの? 手元のデータを使って,母集団について考える イメージ: カレーの味見 味見で全部は食べない 小皿にすくって (鍋全体の)味を確認

Slide 9

Slide 9 text

機械学習(教師あり学習)って何ができるの? 手元のデータから学習し,ある値を予測する イメージ: カレーの味 じゃがいも 玉ねぎ にんじん お肉 カレールー 味 aグラム bグラム cグラム dグラム eグラム

Slide 10

Slide 10 text

機械学習(教師なし学習)って何ができるの? 手元のデータをグルーピングする イメージ: カレーの味 グループ1 グループ2 激甘 甘口 中辛 辛口 激辛

Slide 11

Slide 11 text

数理最適化って何ができるの? データと制約条件から,ある値を最大(最小)にする配分を実現 イメージ: カレーをできるだけたくさん作る 甘口カレー4食分の具材 玉ねぎ1個 じゃがいも2個 にんじん2本 牛肉100g 甘口カレールー1個 辛口カレー4食分の具材 玉ねぎ2個 じゃがいも2個 にんじん1本 牛肉200g 辛口カレールー1個 冷蔵庫 玉ねぎ6個 じゃがいも6個 にんじん6本 牛肉500g 甘口カレールー3個 辛口カレールー3個 制約条件 データ

Slide 12

Slide 12 text

データサイエンスの概要(まとめ) - データサイエンスとは、統計学などの知見をもとにデータから インサイトを導き出すこと - 統計学、機械学習、数理最適化でできること - 統計学: 手元のデータから母集団を考える - 機械学習: 手元のデータから予測・手元のデータをグルーピング - 数理最適化: 手元のデータと制約条件からある値を最大(最小) にする配分を実現

Slide 13

Slide 13 text

マーケティングへの応用例

Slide 14

Slide 14 text

マーケティングへの応用例 今回,紹介するのは次の3つ - RFM分析 - メールの開封率予測 - キャンペーンの効果検証

Slide 15

Slide 15 text

マーケティングへの応用例 今回,紹介するのは次の3つ - RFM分析 - メールの開封率予測 - キャンペーンの効果検証

Slide 16

Slide 16 text

RFM分析とは 顧客の購買行動履歴を - Recency: 直近の店舗やメディアへの来訪,商品の購入 - Frequency: 期間内の来訪や購入の頻度 - Monetary: 期間内の累積購買金額 の3点から,顧客を評価・分類する分析アプローチ 基本的には,Recencyは小さいほど, FrequencyとMonetaryは大きいほど”優良顧客”と言える ※Recencyの大小は観察 日時と直近の購買日時の 差を表しています.

Slide 17

Slide 17 text

RFM分析のセグメント 最も簡単なセグメントの分け方は以下の4パターン 1. Recency: 小,Frequency・Monetary: 大 2. Recency: 小,Frequency・Monetary: 小 3. Recency: 大,Frequency・Monetary: 大 4. Recency: 大,Frequency・Monetary: 小 > 例えば,1の場合「優良顧客」と判定し,マーケティング戦略としてこの 顧客に好まれるような商品やサービスの開発などを考える必要がある. ※セグメントとは「グループ」みたいな意味です

Slide 18

Slide 18 text

ここで問題1 前スライドの2にあたる「Recency,Frequency,Monetaryがすべ て小さい」セグメントは - どのような顧客 - どのようなマーケティング戦略が必要 と考えられるか? ※Recency: 直近の購入日,Frequency: 購入頻度,Monetary: 累計購入金額

Slide 19

Slide 19 text

ここで問題2 前スライドの3にあたる「Recency,Frequency,Monetaryがすべ て大きい」セグメントは - どのような顧客 - どのようなマーケティング戦略が必要 と考えられるか? ※Recency: 直近の購入日,Frequency: 購入頻度,Monetary: 累計購入金額

Slide 20

Slide 20 text

問題の回答例 問題1: R, F, Mすべて小さい 顧客 マーケティング戦略 新規顧客 リピートに繋げる施策 (e.g)メルマガ配信など 特定の目的にだけ利用している顧客 (e.g)化粧品会社で化粧水だけ購入する男性 クロスセルやアップセル (e.g)乳液や高品質で高単価の化粧水の販売 顧客 マーケティング戦略 過去は優良顧客であったが,他の競合サービス に移ってしまった顧客 自社サービスの再購入を促すプロモーション (e.g)割引クーポンの配布など 問題2: R, F, Mすべて大きい ※あくまでも回答例です.これ以外の回答が間違いというわけではありません.

Slide 21

Slide 21 text

Pythonによる実装 Google Colabで事前に配布したPythonコードを実行 > Githubリンク: https://github.com/s1ok69oo/LT_rep/tree/main/RareTECH_lecture_20230607

Slide 22

Slide 22 text

RFM分析のまとめ - 顧客をRecency(直近の購買), Frequency(購買頻度), Monetary(累計購買金額)の観点から分析するアプローチ - 顧客をセグメントに分け,セグメントごとに「どのような顧 客」で「どのようなマーケティング戦略をとるべきか」を考え ることができる

Slide 23

Slide 23 text

マーケティングへの応用例 今回,紹介するのは次の3つ - RFM分析 - メールの開封率予測 - キャンペーンの効果検証

Slide 24

Slide 24 text

メールの開封率予測(設定) 半年前にメルマガで販促した商品の販促メールをメディアの会員 ユーザーに送るケースを考える > ユーザーデータ(性別や年齢,購買履歴など)を利用してメールの開封 有無を予測するモデルを作成し,開封すると予測したユーザーにだけメー ルを送りたい

Slide 25

Slide 25 text

そもそもなんで予測する必要があるの? ここで問題 全員に送ったらいいのでは??

Slide 26

Slide 26 text

問題の回答例 - メール配信のコストを抑えたい(メールであればコストは誤差 ですが,これがオフラインでチラシやカタログを配るとかにな るとかなりコストはかかる) - 興味のないメールが送られてくると不快感を覚えられてしまう かもしれない(メールの受信拒否や離脱に繋がる) > 質問の回答とはズレますが,メール配信などは「どの時間帯に送ると効 果的か」まで予測して配信に反映させることもあります ※あくまでも回答例です.これ以外の回答が間違いというわけではありません.

Slide 27

Slide 27 text

機械学習モデル(予測モデル)の構築手順 大まかな流れ 1. データを準備(データの収集から前処理まで) 2. 訓練データとテストデータに分割 3. モデルを選定 4. 訓練データを学習 5. モデルの精度を評価 6. 必要に応じてパラメータ調整や1~5を繰り返して,より精度を上げる > 予測モデルの中でも分類モデルを例に,1~5についてサラっと説明

Slide 28

Slide 28 text

1: データを準備 最も大変な工程の1つ. 必要なデータの収集や前処理が主な作業で,時には「そもそもどん なデータが必要なのか」を考えるところから始まることもある > メールの開封率予測の場合,以下のようなデータが必要 - 過去のメール開封有無 - ユーザーの属性 など 非常に重要なプロセスですが「具体例をあげるとキリがない」&「難しい」&「おも しろくない」内容なので詳細は割愛します

Slide 29

Slide 29 text

全データで学習してしまうと未知のデータに対する予測精度を評価 できないため,データを2つに分割 2: 訓練データとテストデータに分割する 全データ 訓練データ テストデータ 分割 モデル 学習 予測値 予測 評価 ※もう少しテクニカルな分割方法もありますが,割愛させていただきます テストデータを未知 のデータとして扱う

Slide 30

Slide 30 text

用途に応じて1つor複数のモデルを選定する 3: モデルを選定する 教師あり学習 回帰モデル - 線形回帰モデル - 決定木 など 教師なし学習 - 主成分分析 - k-means など 分類モデル - ロジスティック回帰モデル - 決定木 など 予測モデルで利用するのは教師あり学習. とくに,今回は分類モデルを利用します.

Slide 31

Slide 31 text

4: 訓練データで学習 Pythonでは次のようなライブラリがある - scikit-learn(通称: sklearn) - XGBoost - LightGBM - PyCaret など (cf)深層学習用のフレームワーク TensorFlow, Keras, PyTorch, Chainer など

Slide 32

Slide 32 text

5: モデルの精度を評価 分類モデルの基本的な4つの評価指標 > 正解率・適合率・再現率・F値 予測結果 陽性 陰性 実際 陽性 真陽性 (TP) 偽陰性 (FN) 陰性 偽陽性 (FP) 真陰性 (TN) 略称)T: True, F: False, P: Positive, N: Negative > 正解率: 全データのうち予測が正しかった割合 (TP + TN) / (TP + FP + FN + TN) > 適合率: 陽性と予測し実際に陽性だった割合 TP / (TP + FP) > 再現率: 実際は陽性の中で陽性と予測できた割合 TP / (TP + FN) > F値: 適合率と再現率の調和平均 2 / {(1/適合率) + (1/再現率)}

Slide 33

Slide 33 text

Pythonによる実装 Google Colabで事前に配布したPythonコードを実行 > Githubリンク: https://github.com/s1ok69oo/LT_rep/tree/main/RareTECH_lecture_20230607

Slide 34

Slide 34 text

メールの開封率予測のまとめ - メールマーケティングでは,誰彼かまわずメールを配信するよ りも,配信する内容に応じて適切なユーザーにメールを配信す る方がbetter - ユーザーがメールを開封するか否かを予測し適切なユーザーに メールを配信するために,機械学習を応用する

Slide 35

Slide 35 text

マーケティングへの応用例 今回,紹介するのは次の3つ - RFM分析 - メールの開封率予測 - キャンペーンの効果検証

Slide 36

Slide 36 text

キャンペーンと効果検証 キャンペーンと効果検証はセット(であるべき) キャンペーン 本スライドでは「非永続的なマーケ ティング施策全般」と定義 (e.g) 割引クーポンの配布 など ※キャンペーンを実施して終わりではなく, 効果検証の結果を受けて,以降の意思決定や キャンペーン立案に反映させる 効果検証 言葉の通り,キャンペーンを実施した 際の”効果”を検証・測定すること (e.g) 割引クーポンを配布して,売上に 繋がったのか?どれくらい売上に繋 がったのか? ※”効果”の定義はキャンペーン毎に異なる このサイクルを回すことが重要

Slide 37

Slide 37 text

ここで問題 自社メディアのユーザーに割引クーポンを配布するキャンペーンを 実施し,効果検証を行いたい.このとき,どのように割引クーポンを 配布すればいい? 全員に送ったらいいのでは??

Slide 38

Slide 38 text

問題の回答例 ユーザーをランダムに2組に分け,片方のユーザーの組にクーポン を配布し,もう片方のユーザーの組にはクーポンを配布しないで, クーポンを配布されたユーザーの組とクーポンを配布されていない ユーザーの組の売上を比較する > これを「A/Bテスト」あるいは「実験」といいます ※あくまでも回答例です.これ以外の回答が間違いというわけではありません.

Slide 39

Slide 39 text

さらに問題 全ユーザーに割引クーポンを配布して,クーポン配布前と配布後で 売上を比較したらダメなの...? ダメだとしたらなんで??

Slide 40

Slide 40 text

問題の回答例 割引クーポン以外の要因で売上が変動するかもしれない (e.g) 7月にアイスの割引クーポンを配布した場合 ※あくまでも回答例です.これ以外の回答が間違いというわけではありません. ひと月の売上/人 7月クーポン有 6月クーポン無 ひと月の売上/人 7月クーポン有 6月クーポン無 > 季節(気温)という要因 > クーポンの本当の効果は 赤い部分 クーポンがなくても7月 の方が,6月よりアイスの 売上は高いはず 効果?

Slide 41

Slide 41 text

A/Bテストのポイント いかにランダムにユーザーを2組に分けるか > ランダムに分けた後,統計学的に割引クーポンの効果を評価 NG例 全ユーザー 男性ユーザー 女性ユーザー クーポンを 配布する クーポンを 配布しない OK例 全ユーザー 男女比1:3 男女比1:3 クーポンを 配布する クーポンを 配布しない

Slide 42

Slide 42 text

効果検証の実態 現実的には、必ずしもA/Bテストができるわけではない コストが高い ビジネス利益 との相反 倫理的な問題 基本的には,A/Bテストができない環境下で”効果”を正しく検証・測定する ことは難しいが... > 条件が揃えば,”効果”を正しく推定できる(かもしれない)こともある

Slide 43

Slide 43 text

Recencyの大きいユーザーに割引クーポンを配布して,再び自社メ ディアの商品・サービスを購入させたい! > 何も考えず割引クーポンの有無でユーザーを売上を比較するとこうなる たとえば,こんなケース(ナイーブな”効果”) ひと月の売上/人 Recency小 (クーポンなし) Recency大 (クーポンあり) > 割引クーポン有の方が,ひと月の売上が低い > 割引クーポンは逆効果...? > 答えは「No!」なぜなら,クーポンの有無に 関係なく「Recencyが大きい」=「直近の売上 が低い」ユーザーであるため 逆効果...?

Slide 44

Slide 44 text

Recencyの大きいユーザーに割引クーポンを配布して,再び自社メ ディアの商品・サービスを購入させたい! > 本当の割引クーポンの効果は,赤色の矢印の部分 たとえば,こんなケース(知りたい”効果”) ひと月の売上/人 Recency小 (クーポンなし) Recency大 (クーポンあり) > オレンジ矢印はRecencyが大きいユーザーに 割引クーポンを配布しなかった場合の売上の差 > すなわち,割引クーポンの効果とは無関係 > 本当の割引クーポンの効果は赤矢印部分

Slide 45

Slide 45 text

ここで問題 じゃあ,具体的にどうすれば本当の”効果”を検証・測定できるの? ヒント A/Bテストと同様にいかにランダムな状態 を作り出せるかがポイント

Slide 46

Slide 46 text

問題の回答例 ギリギリRecencyの大きいグループに割り当てられたユーザーとギ リギリRecencyの小さいグループに割り当てられたユーザーの売上 を比較する(回帰不連続デザイン) (e.g) 直近180日以内に購買がないユーザーに割引クーポンを配布 ※あくまでも回答例です.これ以外の回答が間違いというわけではありません. 181日前に購買があった ユーザーの平均売上 (割引クーポンあり) 180日前に購買があった ユーザーの平均売上 (割引クーポンなし) 比較

Slide 47

Slide 47 text

回帰不連続デザインの問題点 比較対象のデータが少ない可能性 (e.g) 直近180日以内に購買がないユーザーに割引クーポンを配布 > 直近の購入がちょうど180日前と181日前のユーザーの数なんてほとん どない... > 幅を持たせて集計 181~190日前に購買があった ユーザーの平均売上 (割引クーポンあり) 171~180日前に購買があった ユーザーの平均売上 (割引クーポンなし) 比較

Slide 48

Slide 48 text

Pythonによる実装 Google Colabで事前に配布したPythonコードを実行 > Githubリンク: https://github.com/s1ok69oo/LT_rep/tree/main/RareTECH_lecture_20230607

Slide 49

Slide 49 text

キャンペーンの効果検証のまとめ - キャンペーンとは「非永続的なマーケティング施策全般」 - 効果検証とは「キャンペーンを実施した際の”効果”を検証・測 定すること」 - キャンペーン↔効果検証のサイクルが重要 - ナイーブな効果検証をしないためには,A/Bテストが理想 - A/Bテストができない・A/Bテストを避けたいときも条件が揃 えば,”正しい”効果検証ができる(かもしれない)

Slide 50

Slide 50 text

Appendix

Slide 51

Slide 51 text

参考文献 - 照井・佐藤(2022)「現代マーケティング・リサーチ[新版]」朝倉書店 - 中原(2021)「マーケティングデータ分析」朝倉書店 - 安井(2020)「効果検証入門」技術評論社