GoogleAnalyticsから得たデータでネットワークグラフを作ってみる。

最初に言っておきます。

使えないグラフしか出来ませんでしたw

GoogleAnalytics(GA)のデータの定義を見ていて思ったわけですよ

「ん〜観閲ページと、一つ前の観閲ページがわかっているなら経路図が作れるんじゃないかなぁ?」と。

ということでサクッと単純なものを作ってみます。

まずはデータを手に入れましょう
クエリーまでの手順は前回を参考にしてください。

query$Init(start.date = “2013-02-01”,
end.date = “2013-02-07”,
dimensions = “ga:previousPagePath,ga:pagePath“,
metrics = “ga:visitors“,
sort = “ga:previousPagePath”,
#filters=””,
#segment=””,
max.results = 100000,
table.id = “xxxxxxxxxxx“,
access_token=access_token)

ga:previousPagePath は一つ前に開いていたページのパス
ga:pagePathは開いているページのパス

変数には訪問者数のga:visitorsを使ってます。

previous.data <- ga$GetReportData(query)

network.data = subset(previous.data, visitors > 2)

library(igraph)
graph.data = graph.data.frame(network.data)
tkplot(graph.data)

データを取り寄せてprevious.dataに入れます。
フローが1,2人だけの場合はそのフローに意味合いは無いと考えられるので、subsetを使ってvisitor>2以外のフローを除外します。(この辺はもっと考慮する余地がありそう。例えばもっと長い期間でデータを取って最低フローを100にするとか。)

ネットワーク図をサクッと作りたいのでigraphパッケージを使います。
そしてデータをgraph.data.frameでグラフデータにします。(ここは僕もよくわかってないですw)

tkplotでネットワーク図を作成します。
layoutはreingold tilfordを使います。
これを使うとツリーマップみたいになるのでwebのフローを良い感じにマップに出来ます。

で、結果がこれ。

network3

 

一応ランディングページからどんなフローでユーザーがサイトを観閲しているかがマップになってます。

辛うじて解る事は2つ

  1. 書籍レビューとニュースで観閲が止まってる
  2. ipad系の記事は複雑なネットワークを構成していてグループとしての観閲数が多い。

で、何が言えるの?って話ですよね。はい。
1に関してはamazonへジャンプした数のデータを取得して、離脱数の内のどのくらいがサイトの意に沿った離脱だったのかを計測して、こういった記事がアフィリエイトする上で意味があるのかどうかを(つまりは書いてお金が入ってくるのか否かを)確かめることが出来ます。
これに関してはGA上でゴール設定をしたので1週間くらいしたらそれを含めてマップを作ってみます。

2に関してはこのカテゴリーはフローが多いので記事を増やして広告も多めに載せましょう。
ただ、やはり広告の効果計測をする仕組みを導入しないとどの位広告を増やすべきかとか解らないですね。

 

 

さて、作ったマップに幾らか不満があります。

フローのサイズを矢印の大きさとかで知りたいよねー。

離脱のフローもマップに含めたいよねー。

ランディングの参照元も別にしたいよねー。

そーなんです。このへんのことをきっちりやって、サイト内の全てのフローを把握しつつ、それを視覚的に理解出来る様にする必要性があるんでございますよ。

とりあえずフローの矢印とフローの数が比例するようなマップを作りたいんだけど何かいい方法ないかな?

 


カテゴリー: GoogleAnalytics, R, データマイニング タグ: , , , , パーマリンク

コメントを残す