Como adicionar a magnitude da classificação ao relatório CrUX no BigQuery

A partir do conjunto de dados de fevereiro de 2021, adicionamos uma métrica experimental ao relatório CrUX do BigQuery que distingue a popularidade das origens por ordens de magnitude: as origens 1.000 principais, 10.000 principais, 100.000 principais, 1.000.000 principais...

Vamos conferir como isso fica na prática:

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

No conjunto de dados globais de fevereiro de 2021, recebemos cinco buckets. Como esperado, na linha 1, há 1.000 origens com magnitude de classificação 1.000, que são 1.000 origens mais conhecidas pela nossa métrica. A linha 2 pode parecer surpreendente, indicando que há apenas 9 mil origens no conjunto dos 10 mil principais. Isso ocorre porque as origens na linha 1 também fazem parte do conjunto dos 10 mil principais. Para selecionar as 10 mil origens principais, é necessário especificar experimental.popularity.rank <= 10.000 na consulta.

O conjunto de dados também contém a magnitude da classificação específica do país. Por exemplo, a consulta lista as 10 mil origens mais famosas na Alemanha.

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

Para abordar o potencial da nossa nova métrica de popularidade, vamos ver como os segmentos de popularidade da Web diferem em relação à métrica da primeira exibição de conteúdo (FCP, na sigla em inglês). Para os fins desta consulta, consideramos um segundo como uma experiência do usuário rápida.

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

Para origens com experimental.popularity.rank <= 1.000, a consulta soma todas as densidades de buckets do histograma para valores de métrica de FCP menores que 1.000 ms e as divide pelo número de origens, ou seja, calcula a porcentagem média de carregamentos rápidos de FCP para mil origens mais conhecidas. Nesta consulta, todas as origens têm peso igual, portanto, é possível que isso não seja perfeito. Vejamos se o resultado é sensível à mudança da magnitude da classificação. Para isso, altere a cláusula where para especificar experimental.popularity.rank <= 10000. Fazemos isso por 10 mil, 100 mil e assim por diante:

magnitude de classificação das origens Porcentagem de FCP < 1 s, média sobre as origens
1,000 53,6%
10.000 49,6%
100.000 45,9%
1.000.000 43,2%
10.000.000 39,9%

Isso indica que uma experiência do usuário mais rápida na Web está relacionada a maior popularidade.

No conjunto de dados de outubro de 2022, isso foi dividido em etapas de meia classificação. Executar novamente a primeira consulta para este conjunto de dados mostra as meias etapas e o número de origens em cada magnitude de classificação:

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

Saiba como usar o CrUX no BigQuery e navegue pelo CrUX Cookbook para ver mais exemplos de consultas. Compartilhe suas consultas, se quiser, e nos conte o que você achou.