はじめに
いきなりですが、データを分析する目的はなんでしょうか。
分析とはつまるところ、計算能力に限界がある人間が、膨大な情報量の現実を理解するために、理解可能なまで現象を小さな単位に切り分ける行為だと思っています。
ただ、企業活動においては「観測された事象をいくつかの要素に分けて、目標達成のために実行可能な施策を考案する」と後半部分が重要になってくるかと感じています。
本記事では、Google Analytics でのデータ分析に的を絞り、分析をする際に大切な、ディメンションと指標について説明します。
続いて全てのディメンションと指標が属す、スコープという概念について説明します。
最後にスコープによる計測の違いを理解するために、簡単なケース スタディをしてみます。
Google Analyticsでのデータは、2種類に分けられる
「データ分析の基本は ○○ ごとの xx だ」とよく言われます。Google Analytics に存在するデータを当てはめると、ディメンションは ○○ にあたる部分です。一方 ☓☓ のところは指標と言われています。
まずディメンションから見ていきましょう。
例えば、「市区町村」ごとの「セッション数」を見たいとします。
「千代田区」「台東区」など、そのセッションの市区町村情報を示すデータがディメンションです。
ディメンションはデータの属性を示し、分析項目として使用されます。
頻繁に利用されるディメンションは、「チャネル」「参照元」「メディア」や「すべてのページ」「ランディングページ」などがあります。
何を分析したいか?といった目的によって、選択するディメンションを選びます。
一方、指標は数値項目と考えていただけると分かりやすいです。
市区町村ごとのセッション数を見るとすると
- 千代田区: 5,000
- 台東区: 4,000
など、セッション数は数値として表されます。
データ分析の「○○ ごとの xx」文脈で、○○ か ☓☓ のどちらに該当するか?でディメンションと指標は切り分けられます。
ディメンションと指標を視覚的に確認すると、理解がより深まるかもしれません。
上の画像は、Google Merchandise Store のチャネル レポートです。Google Analytics の多くのレポートは表形式になっています。
画像の向かって左に出現する部分がディメンションです。画像では赤枠で囲われた部分ですね。一方、指標は緑で囲われた箇所です。たしかに数値で表されています。
それぞれのデータは、特定のグループに属する
ディメンションと指標の違いを確認したところで、続いてGoogle Analytics でデータ分析する上での原則に移ります。
それは、それぞれのディメンションと指標は特定のグループに属す、というルールです。
このグループを、Google Analytics ではスコープと呼びます。英単語で「範囲」を意味しますね。
Google Analytics では、4つのスコープが存在します。
- ヒット – 値は、設定された 1 つのヒットにのみ適用されます。
- セッション – 1 回のセッションのすべてのヒットに値が適用されます。
- ユーザー – 現在と将来のセッションのすべてのヒットに値が適用されます。過去のセッションのヒットには値が適用されません。
- 商品 – 値は、設定されている商品 (拡張 e コマースのみ) に適用されます。
ちなみに1. 〜 3. は標準的なGoogle Analytics で利用されているスコープで、4. は拡張eコマースで使われているスコープです。
話が逸れましたが、戻しましょう。
すべてのディメンションと指標は、特定のスコープに属します。そしてGoogle Analytics では同一スコープに属するディメンションと指標を組み合わせて、独自の切り口で分析できます。
スコープを正しく理解するためのケース スタディ
ここで、スコープを正しく理解するために、簡単なケース スタディをします。スコープごとのGoogle Analytics にデータを送信する挙動の違いを確認しましょう。
カスタム ディメンションを設定して「会員 / 非会員」を計測すると仮定します。その際、スコープをそれぞれヒット, セッション, ユーザ で設定すると、GAにはどのようにデータが送信されるのでしょうか。
isMember というカスタム ディメンションを設定するとし、値がTrue なら会員、False なら非会員と計測します。
またスコープごとのデータ送信の特性を見るために、特定のページではisMember の値を送信しない場合もあるとします。
まずはヒット スコープで設定した場合を考えてみます。
Session1
Session1 | |||||
---|---|---|---|---|---|
H1 | H2 | H3 | … | Hn | |
送信する値 | True | True | True | True | |
レポートで取得される値 | True | True | True | True |
H1: True, H2: True, H3: True, …, Hn: True
のように、すべてのヒットに対してTrueという値が送信されます。
ヒットはGAにデータが送信される最小単位で、セッションが変わっても上記で既にGAサーバに送信された情報が変わることはありません。
Session2
Session2 | |||||
---|---|---|---|---|---|
H1 | H2 | H3 | … | Hn | |
送信する値 | True | True | False | False | |
レポートで取得される値 | True | True | False | False |
H1: True, H2: True, H3: False, …, Hn: False
そのためSession2 で、H2がTrue, 続くH3がFalseに変わったとしても、各ヒットは独立した値を送信します。
続いてセッション スコープで設定した場合を考えてみます。
セッションスコープでは、セッション内のすべてのヒットに対して、最新の値が適用されます。
Session1
Session1 | ||
---|---|---|
H1 | H2 | |
送信する値 | True | True |
レポートで取得される値 | True | True |
H1: True, H2: True
この場合、H1とH2が同じTrueという値を送信しており、イメージ通りTrueという値がSession1には付きます。
次に
Session2
Session2 | ||
---|---|---|
H1 | H2 | |
送信する値 | 値を送信しない | True |
レポートで取得される値 | True | True |
H1: 値を送信しない, H2: True
の場合はどうでしょうか。
H1ではisMember ディメンションを送信しませんでした。続くH2では、Trueが送信されています。
「セッション内のすべてのヒットに対して、最新の値が適用される」というルールに則り、H1でもTrueが適用されます。
つまり会員と判断されます。
最新の値が適用される、というルールなので以下のような場合では
Session3
Session3 | |||||
---|---|---|---|---|---|
H1 | H2 | H3 | … | Hn | |
送信する値 | True | True | True | False | |
レポートで取得される値 | False | False | False | False |
H1: True, H2: True, H3: True, …, Hn: False
最終的に送信されたFalseが、Session3のすべてのヒットに適用されることになります。
そのため非会員と判断されます。仮にH1からHn-1までのヒットでTrue であったとしても、同一セッション内の最後のヒットがFalse の場合、そのセッションでは非会員として測定されます。
では最後に、ユーザ スコープのケースを考えてみましょう。
Session1
Session1 | ||
---|---|---|
H1 | H2 | |
送信する値 | True | True |
レポートで取得される値 | True | True |
H1: True, H2: True
ここではTrueが適用されます。
Session2
Session2 | ||
---|---|---|
H1 | H2 | |
送信する値 | 値を送信しない | 値を送信しない |
レポートで取得される値 | True | True |
H1: 値を送信しない, H2: 値を送信しない
セッション2では、値を送信しませんでした。
ユーザ スコープでは、新しい値が設定されない限り、前回のセッションの値を引き継ぎます。
そのためSession2では、値を送信しませんでしたが、Session1のTrueがディメンションとして送信されます。
続いてSession3で、以下のようなヒットが観測されました。
Session3
Session3 | ||
---|---|---|
H1 | H2 | |
送信する値 | True | False |
レポートで取得される値 | False | False |
H1: True, H2: False
同一セッションで2つの値が設定された場合、最後に設定された値が優先されます。
そのため、Session3ではFalseが送信されます。
また、Session1からSession2で見たように、その後のセッションでも上書きされない限りその値が適されるため、
Session4
Session4 | ||
---|---|---|
H1 | H2 | |
送信する値 | 値を送信しない | 値を送信しない |
レポートで取得される値 | False | False |
H1: 値を送信しない, H2: 値を送信しない
のような場合は、Session3のFalseが適用されます。
まとめ
本記事では、データ分析の基本について振り返りました。
データ分析とは、企業活動においては「観測された事象をいくつかの要素に分けて、目標達成のために実行可能な施策を考案する」ために行うものだとしました。
そのためには「○○ ごとの xx」に分解する必要があると触れました。
Google Analytics では、○○ に当たる部分をディメンションと呼び、xx を指標と呼んでいると確認しました。
それぞれのディメンション / 指標にはスコープと言われる範囲があり、
- ヒット スコープ
- セッション スコープ
- ユーザ スコープ
- 商品 スコープ
のいずれかに分類されると確認しました。
ヒット, セッション, ユーザ スコープの計測方法の違いを理解するために、簡単なケース スタディをしました。カスタム ディメンションを設定し、会員 / 非会員を計測する際、スコープの違いで送信される値はどうなるのか?を確認しました。
計測の目的を明らかにし、実現するためにはどのスコープとしてGoogle Analytics に送信するべきか考えることが、カスタム ディメンションの設定には大切ですね。