Upgrade to Pro — share decks privately, control downloads, hide ads and more …

TokyoWebmining#03 市場細分化とクラスター分析

bob3bob3
January 12, 2022

TokyoWebmining#03 市場細分化とクラスター分析

市場細分化とクラスター分析。
2010年4月。

bob3bob3

January 12, 2022
Tweet

More Decks by bob3bob3

Other Decks in Programming

Transcript

  1. 自己紹介 自己紹介 • 【はてな】  【はてな】  id:bob3 id:bob3 • 【 【

    Twitter Twitter 】 】 @bob3bob3 @bob3bob3 • バリバリの文系です。 バリバリの文系です。 • 仕事はマーケティング・リサーチャー。 仕事はマーケティング・リサーチャー。 • 本日はマーケティングの中で「クラスター分析」が、どのよ 本日はマーケティングの中で「クラスター分析」が、どのよ うに使われているか、その一例をお話します。 うに使われているか、その一例をお話します。
  2. STP戦略 STP戦略 • 市場が成熟し消費者の行動や価値観も多様化し 市場が成熟し消費者の行動や価値観も多様化し た今日にあって、ひとつの製品やサービスで市場 た今日にあって、ひとつの製品やサービスで市場 のすべてのニーズを満たすことはできない。 のすべてのニーズを満たすことはできない。 •

    そこで必要になるのが「STP戦略」というフレーム そこで必要になるのが「STP戦略」というフレーム ワーク。 ワーク。 • Segmentation Segmentation – 市場(消費者)をいくつかのグループに細分化。 市場(消費者)をいくつかのグループに細分化。 • Targeting Targeting – ターゲットとなるグループを選択。 ターゲットとなるグループを選択。 • Positioning Positioning – どんな価値を提供するのかを明確にする。 どんな価値を提供するのかを明確にする。
  3. 市場細分化 市場細分化 Segmentation Segmentation 10 代 60 代 50 代

    40 代 30 代 20 代 男 性 女 性 市 場 全 体 • セグメントごとに セグメントごとにマーケティング・ミックス マーケティング・ミックスを決定する。 を決定する。
  4. マーケティング・ミックス マーケティング・ミックス • 製品( 製品( Product Product ) ) –

    仕様、機能、性能、パッケージなど 仕様、機能、性能、パッケージなど • 価格( 価格( Price Price ) ) – 小売価格、値引き、特売など 小売価格、値引き、特売など • 流通( 流通( Place Place ) ) – 販売経路など 販売経路など • プロモーション( プロモーション( Promotion Promotion ) ) – 広告、PR、パブリシティ、イベント、キャンペーンなど 広告、PR、パブリシティ、イベント、キャンペーンなど
  5. ダニエル・ヤンケロビッチ曰く ダニエル・ヤンケロビッチ曰く • 「年齢、性別、学歴、年収など、従来のデモグラ 「年齢、性別、学歴、年収など、従来のデモグラ フィックスは、すでにマーケティング戦略の拠りどこ フィックスは、すでにマーケティング戦略の拠りどこ ろとしては不十分である。」 ろとしては不十分である。」 •

    「それよりも、 「それよりも、価値観や嗜好、選好といった特性 価値観や嗜好、選好といった特性の の ほうが、消費者の購買行動への影響が大きい。」 ほうが、消費者の購買行動への影響が大きい。」 • 「適切なマーケティング戦略を立案するには、まず 「適切なマーケティング戦略を立案するには、まず 特定のブランドや商品カテゴリーを受け入れそうな 特定のブランドや商品カテゴリーを受け入れそうな 市場セグメントを特定することである。」 市場セグメントを特定することである。」 • 社会心理学者。 社会心理学者。 • 1964年のお話。 1964年のお話。
  6. 市場細分化の基準 市場細分化の基準 • 客観的基準 客観的基準 • デモグラフィック(人口統計学的基準) デモグラフィック(人口統計学的基準) – 年齢、性別、所得、家族構成、職業、ライフステージなど

    年齢、性別、所得、家族構成、職業、ライフステージなど • ジオグラフィック(地理的基準) ジオグラフィック(地理的基準) – 居住地、気候、文化など 居住地、気候、文化など • 主観的基準 主観的基準 • サイコグラフィック(心理的基準) サイコグラフィック(心理的基準) – 価値観、嗜好、性格、ライフスタイルなど 価値観、嗜好、性格、ライフスタイルなど • ビヘイビアル(行動的基準) ビヘイビアル(行動的基準) – 使用頻度、使用の仕方、求めるベネフィットなど 使用頻度、使用の仕方、求めるベネフィットなど
  7. 今回使うデータ 今回使うデータ • 『経済・経営のための統計学』 『経済・経営のための統計学』 • 有斐閣 有斐閣 • Rを使った分析例も一部載って

    Rを使った分析例も一部載って ます。 ます。 • 第8章「マーケティング」で使わ 第8章「マーケティング」で使わ れているデータを使わせていた れているデータを使わせていた だきます。 だきます。
  8. 缶コーヒーに関するアンケート 缶コーヒーに関するアンケート • 調査票 調査票 • http://yuhikaku-nibu.txt-nifty.com/blog/files/COFFEE-survey.pdf http://yuhikaku-nibu.txt-nifty.com/blog/files/COFFEE-survey.pdf • データ

    データ • http://yuhikaku-nibu.txt-nifty.com/blog/files/COFFEE.txt http://yuhikaku-nibu.txt-nifty.com/blog/files/COFFEE.txt • 今回使う質問。Q7“「缶コーヒー」について以下の考えがあります。それぞれにつ 今回使う質問。Q7“「缶コーヒー」について以下の考えがあります。それぞれにつ いて、あなたのお考えに近い番号に◦をつけてください。” いて、あなたのお考えに近い番号に◦をつけてください。” 非常に そうである そうである どちらとも いえない そう ではない まったく そうではない 味や、品質にこだわる 5 4 3 2 1 ときと場合により、飲みわける 5 4 3 2 1 気に入ったブランドはない 5 4 3 2 1 人よりよく知っている 5 4 3 2 1 ひとより多く飲む 5 4 3 2 1 特に気にしない 5 4 3 2 1 新製品が出ると試してみる 5 4 3 2 1 好きなブランドを人に勧めることがある 5 4 3 2 1
  9. 分析の手順 分析の手順 1. 1.次元縮約 次元縮約 • 7つの質問項目を少数の変数に要約する。 7つの質問項目を少数の変数に要約する。 • 因子分析、主成分分析、

    因子分析、主成分分析、 SEM SEM などを使う。 などを使う。 • 理由:解釈のしやすさ、“次元の呪い”。 理由:解釈のしやすさ、“次元の呪い”。 2. 2.グループ分け グループ分け • ブランド、製品などには階層型クラスター分析。 ブランド、製品などには階層型クラスター分析。 • 消費者をグループ分けするときは分割型。 消費者をグループ分けするときは分割型。 • 決定木、潜在クラスモデルなども使われる。 決定木、潜在クラスモデルなども使われる。
  10. R R にデータを読み込む にデータを読み込む # ワーキングディレクトリの設定と確認。 COFFEE.txt を置いておく。 setwd("C:/R/dat") getwd()

    # タブ区切りのテキストファイル。欠損値は“ .” で入力されている。 COFFEE <- read.delim("COFFEE.txt", na.strings=".") # 対象者番号と Q7 の回答を取り出す。欠損値のある対象者は除く。 Q7 <- na.omit(COFFEE[, c(1, 34:41)]) # 変数名を付ける。 colnames(Q7) <- c(" 対象者番号 ", " 味や品質にこだわる ", " 時と場合により飲みわける ", " 気に入ったブランドはない ", " 人よりよく知っている ", " ひとより多く飲む ", " 特に気にしない ", " 新製品が出ると試してみる ", " 好きなブランドを人に勧めることがある ") # 属性。ただし Q7 で欠損値のある人を除く。対象者番号は連番になっていること。 FACE <- COFFEE[Q7[, 1], c(8, 75, 76)] # 変数名を付ける。 colnames(FACE) <- c(" 飲用頻度 ", " 年齢 ", " 性別 ")
  11. R R で因子分析 で因子分析 # 因子分析。 factanal 関数を使うのが一般的だと思いますが、ここでは出力が親切な # psych

    パッケージの fa 関数を使ってみます。 # 2因子、最尤法、プロマックス回転で因子分析。 # 実際にはいくつかのパターンを試して最終的な結果を決めます。 library(psych) Q7.fa <- fa(Q7[, -1], nfactors=2, rotate = "promax", scores=TRUE, fm="ml") print(Q7.fa, sort=TRUE) # Factor Analysis using method = ml # Call: fa(r = Q7[, -1], nfactors = 2, rotate = "promax", scores = TRUE, # fm = "ml") # item ML2 ML1 h2 u2 # 好きなブランドを人に勧めることがある 8 0.78 1.00 0.00 # 新製品が出ると試してみる 7 0.67 0.16 0.84 # 人よりよく知っている 4 0.63 0.26 0.74 # ひとより多く飲む 5 0.59 0.55 0.45 # 特に気にしない 6 -0.51 0.27 0.73 # 気に入ったブランドはない 3 -0.50 0.26 0.74 # 味や品質にこだわる 1 0.93 0.47 0.53 # 時と場合により飲みわける 2 0.39 0.66 0.34 # (以下略) # ML1 、 ML2 が因子負荷量、 h2 が共通性、 u2 が独自性 # ここでは仮に ML1 を「機能的関与因子」、 ML2 を「情緒的関与因子」と名づけてみます。
  12. 因子分析の結果を確認 因子分析の結果を確認 # 因子得点を X に付値 X <- Q7.fa$scores #

    因子得点をヒストグラムで確認。 # hist 関数でも良いのですが、ここでは # MASS パッケージの truehist 関数を # 使ってみます。 library(MASS) par(mfrow=c(2,1)) truehist(X[,1], main=" 情緒的関与因子 (ML2)", col="lightgreen") truehist(X[,2], main=" 機能的関与因子 (ML1)", col="lightblue") par(mfrow=c(1,1))
  13. いよいよクラスター分析 いよいよクラスター分析 # 階層型クラスター分析(ウォード法) Q7.wa <- hclust(dist(X)^2, "ward") # 樹形図(デンドログラム)を描く

    plot(Q7.wa) # クラスター数を3として枠を描く rect.hclust(Q7.wa, k=3, border=1:3) # クラスター数を3としてクラスター番号を # 保存 Q7.wa.clust <- cutree(Q7.wa, 3) # 構成の確認。 table(Q7.wa.clust) # Q7.wa.clust # 1 2 3 # 27 30 23
  14. 結果の確認 結果の確認 # クラスターごとの平均値 aggregate(X, by=list(Q7.wa.clust), FUN=mean) # Group.1 ML2

    ML1 # 1 1 1.0042568 -0.0564751 # 2 2 -0.6966410 0.8983492 # 3 3 -0.2702479 -1.1054630 # 箱髭図(3変数以上ならレーダーチャート) par(mfrow=c(1, 2)) boxplot(X[, 1] ~ Q7.wa.clust, main=" 情緒的関与因子 (ML2)", xlab=" クラスタ ", col="lightgreen") boxplot(X[, 2] ~ Q7.wa.clust, main=" 機能的関与因子 (ML1)", xlab=" クラスタ ", col="lightblue") par(mfrow=c(1, 1))
  15. 結果の確認 結果の確認 # 飲用頻度のモザイクプロット FREQ <- table(Q7.wa.clust, FACE[, 1]) rownames(FREQ)

    <- c("clust1", "clust2", "clust3") colnames(FREQ) <- c(" 毎日 ", " 週に数回 ", " 月に数回 ", " 年に数回 ") mosaicplot(FREQ, main=" クラスタ毎の飲用頻度 ", ylab=" 飲用頻度 ", xlab=" クラスタ ", col=TRUE)
  16. 結果の確認 結果の確認 # 年代のモザイクプロット AGE <- table(Q7.wa.clust, FACE[, 2]) rownames(AGE)

    <- c("clust1", "clust2", "clust3") colnames(AGE) <- c(" ~ 20", "21 ~ 25", "26 ~ 30", "31 ~ 35", "36 ~ 40", "41 ~ 60", "61 ~ ") mosaicplot(AGE, main=" クラスタ毎の年齢 ", ylab=" 年齢 ", xlab=" クラスタ ", col=TRUE, las=1)
  17. 結果の確認 結果の確認 # 性別のモザイクプロット SEX <- table(Q7.wa.clust, FACE[, 3]) rownames(SEX)

    <- c("clust1", "clust2", "clust3") colnames(SEX) <- c(" 男性 ", " 女性 ") mosaicplot(SEX, main=" クラスタ毎の性別 ", ylab=" 性別 ", xlab=" クラスタ ", col=TRUE)
  18. PAM (Partitioning Around Medoids) PAM (Partitioning Around Medoids) # PAM

    は分割型クラスタリングの一種。 # K-means よりも頑健であるとされる。 library(cluster) Q7.pam <- pam(X, 3, metric = "manhattan") plot(Q7.pam, col=TRUE) # クラスター構成の確認 table(Q7.pam$clustering) # ウォード法の結果とクロス集計 table(Q7.wa.clust, Q7.pam$clustering)