BigQuery 上的 CrUX

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

简介

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

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

数据按每月发布进行结构化,并提供了一些汇总表,以便更快地查询数据。

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

访问数据集

使用 BigQuery 需要拥有 Google Cloud 账号并具备基本的 SQL 知识。您可以免费访问和探索 BigQuery 上的 CrUX 数据集,但不得超出 免费层级的限额。该层级由 BigQuery 提供,每月更新。此外,Google Cloud 新用户可能有资格获得注册赠金,以支付超出免费层的费用。请注意,您必须为 Google Cloud 项目提供信用卡,请参阅为什么需要提供信用卡?

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

  1. 前往 Google Cloud 控制台中的创建项目
  2. 为新项目命名,例如“我的 Chrome 用户体验报告”,然后点击“创建”。
  3. 根据提示提供结算信息。
  4. 前往 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
  • layout_instability
    • cumulative_layout_shift
  • interaction_to_next_paint
  • round_trip_time
  • 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
网站来源的网址
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 列之外,还有:

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

origin_summary

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

实验性数据集

实验性数据集中的表是默认 YYYYMM 表的精确副本,但它们使用了更新、更高级的 BigQuery 功能,例如分区聚簇,可让您编写更快、更简单且更经济实惠的查询。

country

experimental.country 数据集包含来自 country_CC 数据集的汇总数据,并添加了用于表示数据集日期的 yyyymm 列。该架构与原始表完全相同,只是添加了日期和 country_code 列,从而无需联接月度表即可执行国家级随时间变化的比较查询。

global

experimental.global 数据集包含 all 数据集的汇总数据,并添加了一个 yyyymm 列来表示数据集日期。该架构与原始表完全相同,只是添加了日期,因此无需联接月度表即可执行时间比较查询。