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
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 ミリ秒であったことを示しています。前月よりも若干遅くなっています。
次の 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
という 1 つの列があります。
試験運用版データセット
試験運用版データセット内のテーブルはデフォルトの YYYYMM
テーブルの正確なコピーですが、パーティショニングやクラスタリングなどの BigQuery のより高度な新機能を利用して、クエリをより高速、シンプル、低コストで作成できます。
country
experimental.country
データセットには、country_CC
データセットの集計データが含まれ、データセットの日付用の yyyymm
列が追加されています。スキーマは元のテーブルと同じですが、date 列と country_code
列が追加されています。これにより、月次テーブルを結合せずに、国レベルの時系列比較クエリを実行できます。
global
experimental.global
データセットには、all
データセットの集計データが含まれており、データセットの日付を示す yyyymm
列が追加されています。スキーマは、日付が追加された未加工テーブルと同一であるため、月別のテーブルを結合せずに時系列でクエリを実行できます。