R導入記事はこちら
コンジョイント分析って何ができるの?
全体を構成する要素の評価と、最適となる可能性が相当に高い組み合わせを発見するための分析です。

例えば右の4つのバナーの配信実績に基づいて、CTRがもっとも高くなる可能性が高いバナーについて検討します。
4つのバナーの違いは、背景色・人物・コピー・ボタン色の4つ。
4つの違いについて
【どの要素がもっとも大きく効いているのか】
【それぞれの要素について、もっとも効果的なものはどれか】を知ることができるのです!
全組み合わせをテストしようとすると、
背景色:3色
人物:3パターン
コピー:3種類
ボタン色:3色
で、3×3×3×3=81通り必要なところ、数種類の配信で最適っぽい組み合わせまでわかるという便利さです。
※テスト設計に注意が必要ですが。詳細は後述します。
出力結果イメージ
こんな感じの描画ができます(綺麗に見せたい方はエクセル上で加工しましょう)

キャッチコピーの影響度がもっとも高い
コピーはD、ビジュアルはD、サブキャッチはB、ロゴはA
という結果に。
次の展開としては、メイン・サブのコピーテストでしょうか。
【コピペ用】コード
バナーで訴求すべき要素の検証にあたり、どんなバナーを作るのか・配信成果はどうだったのか、の2フェーズが必要になります。
フェーズごとのコードを下記に記載します。
①テストするために必要なバナーの作り方
下のコードのうち、作りたいバナーの要素をいじってください。
今回であれば、back、copy、main、btnの4つを可変にしています。
それぞれ3種類ずつ、全部試すなら3×3×3×3=81通りのバナーを作る必要がありますが、そうしないためのコンジョイント分析です。
##コンジョイント分析のフロー## #①テストするために必要なバナーの作り方 #1.試行したいパターンの入力 #2.直交表の作成 #テスト実施 #3.直交表に基づいたバナーテスト(手動) #②テスト結果を分析するためのフォーマット #4.結果をファイルに入力(手動) #5.数値分析(R) install.packages("conjoint") #パッケージインストール library(conjoint) #ライブラリ読み込み ##1.試行したいパターンの入力## experiment <- expand.grid( back=c("赤","青","黄"), copy=c("コピーA","コピーB","コピーC"), main = c("女性","男性","家族"), btn = c("詳しくはこちら","今すぐ申し込む","ボタンなし") ) ##2.直交表の作成## design.org <- caFactorialDesign(data=experiment,type="orthogonal") #直交表の作成 design.org_Encoded <- caEncodedDesign(design.org) #エンコーディング(文字を数字に変換) cor(caEncodedDesign(design.org)) #相関の確認 write.csv(design.org,"Orthogonal_table.csv") #ファイル書き出し write.csv(design.org_Encoded,"Orthogonal_Encoded_table.csv") #ファイル書き出し
コードを実行すると、ディレクトリ上に
・Orthogonal_table.csv :バナーを作るときに見るファイル
・Orthogonal_Encoded_table.csv :分析するときに加工するファイル
という2種類のファイルが出来上がります。
Orthogonal_table.csvはこんな感じです↓

②テスト結果を分析するためのフォーマット
(テストの後)分析の準備
まず、Orthogonal_Encoded_table.csvを加工します。

F・G列:テスト結果を足しています。
1媒体ならFだけでもいいと思います。
2媒体以上にしろ2デバイス以上にしろ2サイズ以上にしろ、分けた方がいいほどの特性が出るのであれば、2回、3回と分けて分析するのも手です。
今回は、全体感をつかむためにY!/G合算で効果が良かった要素を見つけ出します。
H列:ラベルです。ご自身で入力した通りの順番に記載してください(結果が見やすくなります。)
コード
##コンジョイント分析のフロー## #①テストするために必要なバナーの作り方 #1.試行したいパターンの入力 #2.直交表の作成 #テスト実施 #3.直交表に基づいたバナーテスト(手動) #②テスト結果を分析するためのフォーマット #4.結果をファイルに入力(手動) #5.数値分析(R) #install.packages(“conjoint”)#パッケージインストール library(conjoint) #ライブラリ読み込み data <- read.csv("Orthogonal_Encoded_table.csv")#結果データの読み込み tprof <- data[1:9,2:5] #直交表を格納 tprefm <- data[1:9,6:7] #テスト結果を格納 tlevn <- data[1:12,8] #要素を格納 data.conjoint <- Conjoint(tprefm,tprof,tlevn)#コンジョイント数値分析
補遺
今回適当に入れた数字では、背景色の影響が最も強いという結果でした。
