データポータルで「Google Analytics 週別(週次)レポート」を作ってみた

Googleのサービスの「データポータル」を作って,Google Analyticsのデータを使った週別レポートを作ってみました.週別(週次),つまり週(ISO年のISO週)毎でアクセスデータをまとめたレポートで,これを使うと昨年同時期との比較がしやすいと思います.

 

1.はじめに

昨年,GoogleのデータポータルとGoogle Analytics(ユニバーサルアナリティクス)のデモアカウントを使って「時(Time)」の関係を軸にしたレポートを作り,記事「データポータルで「Google Analytics 月・曜日・日・時間軸レポート」を作ってみた」で紹介しました.このとき,その「時」の中には「週」が入っていませんでした.そこで,今回は週別(週次)のレポートを作成してみました.

今回も使用するデータは,Google Analyticsのデモアカウント(アカウント「Demo Account」のプロパティ「Google Merchandise Store」のビュー「1 Master View」)を用います.デモアカウントに関しては,記事「Google Analyticsにデモアカウントを追加」を参照してください.

これまでと同じくすべてのページの上段には,フィルタ(コントールボタン関連)が設置されていて,期間をデフォルト以外に変更したり,地域を絞れたり,チャネルやデバイスなどを絞れたりします.ある特定の流入(特定の広告からの流入)のデータをすぐ確認したいというレポートというのではなく,全体を確認して,さらに気になるところを見つけたり確認したりするためのレポートという想定です(例えば,ある種の広告からの流入をすぐに確認したいなら,それに対応したフィルタをはじめからしたレポートを別に作ればよいというスタンスです).

また,プリントアウトが必要な場面は少ないかもしれませんがA3サイズに印刷することを想定して,レポートの縦と横のサイズ比はA版用紙とあわせています.

 

2ISO週番号

週別のレポートを作るにあたり,データポータルで使えるGoogle Analyticsのデフォルトのディメンション「ISO年のISO週」を使います(図1参照).

図1.データポータルで使えるGoogle Analyticsのディメンション「ISO年のISO週」

図1.データポータルで使えるGoogle Analyticsのディメンション「ISO年のISO週」

 

ISO週番号とは,日付と時刻の評に関するISOの国際規格(ISO 8601)に準じたものです.詳しくはWikipedia「ISO 8601」などを参照してください.

要約すると,ISO 8601における週(ISO週)では,週は月曜日を週の第一日(週は月曜日から始まる)とし,これに従って週番号が定められます.また,ISO週では,週を基準にした年,週年(ISO週年)が用いられます.

ISO週では,1月の最初の木曜日を含む週をその年の第1週と定義し,最終週は52または53(週の数が52または53)となります.これにより通常の日付の「年」と「ISO週年」と異なる場合があります.

具体的には,

2019年第52週:2019年12月23日~2019年12月29日
2020年第1週:2019年12月30日~2020年1月5日
2020年第2週:2020年1月6日~2020年1月12日
・・・
2020年第52週:2020年12月21日~2020年12月27日
2020年第53週:2020年12月28日~2021年1月3日
2021年第1週:2021年1月4日~2021年1月10日
2021年第2週:2021年1月11日~2021年1月17日

となります.

図2.2019,2020,2021年の12月と1月のカレンダー

図2.2019,2020,2021年の12月と1月のカレンダー

 

なおISO 8601では,週年・週番号・曜日をつかって「YYYY-Www-DD」という表記定められています.「YYYY」の部分に週年,「W」はそのままで「ww」の部分に週番号,「DD」の部分には曜日番号(weekday number)を代入します.曜日番号とは曜日を1~7の数字で表す番号で,月曜日(1日目)が「1」,日曜日(7日目)が「7」となります.例えば,2019年12月31日は,2020年第1週火曜日(2日目)なので「2020-W01-02」と表記されます.

 

3.週別レポート

作った週別レポートは

[閲覧用] Google Analytics 週別レポート

