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

廿TT

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

Google アナリティクスのページビュー数、セッション数、ユニークユーザー数を面グラフでまとめてプロット

Google アナリティクス R

アクセスの多さの指標

Google アナリティクスで見れる「アクセスの多さ」の指標の代表は、下記 3 つです。

  • pageviews(ページビュー数)
  • visits (セッション、訪問数)
  • visitors(ユニークユーザー数、ユーザー数、訪問者数)

Google アナリティクスでは、2 つの指標を選んで同時に折れ線グラフにすることができます。
が、その場合指標ごとに別の縦軸に値がプロットされます。

f:id:abrahamcow:20140929080426p:plain

ぼくは下図のようにページビュー数、セッション数、ユニークユーザー数を同じ軸にプロットしてやるといいとおもいます。

f:id:abrahamcow:20140929023043p:plain

その理由はページビュー数、セッション数、ユニークユーザー数が、いずれも「アクセスの多さ」の指標だから、一箇所にまとめたいというのがひとつ。

もうひとつは各指標の「間隔」を読むことができるからです。

f:id:abrahamcow:20140929023141p:plain

上図では visitors と visits の差が広いとことせまいところがあります。
これは 1 人の訪問者あたりの訪問回数が多いところ、少ないところと解釈できます。

同様、pageviews と visits の差は、一回の訪問あたりに見るページ数の多少、pageviews と visitors の差は、一人の訪問者が見るページ数の多少と解釈できます。

この図をかくための R のコードは以下の通り。

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

ここでアクセストークンをコピペ。
RGoogleAnalytics をいじっている - 廿TT を参照。)

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

sta ="2013-08-01"
en ="2014-08-31"

query$Init(start.date = sta,
           end.date = en,
           dimensions = "ga:yearMonth",  
           metrics = "ga:visits,ga:visitors,ga:pageviews",
           table.id = paste("ga:",ga.profiles$id[1],sep="",collapse=","),
           access_token=access_token)
ga1<- ga$GetReportData(query)


t1 <-seq.Date(as.Date(sta),as.Date(en),by="1 month")
ga1$date <- t1

library(reshape2)

ga2 <- melt(ga1[,-1], id.vars="date")

library(ggplot2)
library(scales)

theme_set(theme_bw(20)) #背景は白に固定。文字は大きめに。
p1 <-ggplot(ga2,aes(x=date,y=value)) +
  geom_area(aes(colour=variable, fill=variable),alpha=.1, position = "identity", size=.8) +
# alphaは透明度、sizeは線の太さ
  scale_x_date(labels = date_format("20%y/%m")) +
  scale_y_continuous(labels = comma) +
# y軸にカンマを振ってる
  theme(legend.position="bottom") +
  labs(x="", y="")
p1

単位の違う量を同じ軸にプロットしていいのか問題

ここで「pageviews(ページビュー数)、visits (セッション、訪問数)visitors(ユニークユーザー数、ユーザー数、訪問者数)はそれぞれ違う指標なのに」おなじ軸にプロットしていいのか? という疑問を持つ方もいるでしょう。
(というか、おれはそういうことを気にする)

が、問題ありません。

ページビュー数はページが読み込まれた回数を数えたデータです。

セッション数、ユニークユーザー数も回数を数えたデータです。

f:id:abrahamcow:20140929085703p:plain

ページビュー 4 ページ、セッション 2 回、ユニークユーザー 1 人を無次元の量、すなわちただの「数」として、ページビュー 4、セッション 2、ユニークユーザー 1 と表記しても問題ありません。

これらは単位の違う量ではなく、単に助数詞の違う量とみることができます。

ここにたとえば、「滞在時間」などを加えると話は別です。
滞在時間は単位「秒」を取り除くと意味が通じなくなってしまいます。
これは区別しなくてはなりません。

関連エントリ


原点がゼロでないグラフ、2軸のグラフ - 廿TT


RGoogleAnalytics でとりあえず折れ線グラフ - 廿TT