了解 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,请按照以下步骤设置项目:
- 前往 Google Cloud Platform。
- 点击 Create a Project。
- 为您的新项目命名,例如“My Chrome UX Report”(我的 Chrome 用户体验报告),然后点击“创建”。
- 如果系统提示,请提供您的结算信息。
- 前往 BigQuery 上的 CrUX 数据集
现在,您可以开始查询数据集了。
项目组织
BigQuery 上的 CrUX 数据会在次月的第二个星期二发布。每个月,chrome-ux-report.all
都会以新表的形式发布。此外,还有许多具体化表,可提供每个月的摘要统计信息。
- chrome-ux-report
all
country_CC
experimental
materialized
详细的表架构
原始表
每个国家/地区的原始表和 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
列用于数据集日期。其架构与原始表完全相同,只是增加了日期,让您无需联接每月表即可执行不同时间段的查询。