BigQuery での CrUX データの構造について学習します。
はじめに
Chrome UX レポート(CrUX)の背後にある元データは、Google Cloud でホストされているデータベースである BigQuery で入手できます。
BigQuery 上の CrUX では、トレンドの分析、ウェブ テクノロジーの比較、ベンチマーク ドメインの比較など、2017 年以降のデータセット全体を直接クエリできます。
データは、月次リリースごとに構造化されています。また、データをクエリするための簡単なアクセスを提供する多くのサマリー テーブルも用意されています。
BigQuery データは CrUX ダッシュボードの基礎であり、SQL クエリを記述しなくてもこのデータを可視化できます。
データセットへのアクセス
BigQuery を使用するには、Google Cloud アカウントと SQL の基本的な知識が必要です。BigQuery の CrUX データセットは、無料枠の上限に達するまで無料でアクセスして探索できます。無料枠は毎月更新され、BigQuery によって提供されます。さらに、新しい Google Cloud ユーザーは、無料枠を超えた費用をカバーする登録クレジットの対象となる場合があります。Google Cloud プロジェクトにはクレジット カードを用意する必要があります。クレジット カードを提出する必要があるのはなぜですか?をご覧ください。
BigQuery を初めて使用する場合は、次の手順でプロジェクトを設定します。
- Google Cloud コンソールで [プロジェクトの作成] に移動します。
- 新しいプロジェクトに「My Chrome UX Report」などの名前を付けて [作成] をクリックします。
- お支払い情報の入力を求められたら入力します。
- BigQuery の CrUX データセットに移動します。
これで、データセットのクエリを開始する準備が整いました。
プロジェクトの編成
BigQuery 上の CrUX データは、翌月の第 2 火曜日にリリースされます。毎月、chrome-ux-report.all
の下の新しいテーブルとしてリリースされます。月ごとの統計情報の概要を提供するマテリアライズド テーブルもいくつかあります。
- chrome-ux-report
詳細なテーブル スキーマ
各国の元テーブルと all
データセットは、年と月ごとに提供されています。
元テーブル
未加工テーブルのスキーマは次のとおりです。
origin
effective_connection_type
form_factor
first_paint
first_contentful_paint
largest_contentful_paint
dom_content_loaded
onload
first_input
delay
layout_instability
cumulative_layout_shift
interaction_to_next_paint
navigation_types
navigate
navigate_cache
reload
restore
back_forward
back_forward_cache
prerender
experimental
permission
notifications
time_to_first_byte
popularity
マテリアライズド テーブルのスキーマ
マテリアライズド テーブルを使用すると、多くの主要ディメンションでサマリーデータに簡単にアクセスできます。ヒストグラムは提供されず、パフォーマンス データは、パフォーマンス評価と 75 パーセンタイル値によって小数に集計されます。次の例は、metrics_summary
テーブルの一連の行の例を示しています。
yyyymm | 出所 | fast_lcp | avg_lcp | slow_lcp | p75_lcp |
---|---|---|---|---|---|
202204 | https://example.com | 0.9056 | 0.0635 | 0.0301 | 1600 |
202203 | https://example.com | 0.9209 | 0.052 | 0.0274 | 1400 |
202202 | https://example.com | 0.9169 | 0.0545 | 0.0284 | 1500 |
202201 | https://example.com | 0.9072 | 0.0626 | 0.0298 | 1500 |
202204 年のデータセットでは、https://example.com
の実際のユーザー エクスペリエンスの 90.56% が良好な LCP の基準を満たしており、75 パーセンタイルのおおよその LCP 値は 1,600 ms でした。前月よりもわずかに遅くなっています。
次の 4 つのマテリアライズド テーブルが用意されています。
metrics_summary
- 月とオリジン別の主要指標
device_summary
- 月、送信元、デバイスタイプ別の主な指標
country_summary
- 月、オリジン、デバイスタイプ、国別の主な指標
origin_summary
- データセットに含まれるすべてのオリジンのリスト
metrics_summary
metrics_summary
テーブルには、各オリジンと各月次データセットの統計情報の概要が含まれています。
yyyymm
- データ収集期間の月
origin
- 元のサイトの URL
rank
- 大まかな人気ランキング(2021 年 3 月現在)
[small|medium|large]_cls
- CLS しきい値別のトラフィックの割合
[fast|avg|slow]_<metric>
- パフォーマンスしきい値別のトラフィックの割合
p75_<metric>
- パフォーマンス指標の 75 パーセンタイル値(ミリ秒)
notification_permission_[accept|deny|ignore|dismiss]
- 通知権限の動作の割合
[desktop|phone|tablet]Density
- フォーム ファクタ別のトラフィックの割合
[_4G|_3G|_2G|slow2G|offline]Density
- 有効な接続タイプ別のトラフィックの割合
navigation_type_[navigate|navigate_cache|reload|restore|back_forward|back_forward_cache|prerender]
- ナビゲーション タイプの割合
device_summary
device_summary
テーブルには、月、オリジン、国、デバイス別に集計された統計情報が含まれています。metrics_summary
列以外にも、次があります。
device
- デバイスのフォーム ファクタ
country_summary
country_summary
テーブルには、月、オリジン、国、デバイス別に集計された統計情報が含まれています。metrics_summary
列以外にも、次があります。
origin_summary
origin_summary
テーブルには、CrUX データセット内のすべてのオリジンのリストが含まれています。データセット内のオリジンの最新リストで毎月更新され、origin
という列があります。
試験運用版データセット
試験運用版データセットのテーブルは、デフォルトの YYYYMM
テーブルの正確なコピーですが、パーティショニングやクラスタリングなど、より速く、よりシンプルで安価なクエリを作成できる、より新しく高度な BigQuery 機能を利用しています。
country
experimental.country
データセットには、country_CC
データセットの集計データが含まれており、データセットの日付を示す yyyymm
列が追加されています。スキーマは、日付列と country_code
列が追加された以外は生テーブルと同じで、月別テーブルを結合せずに国レベルの時系列比較クエリを実行できます。
global
experimental.global
データセットには、all
データセットの集計データが含まれており、データセットの日付を示す yyyymm
列が追加されています。スキーマは元テーブルと同じで、日付が追加されているため、月ごとのテーブルを結合せずに経時的な比較クエリを実行できます。