CrUX データが BigQuery でどのように構造化されているかを確認する。
はじめに
Chrome UX レポート(CrUX)の元データは、Google Cloud でホストされているデータベースである BigQuery で利用できます。
BigQuery の CrUX を使用すると、2017 年以降の全データセットを直接クエリして、トレンドの分析、ウェブ技術の比較、ドメインのベンチマークなどを行うことができます。
データは月次リリース別に編成されており、データに簡単にアクセスしてクエリできるように、いくつかの概要表も用意されています。
BigQuery データは CrUX ダッシュボードの基盤であり、SQL クエリを作成せずにこのデータを可視化できます。
データセットを活用する
BigQuery を使用するには、Google Cloud アカウントと SQL の基本的な知識が必要です。BigQuery の CrUX データセットは、BigQuery が提供する無料枠の上限まで無料でアクセスして探索できます。この無料枠は毎月更新されます。また、Google Cloud の新規ユーザーは、無料 tier を超える費用を賄うための登録クレジットをご利用いただける場合があります。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 | origin | 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
列が追加されています。スキーマは元のテーブルと同じですが、日付が追加されています。これにより、月次テーブルを結合せずに期間比較クエリを実行できます。