BigQuery で CrUX データがどのように構造化されているかについて説明します。
はじめに
Chrome ユーザー エクスペリエンス レポート(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 データセットは、年と月ごとに提供されます。
元テーブル
未加工テーブルのスキーマは次のとおりです。
origineffective_connection_typeform_factorfirst_paintfirst_contentful_paintlargest_contentful_paintdom_content_loadedonloadlayout_instabilitycumulative_layout_shift
interaction_to_next_paintround_trip_timenavigation_typesnavigatenavigate_cachereloadrestoreback_forwardback_forward_cacheprerender
experimentalpermissionnotifications
time_to_first_bytepopularity
マテリアライズド テーブルのスキーマ
マテリアライズド テーブルは、複数のキー ディメンションで概要データに簡単にアクセスできるようにするために提供されています。ヒストグラムは提供されず、代わりにパフォーマンス データがパフォーマンス評価と 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>- パフォーマンスしきい値別のトラフィックの割合
[low|medium|high]_rtt- RTT しきい値別のトラフィックの割合
p75_<metric>- パフォーマンス指標の 75 パーセンタイル値(ミリ秒)
notification_permission_[accept|deny|ignore|dismiss]- 通知権限の動作の割合
[desktop|phone|tablet]Density- フォーム ファクタ別のトラフィックの割合
[_4G|_3G|_2G|slow2G|offline]Density- 有効な接続タイプ別のトラフィックの割合(
rttヒストグラムから計算(2025 年 2 月以降)、オフラインなし) 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 列が含まれています。スキーマは、日付列と country_code 列が追加されている点を除いて、未加工のテーブルと同じです。これにより、月次テーブルを結合せずに、国レベルの経時比較クエリを実行できます。
global
experimental.global データセットには、all データセットの集計データと、データセットの日付を表す yyyymm 列が含まれています。スキーマは未加工のテーブルと同一で、日付が追加されています。これにより、月次テーブルを結合せずに、経時的な比較クエリを実行できます。