了解 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,请按以下步骤设置项目:
- 前往 Google Cloud 控制台中的创建项目。
- 为新项目命名,例如“我的 Chrome 用户体验报告”,然后点击“创建”。
- 根据提示提供结算信息。
- 前往 BigQuery 上的 CrUX 数据集
现在,您就可以开始查询数据集了。
项目组织
BigQuery 中的 CrUX 数据会在下个月的第二个星期二发布。每个月的数据都会以新表的形式发布在 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
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
列来表示数据集日期。该架构与原始表完全相同,只是添加了日期,因此无需联接月度表即可执行时间比较查询。