「アトリビューション分析」連載 その6:アトリビューション分析を行うための集計作業 その1

本ブログでのアトリビューション連載第6弾です。今回はアトリビューションを行うために必要な集計作業を整理します。

【バックナンバー】
「アトリビューション分析」連載 その1:アトリビューションとは?
「アトリビューション分析」連載 その2:アトリビューション評価の難しさ
「アトリビューション分析」連載 その3:アトリビューション評価に必要なデータ その1
「アトリビューション分析」連載 その4:アトリビューション評価に必要なデータ その2
「アトリビューション分析」連載 その5:アトリビューションの評価モデルを考える


ここまでの連載で、1)アトリビューション分析を行うために必要なデータ そして 2)評価モデル に関して書いてきました。この2つを理解した事により、いよいよ分析のための「集計」を開始出来る状態になりました。

集計のざっくりプロセス

1:集計のためのデータを取得する
2:集計作業の実施
3:整形して形にする

1:分析のためのデータを取得する

まずは集計のためのデータを取得しましょう。二種類のデータが必要になります。「アクセス解析ログ」と「売上・コスト」のデータです。「アクセス解析ログ」で必要なデータに関して詳しくは、「アトリビューション分析」連載 その3:アトリビューション評価に必要なデータ その1で触れていますが、最終的に必要なのは以下のようなデータです。

ユーザーA
1回目の訪問 2月14日 13時15分  Google 自然検索 成果なし
2回目の訪問 2月15日 11時02分  Google リスティング 成果あり
3回目の訪問 2月19日 18時11分  ノーリファラー メールマガジン 成果なし

ユーザーB
1回目の訪問 2月14日 19時48分  Yahoo 広告バナー 成果なし
2回目の訪問 2月16日 14時51分  Twitter 2月16日のつぶやき 成果あり×2回

以下略

しかし、多くのアクセス解析ツール
1)そもそもローデータを取得できない
2)取得出来ても上記の形になっていない


という課題があります。


1)に関してはログデータが取得出来るアクセス解析ツール(ログ型のツールや一部有料ASPツール)を利用する事が前提になります。このデータを取得できない場合は、残念ながらそもそも分析が出来ません(※本記事、最後のコラム参照)


取得出来た場合は、データの整形が必要となります。多くのログは「1PVあたり1行」といった形にになっています。そこで、データの集計と整形を行い上記のような形に変更してあげる必要があります。


サイトの規模にもよりますが、大量のデータ分析になります。Excelを使っての集計などは現実的ではありません。小規模のサイトであればAccessでなんとか集計できるかも知れません。しかし中規模〜大規模のサイトでは、難しいでしょう。集計を行うためのデータベースが必要となります。あるいはVisual Mining StudioIBM SPSS Modeler(旧:Clementine)KXENといったマイニングツールが社内にある場合は、それを利用するのも一つの方法です。


コストのデータも取得をしておきましょう。必要なデータは「流入元×期間×コスト」のデータになります。例えばリスティングの「ブランドワードA」は11月は50,000円、12月は40,000円利用。バナーAは1ヶ月間の契約が20,000円といった形です。完全な形ではそろわないですし、SEOのように難しいものもあります。


わからないものに関してはコスト0にするか、かかった合計コストを日数でわって1日の平均を出しておきましょう(例:SEO対策に500,000円を使った場合、5ヶ月で月100,000円)。*1


2:集計作業の実施

集計の手順は以下の通りです

※1つの成果を想定しています。複数の成果がある場合は、複数の列を用意して同じ処理を繰り返してください
※もっと早い方法、分かりやすい方法があるかもしれません。適当にアレンジしてください。


1)成果を定義する「URL」や「ページID」を用意する


2)ログデータに入っているCookieID(ユーザーを識別するために)でソートを行い、CookieIDごとに時系列(ログに入っているタイムスタンプ順)に並べる


3)1)と2)を元に、成果が発生しているCookieIDのログデータだけ抜き出す


4)3)のデータに対して、成果が発生しているセッションの全てのページに、別の列で「成果フラグ」を立てる


5)各セッションの1ページ目を抜き出す
(※セッション内に複数回流入があり、2回目以降も取得したい場合は、流入が発生した該当行も抜き出す。ただしリファラーを見るなどの、抜き出すための定義が必要)


