BigQuery 上的 CrUX

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

简介

Chrome 用户体验报告 (CrUX) 背后的原始数据可在 BigQuery 中找到。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
  • 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 数据集中,90.56% 的 https://example.com 真实用户体验符合良好 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
按有效连接类型划分的流量所占比例
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 列作为数据集日期。架构与原始表相同,但增加了日期,这样您无需联接月度表,即可执行一段时间内的比较查询。