向 BigQuery 中的 CrUX 报告添加排名幅度

2021 年 2 月的数据集开始,我们为 BigQuery 中的 CrUX 报告添加了一项实验性指标,该指标会按数量级区分来源的热门程度:“前 1,000 个源”“前 1 万”“前 10 万”“前 100 万”...

让我们看看实际运用情况:

SELECT
  experimental.popularity.rank AS rank_magnitude,
  COUNT(DISTINCT origin) AS num_origins
FROM
  `chrome-ux-report.all.202102`
GROUP BY
  rank_magnitude
ORDER BY
  rank_magnitude
rank_magnitude num_origins
1 1,000 1,000
2 10000 9000 款
3 100000 90,000
4 1,000,000 900,000
15 1000 万 7,264,371

对于 2021 年 2 月的全球数据集,我们得到 5 个存储分区。与预期一样,在第 1 行中,我们看到有 1,000 个排名大小为 1,000 的源站 - 根据我们的指标,这 1,000 个最热门源站。第 2 行看起来可能有些意外,表示前 1 万个源集中只有 9, 000 个源;这是因为第 1 行中的源站也属于前 1 万个源集。如需选择前 1 万个来源,需要在查询时指定 experimental.popularity.rank <= 10000。

该数据集还包含针对特定国家/地区的排名量级。例如,以下查询列出了德国最受欢迎的 1 万个源站。

SELECT DISTINCT origin
FROM `chrome-ux-report.country_de.202102`
WHERE experimental.popularity.rank <= 10000

为了解这项新的热门程度指标的潜力,让我们来了解一下网络热门程度细分在首次内容渲染指标 (FCP) 方面的差异。在此查询中,我们将 1 秒视为快速用户体验。

SELECT
  SUM(fcp.density)/count(distinct origin)
FROM
  `chrome-ux-report.all.202102`,
  UNNEST(first_contentful_paint.histogram.bin) AS fcp
WHERE
  fcp.start < 1000 AND experimental.popularity.rank <= 1000

对于 experimental.popularity.rank <= 1000 的源站,查询会针对小于 1000 毫秒的 FCP 指标值的所有直方图分桶密度求和,然后除以源站数量,即计算 1,000 个最热门源站的快速 FCP 加载的平均百分比。在此查询中,所有源站都有相同的权重,因此可以说,这并不完美。但是,通过更改 where 子句来指定 experimental.popularity.rank <= 10000,让我们看看结果是否对排名大小的改变敏感。对于 10k、100k 等,我们会执行此操作:

源站的排名大小 FCP 小于 1 秒的百分比(针对源站的平均值)
1,000 53.6%
10000 49.6%
100000 45.9%
1000000 43.2%
1000 万 39.9%

这表明,用户在网络上的浏览速度越快,就越受欢迎。

2022 年 10 月的数据集中,这些数据被按半阶步骤进一步划分。重新运行此数据集的第一个查询会显示每个排名量级的半步和起点数量:

SELECT
  experimental.popularity.rank AS rank_magnitude,
  COUNT(DISTINCT origin) AS num_origins
FROM
  `chrome-ux-report.all.202210`
GROUP BY
  rank_magnitude
ORDER BY
  rank_magnitude
rank_magnitude num_origins
1 1,000 1,000
2 5,000 4000
3 10000 5,000
4 5 万 40000
5 100000 5 万
6 50 万 400000
7 1,000,000 50 万
8 5000000 400 万
9 1000 万 5000000
10 5000 万 7,637,195

详细了解如何在 BigQuery 上使用 CrUX,并浏览 CrUX 实战宝典,查看更多示例查询。如果您愿意,可以分享您查询的内容,并将您的发现告诉我们。