BigQuery の CrUX レポートにランク マグニチュードを追加

2021 年 2 月のデータセットを皮切りに、BigQuery の CrUX レポートに試験運用版指標が追加され、オリジンの人気度を桁違いに区別できるようになります。たとえば、上位の 1,000 のオリジン、トップ 10,000、トップ 100,000、トップ 100,000、...

実際にどのようになっているか見てみましょう。

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 900,000
15 10,000,000 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

新しい人気指標の可能性を示すために、First Contentful Paint 指標(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 <= 1,000 のオリジンの場合、このクエリは、FCP 指標値が 1,000 ミリ秒未満のヒストグラム バケット密度をすべて合計し、オリジン数で除算します。つまり、最も人気のある 1,000 個のオリジンの高速 FCP 読み込みの平均率を計算します。このクエリでは、すべてのオリジンに同じ重みが割り当てられているため、完璧とは言えません。ただし、where 句を変更して experimental.popularity.rank <= 10000 を指定し、結果がランクの桁数に敏感かどうかを確認しましょう。これは 10, 000、100, 000 など、すべての値に対して行われます。

オリジンのランクの桁数 送信元全体の平均で、1 秒未満の FCP の割合
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 4,000,000
9 10,000,000 5,000,000
10 50,000,000 7,637,195

BigQuery での CrUX の使用の詳細を確認する。CrUX クックブックでその他のサンプルクエリを確認する。必要に応じてクエリを共有して、気づいた点をお聞かせください。