読者です 読者をやめる 読者になる 読者になる

廿TT

譬如水怙牛過窓櫺 頭角四蹄都過了 因甚麼尾巴過不得

(R + Google アナリティクス)ウォーターフォールチャート

R Google アナリティクス

ウォーターフォールチャート

ウォーターフォールチャート(滝グラフ)を描く関数を書きました。

ダウンロードしてご利用ください。

ウォーターフォールチャートの見方、使い方は N's spirit ファクター分析とは 等を参考にしてください。

実践編

f:id:abrahamcow:20150219220749p:plain

当ブログでは、2015年1月は前年同月比較でセッション数が増加しました。

この要因をチャネル(訪問経路)ごとに分けて、ウォーターフォールチャートで示したいと思います。

まずは RRGoogleAnalytics でデータを取得。

library("RGoogleAnalytics")
query <- QueryBuilder()
access_token <- query$authorize()

ここでアクセストークンをコピペ。

詳しくは RGoogleAnalytics をいじっている - 廿TT を参照。

データ抽出時のクエリは次の通りです。

ga <- RGoogleAnalytics()
ga.profiles <- ga$GetProfileData(access_token)

query$Init(start.date = "2014-01-01",
           end.date = "2014-01-31",
           dimensions = "ga:channelGrouping",
           metrics = "ga:sessions",
           #sort = ,
           #filters="",
           #segment=""
           #max.results = ,
           table.id = paste("ga:",ga.profiles$id[1],sep="",collapse=","),
           access_token=access_token)

dat201401 <- ga$GetReportData(query)

query$Init(start.date = "2015-01-01",
           end.date = "2015-01-31",
           dimensions = "ga:channelGrouping",
           metrics = "ga:sessions",
           #sort = ,
           #filters="",
           #segment=""
           #max.results = ,
           table.id = paste("ga:",ga.profiles$id[1],sep="",collapse=","),
           access_token=access_token)

dat201501 <- ga$GetReportData(query)

詳しくは R から API で Google アナリティクスのデータを読むこめるパッケージ, RGoogleAnalytics のクエリ作成方法 - 廿TT を参照。

ウォーターフォールチャートを描くには次のようにします。

source("waterfall.r") #保存したファイルのパスを指定
waterfall(left=dat201401$sessions,
          right=dat201501$sessions,
          group =dat201501$channelGrouping)

f:id:abrahamcow:20150219223224p:plain

2014年1月から2015年1月では、それぞれのチャネルごとの訪問が下表の通り増加しました。

チャネル セッション
(Other) 224
Direct 760
Organic Search 4016
Referral 1489
Social 2941

この増加分がそれぞれグラフ内の棒の長さに対応しています。

上のグラフはちょっと地味だったので色をつけてやるとこんな風になります。

#nihongo() macユーザーは日本語のフォントを指定
waterfall(left=dat201401$sessions,
          right=dat201501$sessions,
          group =dat201501$channelGrouping,
          cols=c("tomato","orange2","forestgreen","royalblue","cornflowerblue"),
          leftcol="antiquewhite",rightcol="lightgoldenrod1",
          leftname ="前年同月",rightname ="2015年1月",ylab="セッション数")

f:id:abrahamcow:20150220041623p:plain

ディメンションは目的に合わせて変えてください。

さわってみてエラーが出るようでしたら教えて頂けますと幸いです。

関連エントリ


RGoogleAnalytics で変化の要因を読みとく(変化量と寄与率のグラフ+散布図) - 廿TT


(R + Google アナリティクス)期間比較して特に増減の大きいトラフィックソースを図示する - 廿TT