投稿
商品やサービス、ブランドのマーケティング担当になったら
- 市場を意味のある塊に区分けして (セグメンテーション)
- どこにアプローチするか決めて (ターゲティング)
- どのようなコミュニケーションをするか決める (ポジショニング)
というのが一般的な流れですよね。
Segmentation, Targeting, Positioning (STP) というやつです。
昨今ではまさにデータサイエンスを用いて変わりゆく市場の変化に対応しながらアクションを取る流れになっていると思いますが戦略、戦術を考えるときはやはりSTPの考え方は役に立つかと思います。
この記事ではSTPの最後にあるポジショニングについてPythonのmcaというPackegeを使って客観的に計算することにトライしたいと思います。コレスポンデンス分析というやつですね。
-
目次
- 1: ポジションの可視化
- 1.1: データの準備
- 1.2: 計算
- 1.3: 可視化
- 2: 都合のいい軸をつくってはいけない
ポジションの可視化
まずはやってみましょう。環境はGoogle Colaboratoryを使わせて頂きました。
今回は競合企業と自社に関してターゲットにどのような評価をされているのかをこんな感じにマッピングしてみます。
データの準備
例えば、イヤホンメーカーのマーケティング担当だとしてSNSや他アンケートからお客様の関心事を解明できたとしましょう。
次に競合含めてお客様に各項目を評価してもらい次のようなクロス集計表を作ります。
ここからmcaというPackageをつかっていきます。
使い方に関する記事はこちらです。
ではmcaを入れるところからやっていきましょう。
# mcaをインストール !pip install mcapandasとmatplotlibも入れておきましょう。
# mca, matplotlib, pandasのインポート import mca import pandas as pd import matplotlib.pyplot as plt
csvファイルをGoogle Colaboratoryに入れておいて読み込みましょう。
# クロス集計データ取得 data = pd.read_table('/content/data.csv', sep=',', index_col=0, header=0) # 確認 data
計算
mcaにデータを与えると計算してくれます。
# 計算 mca_counts = mca.MCA(data) # 結果データ抜き出し # 2次元表示のためN=2まで rows = mca_counts.fs_r(N=2) # 表側データ cols = mca_counts.fs_c(N=2) # 表頭データ
可視化ということで、N=2とし2次元のマップにました。
可視化
# 図示 # 表側 plt.scatter(rows[:,0], rows[:,1], c='b',marker="None") labels = data.index for label,x,y in zip(labels,rows[:,0],rows[:,1]): plt.annotate(label,xy = (x, y), c="b") # 表頭 plt.scatter(cols[:,0], cols[:,1], c='r',marker="None") labels = data.columns for label,x,y in zip(labels,cols[:,0],cols[:,1]): plt.annotate(label,xy = (x, y), c="r") # xy軸 plt.axhline(0, color='gray') plt.axvline(0, color='gray')
出来ました!
青字がメーカーで赤字が評価になります。
評価を見てみると横軸が左向きに高級質感、右向きに大衆向けというところでしょうか。
縦軸はデザイン性とかですかね。軸の解釈をするとミスリードになることがあるので便利ですが注意が必要です。
もう一つコレスポンデンス分析の可視化で注意点は
図上の赤字と青字の距離を近い遠いと解釈してはいけないということです。
そもそも多次元あったのでまぁそうなりますよね。
都合のいい軸をつくってはいけない
よくあるコレスポンデンス分析の失敗は、作成者の都合の良い軸で考えてしまうことです。
そのためポジショニングを作るときはアンケート調査やSNS, Webによってターゲットの声をきちんと分析してどのような項目があるべきなのかをきちんと把握することが重要だと思います。
この集計作業や情報収集もPythonを使ってできるようなのでまた挑戦しましょう。