で閲覧できます.レポートは全部で3ページあります. 週別レポートは,前年の同時期と比較するのに適しているので,デフォルトの期間が前日を含む週から53週前までにしました.1ページ目がテーブルとグラフがあるもので,2ページ目はテーブルのみ,3ページ目はグラフのみです.

図3.週別レポートの1ページ目

図3.週別レポートの1ページ目

 

図4.週別レポートの2ページ目

図4.週別レポートの2ページ目

 

図5.週別レポートの3ページ目

図5.週別レポートの3ページ目

 

1ページ目と2ページ目のテーブルは同じ内容で,1ページ目はデフォルトの期間のデータを全て確認するにはスクロールが必要ですが,2ページ目はスクロールなしでほぼ全ての行を見ることができます(ブラウザの表示の環境で多少変わります).これらテーブルはデフォルトでは「ISO年のISO週」の降順で並んでいて,表示した期間が月曜日からだと53週分(53行)ですが,それ以外の曜日からだと54週(54行)になります(ISO週が月曜から始まるため).そのため月曜日以外の曜日が表示期間の最初の日だと54行になり,そのときの1行目のデータは「ISO年のISO週」で表示された該当の7日間より短い日数のデータを集計した値となっていることに注意してください.

1ページ目のグラフは,前週から8週前のデータが対象期間となって,前年の同時期と比較があります(1ページ目のグラフの期間は,前週から8週前に固定されています).ただし,2節で説明したISO週のルール(1月の最初の木曜日を含む週をその年の第1週と定義し,最終週は52または53である)ため,この比較での週番号がズレる場合があります.ズレると言っても1つなので,そこは人が見て確認する分には人間の能力で調整できる範囲で,このレポートの目的としては問題ないと思います(図3参照).なお,機能の関係などで,グラフの両端ではデータが欠損しているので注意してください.

図6.週番号のズレ

図6.週番号のズレ

 

3ページ目はグラフのみですが,デフォルトでは表示期間の前日を含む週から53週前まであり,前年と比較もあります.3ページ目のグラフは,コントロールボタンでデータ期間を変更すると対応して変化します.4つのグラフの棒グラフに対応する指標は1ページ目のグラフの指標と同じですが,グラフの折れ線の指標は各指標の累積に変更しています.このようなスパンの場合には累積にしたほうが,変化が起きた場合の発見や,前年とのペースを比較するのに使いやすいと思いました.なおこちらも,ISO週のルールのため比較での週番号がズレる場合があることや,グラフの両端ではデータが欠損している箇所があることに注意してください.

 

4Google Analyticsの「ISO年のISO週」がISO 8601の規則に従っていない・・・

週別レポートを作り終えたわけですが,実はその後で2節で説明したISO週番号(ISO 8601)と,レポートで使ったGoogle Analyticsの「ISO年のISO週」が違っていることに気づきました.図7は,その箇所です

 

図7.2020年12月と2021年1月のGoogle Analyticsの「ISO年とISO週」

図7.2020年12月と2021年1月のGoogle Analyticsの「ISO年のISO週」

つまり

2020/12/21~2020/12/27(52週目)
2020/12/28~2021/01/03(1週目)
2021/01/04~2021/01/10(2週目)

となっているのです.2節で説明したISO週の規則に従うならば「2020年第53週」となると思われる「2020/12/28~2021/01/03」が,Google Analyticsでは「2020/12/28~2021/01/03(1週目)」と書かれていることから2020年の「1週目」と扱われているように見えます.確認として,「Ke!san 年月日から週番号」でISO方式での2021年1月3日を確認してみましたがやはり「第53週」で,「2021/01/04~2021/01/10」が2021年第1週になっています(図8参照).

図8.Ke!sanでの確認結果

図8.Ke!sanでの確認結果

 

その他の年も確認してみました.

 

図9のように,2019年12月から2020年1月のGoogle Analyticsの「ISO年のISO週」の扱いは,

