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

A partir do conjunto de dados de fevereiro de 2021, estamos adicionando uma métrica experimental ao relatório CrUX no BigQuery que distingue a popularidade das origens por ordens de magnitude: as principais mil origens, as 10 mil principais, as 100 mil principais, os 1 milhão principais...

Vejamos como isso funciona 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

Para o conjunto de dados global de fevereiro de 2021, temos cinco buckets. Como esperado, na linha 1, veremos que há 1.000 origens com magnitude de classificação de 1.000, a 1.000 origens populares de acordo com nossa métrica. A linha 2 pode parecer surpreendente, indicando que há são apenas 9 mil origens no conjunto dos 10 mil principais; isso ocorre porque as origens na linha 1 são também fazem parte do grupo dos 10 mil perfis principais. Para selecionar as 10 mil origens principais, é preciso especificar experimental.popularity.rank <= 10000 ao fazer a consulta.

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

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

Para falar sobre o potencial de nossa nova métrica de popularidade, vejamos o grau de popularidade os segmentos da Web diferem em relação à métrica da First Contentful Paint (FCP, na sigla em inglês). Para esta 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 menor ou igual a 1.000, a consulta soma todos densidades de bucket de histograma para valores de métrica FCP menores que 1.000 ms e divide pelo número de origens, ou seja, calcula a porcentagem média carregamentos FCP rápidos para as mil origens mais conhecidas. Nesta consulta, todas as origens têm peso igual, então, pode-se argumentar que isso não é perfeito. Vamos conferir se o resultado é sensível a alterar a magnitude da classificação, alterando a cláusula where para especificar experimental.popularity.rank <= 10000. Fazemos isso para 10 mil, 100 mil e então em:

Magnitude da 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á correlacionada com ser mais popular.

No conjunto de dados de outubro de 2022, isso foi dividido em etapas de meia classificação. Executar novamente a primeira consulta para esse 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 confira o manual do CrUX para mais consultas de exemplo. Se quiser, compartilhe suas dúvidas e nos conte o que encontrar.