What are the quantiles of the Pagespeed score for the latest crawl?

PageSpeed is a performance analysis tool that grades websites on a scale of 1-100. Higher scores are better.

I’ve always wondered how Pagespeed scores that I see when I run tests on PageSpeed Insights compare to other sites out there.

Looks like the average score hovers in the upper- or mid-seventies, according to the current Trend chart from httparchive.org:

I was curious what the quantiles might be so I modded a query that Ilya put together here and came up with this:

NTH(10, quantiles(pageSpeed,100)) tenth,
NTH(20, quantiles(pageSpeed,100)) twentieth,
NTH(30, quantiles(pageSpeed,100)) thirtieth,
NTH(40, quantiles(pageSpeed,100)) fortieth,
NTH(50, quantiles(pageSpeed,100)) fiftieth,
NTH(60, quantiles(pageSpeed,100)) sixtieth,
NTH(70, quantiles(pageSpeed,100)) seventieth,
NTH(80, quantiles(pageSpeed,100)) eightieth,
NTH(90, quantiles(pageSpeed,100)) ninetieth
FROM [httparchive:runs.latest_pages]  

Our results:


Nice. I was also curious about how/if the distribution has changed over time:

Interesting to see that the lower quantiles all gained ~3 extra points over the past two years, whereas the best performers only added one or two points. Full query:

  NTH(10, quantiles(pageSpeed)) tenth,
  NTH(20, quantiles(pageSpeed)) twentieth,
  NTH(30, quantiles(pageSpeed)) thirtieth,
  NTH(40, quantiles(pageSpeed)) fortieth,
  NTH(50, quantiles(pageSpeed)) fiftieth,
  NTH(60, quantiles(pageSpeed)) sixtieth,
  NTH(70, quantiles(pageSpeed)) seventieth,
  NTH(80, quantiles(pageSpeed)) eightieth,
  NTH(90, quantiles(pageSpeed)) ninetieth
  SELECT  STRFTIME_UTC_USEC(INTEGER(createDate*1000000), "%Y-%m") date, pageSpeed FROM 
    httparchive:runs.2012_01_01_pages, httparchive:runs.2012_02_01_pages,
    httparchive:runs.2012_03_01_pages, httparchive:runs.2012_04_01_pages,
    httparchive:runs.2012_05_01_pages, httparchive:runs.2012_06_01_pages,
    httparchive:runs.2012_07_01_pages, httparchive:runs.2012_08_01_pages,
    httparchive:runs.2012_09_01_pages, httparchive:runs.2012_10_01_pages,
    httparchive:runs.2012_11_01_pages, httparchive:runs.2012_12_01_pages,
    httparchive:runs.2013_01_01_pages, httparchive:runs.2013_02_01_pages,
    httparchive:runs.2013_03_01_pages, httparchive:runs.2013_04_01_pages,
    httparchive:runs.2013_05_01_pages, httparchive:runs.2013_06_01_pages,
    httparchive:runs.2013_07_01_pages, httparchive:runs.2013_08_01_pages,
    httparchive:runs.2013_09_01_pages, httparchive:runs.2013_10_01_pages,
) GROUP BY date, order by date

@stevesoudersorg it would be great to add PageSpeed to mobile runs as well! Currently, all of those columns report zero scores.


Very insightful.

Assuming that the way PageSpeed is calculated has been applied the same way to the pages in all these datasets:

  • the quantiles show that within each crawl and over time, there don’t appear to have been many large increases.
  • the average PageSpeed Score over the past 12 months shown in the graphic above is 76, with essentially no change over that time frame.

Perhaps there have been bigger improvements on the mobile side, as Ilya brought up.

I suppose that if anything the data underscores the need to get faster, faster!

This query now comes up with null results.