crux-top-lists

Downloadable snapshots of the Chrome Top Million Websites pulled from public CrUX data in Google BigQuery.

https://github.com/zakird/crux-top-lists

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.8%) to scientific vocabulary
Last synced: 11 months ago · JSON representation

Repository

Downloadable snapshots of the Chrome Top Million Websites pulled from public CrUX data in Google BigQuery.

Basic Info
Statistics
  • Stars: 794
  • Watchers: 17
  • Forks: 43
  • Open Issues: 2
  • Releases: 0
Created over 3 years ago · Last pushed 11 months ago
Metadata Files
Readme Citation

README.md

Chrome (CrUX) Top Million Websites

Recent research has shown that the top million most popular websites published by Google Chrome via their UX Report (CrUX) is significantly more accurate than other top lists like the Alexa Top Million and Tranco Top Million for capturing the most popular websites on the Internet.

This repository caches a CSV version of the Chrome top sites, queried from the public CrUX data in Google BigQuery. You can browse all of the cached lists here. The most up-to-date top million global websites can be downloaded directly at: https://raw.githubusercontent.com/zakird/crux-top-lists/main/data/global/current.csv.gz.

Data Structure

The CrUX dataset has several important differences from other top lists:

  1. Websites are bucketed by rank magnitude order, not by specific rank. Rank will be 1000, 10K, 100K, or 1M in the provided files. The data is ordered by rank magnitude. Within each order of magnitude, websites are listed randomly.

  2. Websites are identified by origin (e.g., https://www.google.com) not by domain or FQDN.

  3. Data is released monthly, typically on the second Tuesday of the month.

This is an example of what the data looks like:

origin,rank https://www.ptwxz.com,1000 https://ameblo.jp,1000 https://danbooru.donmai.us,1000 https://game8.jp,1000 https://www.google.com.au,1000 https://www.repubblica.it,1000 https://www.w3schools.com,1000 https://animekimi.com,1000

Websites are ranked by completed pageloads (measured by First Contentful Paint) and aggregated by web origin. The dataset adheres as closely as possible to user-initiated pageloads (e.g., it excludes traffic from iframes). More information about CrUX and its data collection methodology can be found on its official website: https://developer.chrome.com/docs/crux/about/.

Why 1 Million Sites?

This repository does not contain all of the website ranking data published by Chrome. Their global list of popular websites contains approximately 15M websites. The top million websites captures over 95% of user traffic in Chrome by both Page Loads and Time on Page (Ruth et al.) and is a reasonable approximation:

CDF of User Traffic

If you want to use more or fewer websites, this is the approximate breakdown of coverage:

| Websites | Page Loads | | ----------- | ----------- | | 1000 | 50% | | 10K | 70% | | 100K | 87% | | 1M | 95% | | 5M | 99% |

The following SQL can be used to generate a similar list of all globally popular websites:

sql SELECT distinct origin, experimental.popularity.rank FROM `chrome-ux-report.experimental.global` WHERE yyyymm = ? -- e.g., integer 202210 GROUP BY origin, experimental.popularity.rank ORDER BY experimental.popularity.rank;

Country-Specific Websites

Ruth et al. also showed that browsing behavior is localized and a global top list skews towards global sites (e.g., technology and gaming) and away from local sites (e.g., education, government, and finance). As such, researchers may also want to investigate whether trends hold across individual countries.

Skew in Websites

Chrome publishes country-specific top lists in BigQuery and the following SQL can be used to dump out country-specific top websites:

sql SELECT distinct country_code, origin, experimental.popularity.rank FROM `chrome-ux-report.experimental.country` WHERE yyyymm = ? -- e.g., integer 202210 AND experimental.popularity.rank <= 1000000 GROUP BY country_code, origin, experimental.popularity.rank ORDER BY country_code, experimental.popularity.rank;

The CrUX dataset is based on data collected from Google Chrome and is thus biased away from countries with limited Chrome usage (e.g., China). If you're specifically interested in looking at domain popularity in China, consider Building an Open, Robust, and Stable Voting-Based Domain Top List, which is based on data collected from 114DNS, a large DNS provider in China.

Supporting Research

The data in this repo is all publicly posted by Google to their CrUX dataset in Google BigQuery. This is simply a cache of that public data. Many of the arguments in this README are based on two recent research papers. The first describes how we evaluated the accuracy of lists of top websites. The second is a study on web browsing more broadly.

Toppling Top Lists: Evaluating the Accuracy of Popular Website Lists
Kimberly Ruth, Deepak Kumar, Brandon Wang, Luke Valenta, and Zakir Durumeric
ACM Internet Measurement Conference (IMC), October 2022

A World Wide View of Browsing the World Wide Web
Kimberly Ruth, Aurore Fass, Jonathan Azose, Mark Pearson, Emma Thomas, Caitlin Sadowski, and Zakir Durumeric
ACM Internet Measurement Conference (IMC), October 2022

Owner

  • Name: Zakir Durumeric
  • Login: zakird
  • Kind: user
  • Location: Stanford, CA
  • Company: Stanford University

Security researcher. Assistant Professor, @Stanford. Founder, @Censys. Core team, @ZMap.

GitHub Events

Total
  • Issues event: 4
  • Watch event: 45
  • Issue comment event: 3
  • Push event: 11
  • Fork event: 7
Last Year
  • Issues event: 4
  • Watch event: 45
  • Issue comment event: 3
  • Push event: 11
  • Fork event: 7

Committers

Last synced: over 1 year ago

All Time
  • Total Commits: 69
  • Total Committers: 3
  • Avg Commits per committer: 23.0
  • Development Distribution Score (DDS): 0.391
Past Year
  • Commits: 15
  • Committers: 2
  • Avg Commits per committer: 7.5
  • Development Distribution Score (DDS): 0.2
Top Committers
Name Email Commits
Zakir Durumeric z****d@g****m 42
Automated a****s 19
David Adrian d****n@g****m 8

Issues and Pull Requests

Last synced: about 1 year ago

All Time
  • Total issues: 5
  • Total pull requests: 1
  • Average time to close issues: 2 months
  • Average time to close pull requests: 9 minutes
  • Total issue authors: 5
  • Total pull request authors: 1
  • Average comments per issue: 1.4
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 0
  • Average time to close issues: about 2 months
  • Average time to close pull requests: N/A
  • Issue authors: 1
  • Pull request authors: 0
  • Average comments per issue: 1.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • lkarlslund (1)
  • yohhaan (1)
  • amreesh (1)
  • erifetavoke (1)
  • rauchg (1)
  • transporindo (1)
Pull Request Authors
  • dadrian (1)
Top Labels
Issue Labels
Pull Request Labels

Dependencies

.github/workflows/cron.yml actions
.github/workflows/update-data.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • google-github-actions/auth v1 composite