2019/12/23~2019/12/29(52週目)
2019/12/30~2020/01/05(1週目)

となっています.「Ke!san 年月日から週番号」のISO方式の計算では,

2019年第52週:2019年12月23日~2019年12月29日
2020年第1週:2019年12月30日~2020年1月5日

となって同じ扱いだと思われます.

図9.2019年12月と2020年1月のGoogle Analyticsの「ISO年のISO週」とISO方式の週年と週番号

図9.2019年12月と2020年1月のGoogle Analyticsの「ISO年のISO週」とISO方式の週年と週番号

 

図10のように,2018年12月から2019年1月のGoogle Analyticsの「ISO年のISO週」の扱いは

2018/12/24~2018/12/30(52週目)
2018/12/31~2019/01/06(1週目)

となっています.「Ke!san 年月日から週番号」のISO方式の計算では,

2018年第52週:2018年12月24日~2018年12月30日
2019年第1週:2018年12月31日~2019年1月6日

となって同じ扱いだと思われます.

図10.2018年12月と2019年1月のGoogle Analyticsの「ISO年のISO週」とISO方式の週年と週番号

図10.2018年12月と2019年1月のGoogle Analyticsの「ISO年のISO週」とISO方式の週年と週番号

 

図11のように,2017年12月から2018年1月のGoogle Analyticsの「ISO年のISO週」の扱いは,

2017/12/25~2017/12/31(52週目)
2018/01/01~2018/01/07(1週目)

となっています.「Ke!san 年月日から週番号」のISO方式の計算では,

2017年第52週:2017年12月25日~2017年12月31日
2018年第1週:2018年1月1日~2018年1月7日

となって同じ扱いだと思われます.

図11.2017年12月と2018年1月のGoogle Analyticsの「ISO年のISO週」とISO方式の週年と週番号

図11.2017年12月と2018年1月のGoogle Analyticsの「ISO年のISO週」とISO方式の週年と週番号

 

図12のように,2016年12月から2017年1月のGoogle Analyticsの「ISO年のISO週」の扱いは,

2016/12/26~2017/01/01(53週目)
2017/01/02~2017/01/08(1週目)

となっています.ですが,「Ke!san 年月日から週番号」のISO方式の計算では,

2016年第52週:2016年12月26日~2017年1月1日
2017年第1週:2017年1月2日~2017年1月10日

となっています(2017年の第1週は同じですが,2016年の最終週の番号が違います).

図12.2016年12月と2017年1月のGoogle Analyticsの「ISO年のISO週」とISO方式の週年と週番号

図12.2016年12月と2017年1月のGoogle Analyticsの「ISO年のISO週」とISO方式の週年と週番号

 

図13のように,2015年12月から2016年1月のGoogle Analyticsの「ISO年のISO週」の扱いは,

2015/12/21~2015/12/27(52週目)
2015/12/28~2016/01/03(1週目)
2016/01/04~2016/01/10(2週目)

となっています.ですが,「Ke!san 年月日から週番号」のISO方式の計算では,

2015年第53週:2015年12月28日~2016年1月3日
2016年第1週:2016年1月4日~2016年1月10日

となっています(2015年の最終週が異なり,2016年の第1週の週も異なっています).

図13.2015年12月と2016年1月のGoogle Analyticsの「ISO年のISO週」とISO方式の週年と週番号

図13.2015年12月と2016年1月のGoogle Analyticsの「ISO年のISO週」とISO方式の週年と週番号

 

やはりISO 8601の規則とGoogle Analyticsの「ISO年のISO週」は同じではないようです.週の数を常に52で終わるようにしているのかと思ったのですが,それも違うようです.Google Analyticsのヘルプで「ISO」などで検索しましたが該当する説明は見つからず,ググってもみましたがこのことを言及している日本語サイトは見つかりませんでした.英語のヘルプなどにはあるのでしょうか?ともかく,Google Analyticsの「ISO年のISO週」とはISO 8601の規則とは完全に一致していないものだとしか現状はわかりませんでした.

