BigQuery 上的 CrUX

了解 CrUX 数据在 BigQuery 上的结构。

简介

Chrome 用户体验报告 (CrUX) 背后的原始数据可通过 BigQuery(一个托管在 Google Cloud Platform (GCP) 上的数据库)获取。

借助 BigQuery 上的 CrUX,用户可以直接查询可追溯至 2017 年的完整数据集,例如分析趋势、比较网络技术和进行基准化分析。

这些数据按每月发布情况以及多个摘要表的结构,提供轻松的数据查询。下文对此有详细记录。

BigQuery 数据是 CrUX 信息中心的基础,让您无需编写 SQL 查询即可直观呈现这些数据。

在 GCP 中访问数据集

要使用 BigQuery,您需要具备 GCP 项目并具备 SQL 基础知识。BigQuery 上的 CrUX 数据集免费访问和探索,直至达到免费层级的限额。免费层级每月会续订,并由 BigQuery 提供。此外,GCP 新用户可能有资格获得注册赠金,用于支付免费层级以外的费用。请注意,必须为 GCP 项目提供信用卡,请参阅为什么我需要提供信用卡?

如果这是您第一次使用 BigQuery,请按照以下步骤设置项目:

  1. 前往 Google Cloud Platform
  2. 点击 Create a Project
  3. 为您的新项目命名,例如“My Chrome UX Report”(我的 Chrome 用户体验报告),然后点击“创建”。
  4. 如果系统提示,请提供您的结算信息。
  5. 前往 BigQuery 上的 CrUX 数据集

现在,您可以开始查询数据集了。

项目组织

BigQuery 上的 CrUX 数据会在次月的第二个星期二发布。每个月,chrome-ux-report.all 都会以新表的形式发布。此外,还有许多具体化表,可提供每个月的摘要统计信息。

详细的表架构

原始表

每个国家/地区的原始表和 all 数据集都具有以下架构:

  • origin
  • effective_connection_type
  • form_factor
  • first_paint
  • first_contentful_paint
  • largest_contentful_paint
  • dom_content_loaded
  • onload
  • first_input
    • delay
  • layout_instability
    • umulative_layout_shift
  • interaction_to_next_paint
  • 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 毫秒。与前几个月相比,这个速度稍微慢一些。

系统提供了四个具体化表:

metrics_summary
按月和来源的关键指标
device_summary
按月、来源和设备类型关键指标
country_summary
按月份、来源、设备类型和国家/地区划分的关键指标
origin_summary
数据集中包含的所有源站的列表

metrics_summary

metrics_summary 表包含每个源站和每个月度数据集的摘要统计信息:

yyyymm
数据收集周期的月份
origin
源站的网址
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
流量所占的流量比例(按有效连接类型划分)

device_summary

device_summary 表包含按月、出发地、国家/地区和设备汇总统计信息。除了 metrics_summary 列之外,还有:

device
设备外形规格

country_summary

country_summary 表包含按月、出发地、国家/地区和设备汇总统计信息。除了 metrics_summary 列之外,还有:

country_code
两个字母的国家/地区代码
device
设备外形规格

origin_summary

origin_summary 表包含 CrUX 数据集中所有源站的列表;该表每月更新一次,以数据集中的最新源站列表为列,且只有一列:origin

实验性数据集

实验性数据集中的表与默认 YYYYMM 表的完全相同,但它们使用更新、更高级的 BigQuery 功能(例如分区聚类),使您可以更快速、更简单且更便宜地编写查询。

country

experimental.country 数据集包含来自 country_CC 数据集的汇总数据,此外还有一个 yyyymm 列对应数据集日期。其架构与原始表完全相同,只是增加了日期列和 country_code 列,让您无需联接月度表,即可执行一段时间的国家/地区级查询。

global

experimental.global 数据集包含来自 all 数据集的汇总数据,另有一个 yyyymm 列用于数据集日期。其架构与原始表完全相同,只是增加了日期,让您无需联接每月表即可执行不同时间段的查询。