Ajouter une ampleur de classement au rapport CrUX dans BigQuery

À partir de l'ensemble de données de février 2021, nous ajoutons une métrique expérimentale au rapport d'expérience utilisateur Chrome (CrUX) dans BigQuery, qui distingue la popularité des origines par ordre de grandeur: les 1 000 premières origines, les 10 000 meilleures, les 100 000 premières origines, les 1 million meilleures, etc.

Voyons à quoi cela ressemble en pratique:

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
Ligne 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

Pour l'ensemble de données mondial de février 2021, nous obtenons cinq buckets. Comme prévu, à la ligne 1, nous constatons qu'il existe 1 000 origines avec une magnitude de rang de 1 000, soit les 1 000 origines les plus populaires selon notre métrique. La ligne 2 peut sembler surprenante, car elle indique qu'il n'y a que 9 000 origines dans le top 10 000. En effet, les origines de la ligne 1 font également partie du top 10 000. Pour sélectionner les 10 000 premières origines, vous devez spécifier la valeur "experimental.popularity.rank <= 10 000" lors de la requête.

L'ensemble de données contient également la magnitude du classement par pays. Par exemple, cette requête répertorie les 10 000 origines les plus populaires en Allemagne.

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

Pour évaluer le potentiel de notre nouvelle métrique de popularité, voyons comment les segments de popularité du Web diffèrent par rapport à la métrique First Contentful Paint (FCP). Pour cette requête, nous considérons qu'une seconde correspond à une expérience utilisateur rapide.

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

Pour les origines dont experimental.popularity.rank est inférieur à 1 000, la requête additionne toutes les densités de buckets d'histogrammes pour les valeurs de métrique FCP inférieures à 1 000 ms et la divise par le nombre d'origines, c'est-à-dire qu'elle calcule le pourcentage moyen de chargements FCP rapides pour les 1 000 origines les plus courantes. Dans cette requête, toutes les origines ont le même poids, ce n'est donc sans doute pas parfait. Voyons cependant si le résultat est sensible à la modification de l'ampleur du classement en modifiant la clause where pour spécifier experimental.popularity.rank <= 10000. Nous faisons cela pour 10 000, 100 000, etc.

Magnitude du classement des origines Pourcentage de FCP inférieur à 1 seconde, moyenné sur les origines
1 000 53,6%
10 000 49,6%
100 000 45,9%
1 000 000 43,2%
10 000 000 39,9%

Cela montre qu'il existe une corrélation entre une expérience utilisateur plus rapide sur le Web et une plus grande popularité.

Dans l'ensemble de données d'octobre 2022, cette valeur a été divisée en demi-degrés. Si vous exécutez à nouveau la première requête pour cet ensemble de données, vous verrez les demi-étapes et le nombre d'origines dans chaque magnitude de classement :

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
Ligne 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

Découvrez comment utiliser CrUX dans BigQuery et consultez le guide CrUX en pratique pour obtenir d'autres exemples de requêtes. Si vous le souhaitez, partagez vos requêtes et dites-nous ce que vous avez trouvé.