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

2021 年 2 月的数据集开始,我们将向 BigQuery 中的 Crux 报告添加一项实验性指标,用于按数量级区分来源的热门程度:前 1,000 个来源、前 10,000 个来源、前 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 1000 1000
2 10000 9000
3 100000 90,000
4 1,000,000 900000
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,看看结果是否对排名大小变化敏感。我们会对 1 万、10 万等进行此类处理:

来源的排名指数 小于 1 秒的 FCP 所占百分比(按来源平均)
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 1000 1000
2 5000 4000
3 10000 5000
4 5 万 40000
5 100000 5 万
6 50 万 400000
7 1,000,000 50 万
8 5000000 4,000,000
9 1000 万 5000000
10 5000 万 7,637,195

详细了解如何在 BigQuery 中使用 CrUX,并浏览 CrUX 实战宝典,查看更多查询示例。您可以随时与我们分享您的问题,并告诉我们您发现了什么。