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 (ou "rapport CrUX") de BigQuery, qui permet de distinguer la popularité des origines selon des ordres de grandeur: les 1 000 origines principales, les 10 000, les 100 000, 1 million et plus...

Voyons comment cela se présente 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
Row 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 global de février 2021, nous obtenons cinq buckets. Comme prévu, à la ligne 1, nous voyons qu'il y a 1 000 origines avec une magnitude de rang de 1 000, soit le 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 l'ensemble des 10 000 premières origines, car les origines de la ligne 1 font également partie de l'ensemble des 10 000 premiers. Pour sélectionner les 10 000 premières origines, vous devez spécifier "experimental.popularity.rank" <= 10 000 pour l'interrogation.

Le jeu de données contient également la magnitude du classement spécifique au 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 évoquer le potentiel de notre nouvelle métrique de popularité, voyons en quoi les segments de popularité du Web diffèrent par rapport à la métrique First Contentful Paint (FCP). Pour les besoins de cette requête, nous considérons qu'une seconde est 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 la valeur experimental.popularity.rank est inférieure ou égale à 1 000, la requête additionne toutes les densités de bucket d'histogrammes pour les valeurs de métrique FCP inférieures à 1 000 ms et les divise par le nombre d'origines. En d'autres termes, elle calcule le pourcentage moyen de chargements FCP rapides pour les 1 000 origines les plus populaires. Dans cette requête, toutes les origines ont le même poids. Ce n'est donc sans doute pas parfait. Voyons toutefois si le résultat est sensible à la modification de l'amplitude du rang en modifiant la clause WHERE pour spécifier la valeur "Experimental.popularity.rank <= 10000". Nous faisons cela pour 10 000, 100 000, etc. :

Grandeur du classement des origines Pourcentage de FCP inférieur à 1, moyen 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 indique qu'une expérience utilisateur plus rapide sur le Web est corrélée à une plus grande popularité.

Dans l'ensemble de données d'octobre 2022, ce nombre a été divisé par demi-classement. La réexécution de la première requête pour cet ensemble de données montre les demi-pas et le nombre d'origines dans chaque magnitude de rang :

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
Row 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 parcourez le livre de recettes CrUX pour découvrir d'autres exemples de requêtes. Si vous le souhaitez, vous pouvez partager vos requêtes et nous dire ce que vous avez trouvé.