6)5)のデータに対して「リファラー」「キーワード」「広告コード」などから流入元を特定し、流入元を設定する(上記データの「Google」「自然検索」の部分) ※つまり流入元を識別するマスターを用意する必要がある


ここまでのプロセスで得られる情報は、先に紹介したデータです(わかりやすくするため日本語に置き換えています)。

ユーザーA
1回目の訪問 2月14日 13時15分  Google 自然検索 成果なし
2回目の訪問 2月15日 11時02分  Google リスティング 成果あり
3回目の訪問 2月19日 18時11分  ノーリファラー メールマガジン 成果なし

ユーザーB
1回目の訪問 2月14日 19時48分  Yahoo 広告バナー 成果なし
2回目の訪問 2月16日 14時51分  Twitter 2月16日のつぶやき 成果あり

以下略


ここに更に2つの集計を加えていきます。

1つ目は「売上のセットです」です。ここには2つの考え方があります。

成果そのものの重み付け
その1:売上金額のセット

ECサイトのように同じ「購入」でも金額が違う場合は、その金額をセットして「100円の売上」と「1000円の売上」には10倍の効果差がある事をデータに追加する必要があります。ログで変数をセットしている場合は前述のSTEPで成果の更に横の列に金額を追加しておく事で、対応できます。

あるいは会員IDをログで取得していて、会員IDごとの売上と購入タイミングを別のDBで持っているのであれば、そこから値をとってきてセットをしましょう。

その2:想定売上のセット

非ECサイトの場合は成果にたどり着いても「売上」は発生しません。しかし、「想定売上」をセットすることは出来ます。「1会員登録あたりいくら」あるいは「1資料請求あたりいくら」といった形です。まだサイトとして設定していない場合は、設定することを強く推奨します。(想定でも)売上をセットする事で、上司との会話も進みやすいし、売上や利益という数字を算出する事ができます。

設定が出来たら、そちらをログに追記していきましょう。
以下のような形になるはずです。

ユーザーA
1回目の訪問 2月14日 13時15分  Google 自然検索 成果なし
2回目の訪問 2月15日 11時02分  Google リスティング 成果あり 500円
3回目の訪問 2月19日 18時11分  ノーリファラー メールマガジン 成果なし

ユーザーB
1回目の訪問 2月14日 19時48分  Yahoo 広告バナー 成果なし
2回目の訪問 2月16日 14時51分  Twitter 2月16日のつぶやき 成果あり 1000円

以下略

2つ目は「成果の分配」です。

成果の分配

まさに「アトリビューション」の意味そのものですが、発生した成果を流入元ごとに寄与していく必要があります。均等配分 するのか 最後や最初の比重を多くするのか。ここに答えはありません。「アトリビューション分析」連載 その5:アトリビューションの評価モデルを考えるで触れたように様々なモデルがあります。

仮説を立てることが難しい場合は、まずは「均等配分」をオススメします。

1流入元の貢献金額 =成果によって発生した金額 ÷ 該当ユーザーの成果までの訪問回数

という式であらわされます。先ほどのデータに追加をしてみましょう。


ユーザーA
1回目の訪問 2月14日 13時15分  Google 自然検索 成果なし 250円
2回目の訪問 2月15日 11時02分  Google リスティング 成果あり 500円 250円
3回目の訪問 2月19日 18時11分  ノーリファラー メールマガジン 成果なし

ユーザーB
1回目の訪問 2月14日 19時48分  Yahoo 広告バナー 成果なし 500円
2回目の訪問 2月16日 14時51分  Twitter 2月16日のつぶやき 成果あり 1000円 500円

以下略


これで売上部分の設定は完了です。


次回は引き続き集計作業を確認していきます。見ていくのはコスト部分の設定と、計算によって出されるいくつかの指標になります。
今月中にはアップできるかと思います!


引き続きどうぞよろしくお願いいたします。


【バックナンバー】
「アトリビューション分析」連載 その1:アトリビューションとは?
「アトリビューション分析」連載 その2:アトリビューション評価の難しさ
「アトリビューション分析」連載 その3:アトリビューション評価に必要なデータ その1
「アトリビューション分析」連載 その4:アトリビューション評価に必要なデータ その2
「アトリビューション分析」連載 その5:アトリビューションの評価モデルを考える

*1:SEOはいつの期間で効果が出るかがわかりにくいため、期間が設定しにくいのですが、そこははベストエフォートで…