2023年6月7日(水)にITスクール「RareTECH」様で「マーケティング×データ分析」についてお話しさせていただきました.
ぜひ,ご一読いただけますと幸いです.
RareTECH様の公式サイトはこちら. https://raretech.site/
Githubリンクはこちら. https://github.com/s1ok69oo/LT_rep/tree/main/RareTECH_lecture_20230607
マーケティングへのデータサイエンス応用例
View Slide
- やること- データサイエンスに関連する用語のざっっっくりとした説明- データサイエンスのマーケティングへの応用例の紹介- 簡単なPythonのコードの実行- やらないこと- データサイエンスに関連する用語・理論等の詳細な話- 「マーケティングとは!」みたいな話- 複雑なPythonの処理やること・やらないことなんとなく「データサイエンスってこんなことができるんだ」くらいのふわっとした理解度に到達するのが今回のゴールです!
アジェンダ- データサイエンスの概要- マーケティングへの応用例- RFM分析- メールの開封率予測- キャンペーンの効果検証
データサイエンスの概要
データサイエンスとは統計学などの知見をもとにデータからインサイトを導き出すこと
本スライド内における”データサイエンス”先ほどの定義に加えて,統計学・機械学習・数理最適化など広義の数理的手法も含めて“データサイエンス”と表現データサイエンス警察※「データサイエンス」という表現は曖昧な便利ワードとして用いられがちなので,要注意です(正直,何が正解かは私も分かりません)
3大”データサイエンス”手法(あくまでも主観)- 統計学- 機械学習- 教師あり学習- 教師なし学習- (強化学習)- 数理最適化> 厳密な棲み分けはないこれらの理論は「画像処理」「音声認識」「自然言語処理」「異常検知」などをはじめ,多岐に渡って応用されている最近流行りのChatGPTなども”データサイエンス”の応用
統計学って何ができるの?手元のデータを使って,母集団について考えるイメージ: カレーの味見味見で全部は食べない小皿にすくって(鍋全体の)味を確認
機械学習(教師あり学習)って何ができるの?手元のデータから学習し,ある値を予測するイメージ: カレーの味じゃがいも玉ねぎ にんじん お肉 カレールー 味aグラム bグラム cグラム dグラム eグラム
機械学習(教師なし学習)って何ができるの?手元のデータをグルーピングするイメージ: カレーの味グループ1 グループ2激甘 甘口中辛辛口激辛
数理最適化って何ができるの?データと制約条件から,ある値を最大(最小)にする配分を実現イメージ: カレーをできるだけたくさん作る甘口カレー4食分の具材玉ねぎ1個じゃがいも2個にんじん2本牛肉100g甘口カレールー1個辛口カレー4食分の具材玉ねぎ2個じゃがいも2個にんじん1本牛肉200g辛口カレールー1個冷蔵庫玉ねぎ6個じゃがいも6個にんじん6本牛肉500g甘口カレールー3個辛口カレールー3個制約条件データ
データサイエンスの概要(まとめ)- データサイエンスとは、統計学などの知見をもとにデータからインサイトを導き出すこと- 統計学、機械学習、数理最適化でできること- 統計学: 手元のデータから母集団を考える- 機械学習: 手元のデータから予測・手元のデータをグルーピング- 数理最適化: 手元のデータと制約条件からある値を最大(最小)にする配分を実現
マーケティングへの応用例
マーケティングへの応用例今回,紹介するのは次の3つ- RFM分析- メールの開封率予測- キャンペーンの効果検証
RFM分析とは顧客の購買行動履歴を- Recency: 直近の店舗やメディアへの来訪,商品の購入- Frequency: 期間内の来訪や購入の頻度- Monetary: 期間内の累積購買金額の3点から,顧客を評価・分類する分析アプローチ基本的には,Recencyは小さいほど,FrequencyとMonetaryは大きいほど”優良顧客”と言える※Recencyの大小は観察日時と直近の購買日時の差を表しています.
RFM分析のセグメント最も簡単なセグメントの分け方は以下の4パターン1. Recency: 小,Frequency・Monetary: 大2. Recency: 小,Frequency・Monetary: 小3. Recency: 大,Frequency・Monetary: 大4. Recency: 大,Frequency・Monetary: 小> 例えば,1の場合「優良顧客」と判定し,マーケティング戦略としてこの顧客に好まれるような商品やサービスの開発などを考える必要がある.※セグメントとは「グループ」みたいな意味です
ここで問題1前スライドの2にあたる「Recency,Frequency,Monetaryがすべて小さい」セグメントは- どのような顧客- どのようなマーケティング戦略が必要と考えられるか?※Recency: 直近の購入日,Frequency: 購入頻度,Monetary: 累計購入金額
ここで問題2前スライドの3にあたる「Recency,Frequency,Monetaryがすべて大きい」セグメントは- どのような顧客- どのようなマーケティング戦略が必要と考えられるか?※Recency: 直近の購入日,Frequency: 購入頻度,Monetary: 累計購入金額
問題の回答例問題1: R, F, Mすべて小さい顧客 マーケティング戦略新規顧客 リピートに繋げる施策 (e.g)メルマガ配信など特定の目的にだけ利用している顧客(e.g)化粧品会社で化粧水だけ購入する男性クロスセルやアップセル(e.g)乳液や高品質で高単価の化粧水の販売顧客 マーケティング戦略過去は優良顧客であったが,他の競合サービスに移ってしまった顧客自社サービスの再購入を促すプロモーション(e.g)割引クーポンの配布など問題2: R, F, Mすべて大きい※あくまでも回答例です.これ以外の回答が間違いというわけではありません.
Pythonによる実装Google Colabで事前に配布したPythonコードを実行> Githubリンク:https://github.com/s1ok69oo/LT_rep/tree/main/RareTECH_lecture_20230607
RFM分析のまとめ- 顧客をRecency(直近の購買), Frequency(購買頻度),Monetary(累計購買金額)の観点から分析するアプローチ- 顧客をセグメントに分け,セグメントごとに「どのような顧客」で「どのようなマーケティング戦略をとるべきか」を考えることができる
メールの開封率予測(設定)半年前にメルマガで販促した商品の販促メールをメディアの会員ユーザーに送るケースを考える> ユーザーデータ(性別や年齢,購買履歴など)を利用してメールの開封有無を予測するモデルを作成し,開封すると予測したユーザーにだけメールを送りたい
そもそもなんで予測する必要があるの?ここで問題全員に送ったらいいのでは??
問題の回答例- メール配信のコストを抑えたい(メールであればコストは誤差ですが,これがオフラインでチラシやカタログを配るとかになるとかなりコストはかかる)- 興味のないメールが送られてくると不快感を覚えられてしまうかもしれない(メールの受信拒否や離脱に繋がる)> 質問の回答とはズレますが,メール配信などは「どの時間帯に送ると効果的か」まで予測して配信に反映させることもあります※あくまでも回答例です.これ以外の回答が間違いというわけではありません.
機械学習モデル(予測モデル)の構築手順大まかな流れ1. データを準備(データの収集から前処理まで)2. 訓練データとテストデータに分割3. モデルを選定4. 訓練データを学習5. モデルの精度を評価6. 必要に応じてパラメータ調整や1~5を繰り返して,より精度を上げる> 予測モデルの中でも分類モデルを例に,1~5についてサラっと説明
1: データを準備最も大変な工程の1つ.必要なデータの収集や前処理が主な作業で,時には「そもそもどんなデータが必要なのか」を考えるところから始まることもある> メールの開封率予測の場合,以下のようなデータが必要- 過去のメール開封有無- ユーザーの属性 など非常に重要なプロセスですが「具体例をあげるとキリがない」&「難しい」&「おもしろくない」内容なので詳細は割愛します
全データで学習してしまうと未知のデータに対する予測精度を評価できないため,データを2つに分割2: 訓練データとテストデータに分割する全データ訓練データ テストデータ分割モデル学習予測値予測評価※もう少しテクニカルな分割方法もありますが,割愛させていただきますテストデータを未知のデータとして扱う
用途に応じて1つor複数のモデルを選定する3: モデルを選定する教師あり学習回帰モデル- 線形回帰モデル- 決定木 など教師なし学習- 主成分分析- k-means など分類モデル- ロジスティック回帰モデル- 決定木 など予測モデルで利用するのは教師あり学習.とくに,今回は分類モデルを利用します.
4: 訓練データで学習Pythonでは次のようなライブラリがある- scikit-learn(通称: sklearn)- XGBoost- LightGBM- PyCaret など(cf)深層学習用のフレームワークTensorFlow, Keras, PyTorch, Chainer など
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/再現率)}
メールの開封率予測のまとめ- メールマーケティングでは,誰彼かまわずメールを配信するよりも,配信する内容に応じて適切なユーザーにメールを配信する方がbetter- ユーザーがメールを開封するか否かを予測し適切なユーザーにメールを配信するために,機械学習を応用する
キャンペーンと効果検証キャンペーンと効果検証はセット(であるべき)キャンペーン本スライドでは「非永続的なマーケティング施策全般」と定義(e.g) 割引クーポンの配布 など※キャンペーンを実施して終わりではなく,効果検証の結果を受けて,以降の意思決定やキャンペーン立案に反映させる効果検証言葉の通り,キャンペーンを実施した際の”効果”を検証・測定すること(e.g) 割引クーポンを配布して,売上に繋がったのか?どれくらい売上に繋がったのか?※”効果”の定義はキャンペーン毎に異なるこのサイクルを回すことが重要
ここで問題自社メディアのユーザーに割引クーポンを配布するキャンペーンを実施し,効果検証を行いたい.このとき,どのように割引クーポンを配布すればいい?全員に送ったらいいのでは??
問題の回答例ユーザーをランダムに2組に分け,片方のユーザーの組にクーポンを配布し,もう片方のユーザーの組にはクーポンを配布しないで,クーポンを配布されたユーザーの組とクーポンを配布されていないユーザーの組の売上を比較する> これを「A/Bテスト」あるいは「実験」といいます※あくまでも回答例です.これ以外の回答が間違いというわけではありません.
さらに問題全ユーザーに割引クーポンを配布して,クーポン配布前と配布後で売上を比較したらダメなの...?ダメだとしたらなんで??
問題の回答例割引クーポン以外の要因で売上が変動するかもしれない(e.g) 7月にアイスの割引クーポンを配布した場合※あくまでも回答例です.これ以外の回答が間違いというわけではありません.ひと月の売上/人7月クーポン有 6月クーポン無ひと月の売上/人7月クーポン有 6月クーポン無> 季節(気温)という要因> クーポンの本当の効果は赤い部分クーポンがなくても7月の方が,6月よりアイスの売上は高いはず効果?
A/Bテストのポイントいかにランダムにユーザーを2組に分けるか> ランダムに分けた後,統計学的に割引クーポンの効果を評価NG例全ユーザー男性ユーザー 女性ユーザークーポンを配布するクーポンを配布しないOK例全ユーザー男女比1:3 男女比1:3クーポンを配布するクーポンを配布しない
効果検証の実態現実的には、必ずしもA/Bテストができるわけではないコストが高いビジネス利益との相反倫理的な問題基本的には,A/Bテストができない環境下で”効果”を正しく検証・測定することは難しいが...> 条件が揃えば,”効果”を正しく推定できる(かもしれない)こともある
Recencyの大きいユーザーに割引クーポンを配布して,再び自社メディアの商品・サービスを購入させたい!> 何も考えず割引クーポンの有無でユーザーを売上を比較するとこうなるたとえば,こんなケース(ナイーブな”効果”)ひと月の売上/人Recency小(クーポンなし)Recency大(クーポンあり)> 割引クーポン有の方が,ひと月の売上が低い> 割引クーポンは逆効果...?> 答えは「No!」なぜなら,クーポンの有無に関係なく「Recencyが大きい」=「直近の売上が低い」ユーザーであるため逆効果...?
Recencyの大きいユーザーに割引クーポンを配布して,再び自社メディアの商品・サービスを購入させたい!> 本当の割引クーポンの効果は,赤色の矢印の部分たとえば,こんなケース(知りたい”効果”)ひと月の売上/人Recency小(クーポンなし)Recency大(クーポンあり)> オレンジ矢印はRecencyが大きいユーザーに割引クーポンを配布しなかった場合の売上の差> すなわち,割引クーポンの効果とは無関係> 本当の割引クーポンの効果は赤矢印部分
ここで問題じゃあ,具体的にどうすれば本当の”効果”を検証・測定できるの?ヒントA/Bテストと同様にいかにランダムな状態を作り出せるかがポイント
問題の回答例ギリギリRecencyの大きいグループに割り当てられたユーザーとギリギリRecencyの小さいグループに割り当てられたユーザーの売上を比較する(回帰不連続デザイン)(e.g) 直近180日以内に購買がないユーザーに割引クーポンを配布※あくまでも回答例です.これ以外の回答が間違いというわけではありません.181日前に購買があったユーザーの平均売上(割引クーポンあり)180日前に購買があったユーザーの平均売上(割引クーポンなし)比較
回帰不連続デザインの問題点比較対象のデータが少ない可能性(e.g) 直近180日以内に購買がないユーザーに割引クーポンを配布> 直近の購入がちょうど180日前と181日前のユーザーの数なんてほとんどない...> 幅を持たせて集計181~190日前に購買があったユーザーの平均売上(割引クーポンあり)171~180日前に購買があったユーザーの平均売上(割引クーポンなし)比較
キャンペーンの効果検証のまとめ- キャンペーンとは「非永続的なマーケティング施策全般」- 効果検証とは「キャンペーンを実施した際の”効果”を検証・測定すること」- キャンペーン↔効果検証のサイクルが重要- ナイーブな効果検証をしないためには,A/Bテストが理想- A/Bテストができない・A/Bテストを避けたいときも条件が揃えば,”正しい”効果検証ができる(かもしれない)
Appendix
参考文献- 照井・佐藤(2022)「現代マーケティング・リサーチ[新版]」朝倉書店- 中原(2021)「マーケティングデータ分析」朝倉書店- 安井(2020)「効果検証入門」技術評論社