將排名規模加入 BigQuery 的 CrUX 報告

2021 年 2 月的資料集起,我們將在 BigQuery 的 CrUX 報表中加入一項實驗性指標,以便按照數量順序區分來源熱門程度:前 1000 名、前 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 10,000 9,000
3 100,000 人 90,000
4 1,000,000 90 萬個
15 10,000,000 7,264,371 人

若是 2021 年 2 月的全球資料集,我們則會取得 5 個值區。如預期,在第 1 列可看到 1000 個來源排名第 1000 名,而這是我們的指標最受歡迎的起點 1,000 個來源。第 2 列看起來可能會令人感到意外,這表示前 10K 集中只有 9,000 個來源,這是因為第 1 列的來源也屬於前 10,000 列的一部分。如要選取前 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 指標值的所有直方圖值區密度,並將其除以來源數量,亦即計算前 1000 個最熱門來源的 FCP 快速載入百分比。在這個查詢中,所有來源的權重都相同,因此不太準確。讓我們看看結果是否因為改變了 location 子句來指定實驗.popularity.rank <= 10000,才對變更排名規模很敏感。我們對 10K、10 萬等 執行同樣的操作:

來源排名 FCP 小於 1 (相對於來源) 的平均值
1.000 53.6%
10,000 49.6%
100,000 人 45.9%
1,000,000 43.2%
10,000,000 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 4,000
3 10,000 5,000
4 50,000 次 40,000
5 100,000 人 50,000 次
6 500,000 400,000
7 1,000,000 500,000
8 5,000,000 400 萬個
9 10,000,000 5,000,000
10 50,000,000 7,637,195 人

進一步瞭解如何在 BigQuery 中使用 CrUX瀏覽 CrUX 教戰手冊,取得更多查詢範例。如有需要,歡迎分享你的查詢,並與我們分享你的發現。