More Related Content
Similar to セグメンテーションの考え方・使い方 - TokyoR #44 (20)
セグメンテーションの考え方・使い方 - TokyoR #44
- 2. 自己紹介
Twitter ID @horihorio
お仕事 分析コンサルタント
興味 統計色々/DB/R/Finance/金融/会計
過去の発表 ここ
最近の出来事
金融以外も色々分析してます
分析設計がしんどいです…
2歳児な子どもに大絶賛嫌われ中です…
2014/11/1 セグメンテーションの考え方・使い方 1 / 36
- 4. 本発表でしたいこと
第8章 ケース6 – クラスタリング
どんな顧客群をターゲットとすべきか?
内容は… STPアプローチ(※1)の展開例ですが、
こう説明すれば、見通しが良くなる?(※2)
な、通勤電車での読書の妄想を話してみます。
(※1) 解説は最後に。STP: Segmentation, Targeting, and Positioning
(※2) ただお堅いですが…
2014/11/1 セグメンテーションの考え方・使い方 3 / 36
- 5. 目次
1. テキストのサマリ
2. セグメンテーションの理屈
3. セグメンテーションの手法
4. まとめ
5. セグメンテーションのRコード
2014/11/1 セグメンテーションの考え方・使い方 4 / 36
- 7. テキスト第8章の内容 (1)
現状
マス広告や施策で新規ユーザーを
獲得してきたが、最近頭打ちに
既存ユーザー施策も打ちたい
あるべき姿
既存ユーザーの理解を図りたい
問題発見
年齢性別で分類しても、施策に繋
げにくい
よって、ゲーム上の行動パターン
でセグメンテーションをする
2014/11/1 セグメンテーションの考え方・使い方 6 / 36
- 8. テキスト第8章の内容(2)
データ収集と加工
省略w
データ分析
1. データに主成分を追加
2. セグメント数の範囲kを決定
→ 担当者:3~6が望ましい
3. 希望を考慮の上、第1主成分の
分散が最小になる3つと決定
4. 各セグメントの特徴を考える
→ レーザーチャートを使用
5. 各セグメント毎のKPIを調べる
2014/11/1 セグメンテーションの考え方・使い方 7 / 36
- 9. テキスト第8章の内容(3)
アクション
1. 分かったこと
ランキング上位層は、5つのセグ
メントに分類される
「協力しあいたいユーザー」の
KPIが高い
→ 協力を促す施策を検討
2. 今回の分析を自動化し、レポート送
信する仕組みを作り、施策のPDCA
フローを構築
2014/11/1 セグメンテーションの考え方・使い方 8 / 36
- 12. でもそんなことって
あり得ない!
理由は次節で
理想1. あらゆる人の欲望が完璧に分かる
理想2. 欲望を刺激する、無限の資源や手段が
ある(予算、時間、IT技術、などなど)
そら、そうだ…
認識すべきこと
1. 顧客は理解し切れないまま
2. 限られた資源と手段で
施策は行わざるを得ない
2014/11/1 セグメンテーションの考え方・使い方 11 / 36
- 15. 重要な事
話のどこにも「年齢性別」等の属性系が出る
必然がない。よって、属性系でセグメンテー
ションする意味はまずない。
一応…
属性系のセグメンテーションが良さげな商材もある。
が、偶然「需要≒属性」なだけ
【例:ひげそり】確かに男性の需要が高い。ただし男性で
も、ひげを伸ばす男性は欲しがらない。よって、セグメン
テーションには、「男性」との属性より、「ひげを剃りた
い」との需要の方がマシ
2014/11/1 セグメンテーションの考え方・使い方 14 / 36
- 17. 一旦抽象的に考える
有限次元の
線型空間の設定
まず、以下の設定をおきます
1. 世界の根源的な需要は、高々有限の
種類で構成される
2. 需要 のみ1単位発生した際の
ベクトル を、次のように定義する
3. 我々が観測できる需要は、 の
線型結合で表現される
2014/11/1 セグメンテーションの考え方・使い方 16 / 36
- 18. 理想1. が無理な理由
理想1. あらゆる人の欲望が完璧に分かる
を、言いかえてみる
需要 への個人 のウエイトを とすると、
理想1. の言いかえ
個人 の需要 が、 の線型和で書ける
※あ、切片を としてます…
2014/11/1 セグメンテーションの考え方・使い方 17 / 36
- 19. 理想1. が無理な理由
なぜ「理想1.」は無理なのか?
1
2
3
1. 種類数 は、把握不可能な膨大な数
2. (原理的に に分解可能と知っていても)
データで測ってないものは分からない
3. (測っていても)人間は、同時に3~4つ程
度しか理解不能
20 14/11/1 セグメンテーションの考え方・使い方 18 / 36
- 20. 現実との折り合いの付け方
1. 種類数 は、把握不可能な膨大な数
→ あきらめる(発想は使えるのでキープ)
2. データで測ってないものは分からない
→ 手元のデータを精査、データを集める
(データ量ではない。データ項目が重要。4章参照)
3. 人間は、同時に3~4つ程度しか理解不能
→ データを主成分ベクトルに縮約し、
3~4つ程度で把握できるように変換
→ 本テキストでのアプローチ
2014/11/1 セグメンテーションの考え方・使い方 19 / 36
- 21. 【脱線】ファイナンスな方へ
ここでの発想は、以下のパクリです…
需要 に対応する基底ベクトル
→ Arrow-Debreu 証券
観測できる需要
→ 各証券のこと。Arrow-Debreu証券の
線型和で表現される
少数の主成分に縮約
→ Factorモデル。CAPM, Fama-French、等々
※CAPM導出の発想は示唆深い…
2014/11/1 セグメンテーションの考え方・使い方 20 / 36
- 23. STPアプローチとは
Segmen
tation
• 市場を需要を示す変数で分割する
• 各市場に対し、どう応えるか、接するのか、消費者の
乗り換えコストとは?を考える
Targetin
g
• 各市場の魅力を評価(規模、成長率、コスト、等)
• 自社の戦略、強み、資源を基に、狙う市場を決定
• 狙う市場の消費者を見つけ、調査(性別、年齢、等)
Position
ing
• 自社の企業イメージを強化し、消費者を惹きつけるよ
うな、自社製品、サービスの位置付けを打ち出す
2014/11/1 セグメンテーションの考え方・使い方 22 / 36
- 24. STPアプローチとは
Segmen
tation
Segmentation
• 市場を需要を示す変数で分割する
Basis
• 各市場に対し、どう応えるか、接するのか、消費者の
乗り換えコストとは?を考える
Targetin
g
• 各市場の魅力を評価(規模、成長率、コスト、等)
• 自社の戦略、強み、資源を基に、狙う市場を決定
• 狙う市場の消費者を見つけ、調査(性別、年齢、等)
Position
ing
Segmentation Descriptors
• 自社の企業イメージを強化し、消費者を惹きつけるよ
うな、自社製品、サービスの位置付けを打ち出す
※英語なのは、日本語の定訳を知らないからです…
2014/11/1 セグメンテーションの考え方・使い方 23 / 36
- 25. 考えたいこと その1
マーケティングには、需要を直接捉える
Segmentation Basis の方が有用
Segmentation
Basis
マーケット全体
Segmentation
Descriptors
Segmentation
Descriptors
2014/11/1 セグメンテーションの考え方・使い方 24 / 36
- 26. 考えたいこと その1
疑問:
消費者の需要を示すSegmentation Basis
はどこにあるの?
→ 一般論はない。
消費者の需要は?をとにかく考えるしかない。
ビックデータで何とかなる、とは限らない
2014/11/1 セグメンテーションの考え方・使い方 25 / 36
- 30. テキストでのコードの勉強例
1. 読みながらコードを動かす
テキストの写経や [コードをDL]
2. 分からないコマンドは、
help([コマンド]) を読む
3. コードを改変し、研究や仕事
での実データで使ってみる
データが手元に用意できない場合は、R備え付
けのDatasetや、各種レポジトリから無料調達
可能。例えば[ここ]
2014/11/1 セグメンテーションの考え方・使い方 29 / 36
- 31. コメント1/3
その1:
よく使う処理はfunctionでまとめる
(3~35行で仕込み、37~46行目で実行)
メリット
可読性、メンテナンス、他人との共有が楽
定常業務に組み込むとき、システム担当部署に別ファ
イルにして渡せる
同一処理を複数ファイルに繰り返す、が容易
例:f.list <- list.files(); for (i in 1:length(f.list)) {定義function}
のようにする。(実際は applyなどを使え、との声は無視)
2014/11/1 セグメンテーションの考え方・使い方 30 / 36
- 32. コメント2/3
その2:
前処理は caret パッケージが何かと便利
(97~109行目で実行)
雰囲気は、本家HPの前処理で
過去Tokyo.Rでも発表あり
第11回 @dichika caretパッケージの紹介
第38回 @sfchaos 機械学習のモデル構築・評価について
第43回 @kashitan 前処理入門
2014/11/1 セグメンテーションの考え方・使い方 31 / 36
- 33. コメント2/3
補足事項
機械的判断をそのまま鵜呑みにしない
(プログラムは、ビジネス要件まで理解してくれない)
私のcaretでの失敗例
Yes/Noの2値を持つ列を含むデータに
1. dummyVarsでダミー変数を作成
2. findLinearCombosで線型従属を検出し、機械的に列を削除
3. Yesのダミー変数を目的変数とするロジスティック回帰を実施
の予定が、上記2.でYes列が削除/No列が目的変数に
なっており、一晩の処理が無駄に…
2014/11/1 セグメンテーションの考え方・使い方 32 / 36
- 34. コメント3/3
その3:
列名は分かりやすいものを(76, 154, 155行目)
ホントは、”A47”より“Ranking.Point” が良い
弊害1:変数加工や分析の際に想像が働かない
弊害2:本でのようにコード変換を手打ちすると、
大体ミスし、そのまま提出して悪印象が…
→ 人間は大体ミスります(私も何回も経験済)
とはいえ、変数が膨大だと、コード名でないと無理
※ 千を超えると、1つずつ列名を考えるのも無謀です
2014/11/1 セグメンテーションの考え方・使い方 33 / 36
- 35. コメント3/3
その3 ‘(折衷案):
列名をコード名にする場合、人間語に変換す
る手段は極力自動化する
例1:事前にコードマスターをDBに保存し、人間語へ
の変換は、必ずDBを参照して変換する
例2:まず、列名を「C34_A47」→「パズコレ_ラン
キングポイント」のように、機械的な変換が行いやす
い対応関係を設定する。次に、変換プログラムを作成
し、バージョン管理ソフトの管轄下に置く
自動化によるミス防止は、地味だけど超重要
2014/11/1 セグメンテーションの考え方・使い方 34 / 36
- 37. 参考文献
※ 上司や同僚、お客様方々、を置いておくとすれば
1. 『ビジネス活用事例で学ぶ データサイエンス入門』酒巻
隆治、里洋平、SBクリエイティブ、2014年
2. 『マーケティング・サイエンス入門 市場対応の科学的
マネジメント 新版』古川一郎、守口剛、阿部誠、有斐
閣、2011年
3. “Marketing Engineering: Computer-Assisted
Marketing Analysis and Planning, 2nd Ed.,” G. L.
Lilien, A. Rangaswamy, Pearson Education, 2002
2014/11/1 セグメンテーションの考え方・使い方 36 / 36