現状はどうなっているのかがわからなかったので,週次レポートなどでのISOの説明はISO 8601の規則のままにしておきました.

 

<追記:始まり>

https://ga-dev-tools.web.app/dimensions-metrics-explorer/time#isoWeek

図14.ISO Week of the Yearの説明

図14.ISO Week of the Yearの説明

より

ISO Week of the Year

ISO week number, where each week starts on Monday. For details, see http://en.wikipedia.org/wiki/ISO_week_date . ga:isoWeek should only be used with ga:isoYear because ga:year represents Gregorian calendar.

と書かれているのを見つけました(図14参照.図14に示すように「ISO Week of the Year」の項目は2つありますが,上記の説明にあたるAPI nameが「ga:isoWeek」の方は正確にはディメンション「ISO週(年間)」に該当し,API nameが「ga:isoYearIsoWeek」の方がディメンション「ISO年のISO週」に該当します.しかし,これらは説明にあるように週番号のルールは同じものです).リンクのWikipediaは英語のISO週の説明で,2節で説明したものと同じです(もっと詳細が書いてありますが).上記のWikipedia内にアクセスした年月日付近のカレンダーがあります(図15の赤枠内).図16はそのカレンダーを拡大したもので,2021年6月のものとなります.例えば,2021年6月7日~2021年6月13日は「W23」となっており,23番目(23週目)とわかります(図16の赤枠内参照).

図15.Wikipediaは英語のISO週の説明ページ

図15.Wikipediaは英語のISO週の説明ページ

 

図16.Wikipediaは英語のISO週の説明ページの2021年6月のカレンダー

図16.Wikipediaは英語のISO週の説明ページの2021年6月のカレンダー

 

データポータルで作った週次レポートを表示させて2021年6月7日~2021年6月13日をテーブルで確認すると,図17の赤枠内のように「2021/06/07~2021/06/13 (24 週目)」となっており,「24週目」扱いです.Google Analyticsのディメンション「ISO年のISO週」は,ISOと述べながらその規則に従っていないことが確認できました.ただし,なぜこのような仕様になっているかは不明です(単純にGoogleの間違いとかありえるのでしょうか?)

図17.2021年6月7日~2021年6月13日のGAの「ISO年のISO週」の扱い

図17.2021年6月7日~2021年6月13日のGAの「ISO年のISO週」の扱い

<追記:終わり>

 

ただ,週別レポートでの「ISO年のISO週」は,ISO 8601の「2020-W01-02」のような表記でなく,具体的な年月日の情報が表記されているのでそれに注目すれば十分使いやすいと思います(逆に「2020-W01-02」や週番号の表記の方がなじみがないので,具体的な年月日の表記があればこのレポートで使う分には問題ない気がします).

 

5.おわりに

週別レポートは「時(Time)」の関係を軸にしたレポートなので,記事「データポータルで「Google Analytics 月・曜日・日・時間軸レポート」を作ってみた」で紹介したレポートに追加してよかったのですが,なじみの薄いISO週などを使うこともあり別にしました.なお,「曜日別レポート」では曜日のデフォルト並びが日曜です.ISO週が月曜始まりなので,これらを一緒のレポートにするなら,曜日別レポートの並びを月曜からに変更したほうが一体感があるかと思いましたが,デフォルトでは無理のようです.計算フィードなどを活用すれば合わせることができる気もしますが,人間の適応力からすればそこまでしなくていい気もします(計算フィードを使うと他のアカウントデータを使う場合などで,設定し直しなどがあり面倒だったりします).

紹介した週別レポートは3ページありますが,実際には2ページ目と3ページ目だけの構成でいいと思っています.

業種にもよるとは思いますが,前年同時期との比較を簡単にしたい場合は月別や日別よりも週別のほうが使い勝手がいいと思います.