Skip to content

Instantly share code, notes, and snippets.

@chsxf
Created June 3, 2024 19:08
Show Gist options
  • Save chsxf/a634dc8ab2772f3baa89e3a65deaec8f to your computer and use it in GitHub Desktop.
Save chsxf/a634dc8ab2772f3baa89e3a65deaec8f to your computer and use it in GitHub Desktop.
Steam GPU Stats

In 2021, Steam MAUs were 132 millions. I took the guess it would be about 160 millions in 2024. Then I used the Steam Hardware survey to evaluate how many GPU units were out there based on the percentage of each model. I tried to look for exact sales number for GPUs but never found them. That's the closest estimation I can think of in the gaming segment.

<?php
define('ESTIMATED_MAU', 160_000_000);
printf("Fetching Steam Hardware Survey Data... ");
$content = file_get_contents('https://store.steampowered.com/hwsurvey');
printf("Done\n\n");
define('HEADER', '<div class="stats_col_left">Video Card Description</div>');
$gpuStartHeader = strpos($content, HEADER);
define('ROWS_START', '<div class="stats_row_details" id="cat3_details">');
$gpuRowsStart = strpos($content, ROWS_START, $gpuStartHeader) + strlen(ROWS_START);
define('LAST_SEPARATOR', '<div class="stats_hr_clear">');
$lastSeparatorPos = strpos($content, LAST_SEPARATOR, $gpuRowsStart);
define('SEPARATOR', '<br clear="left" />');
$results = [];
$currentPos = $gpuRowsStart;
while (true) {
$nextSeparatorPos = strpos($content, SEPARATOR, $currentPos);
if ($nextSeparatorPos > $lastSeparatorPos) {
break;
}
$block = substr($content, $currentPos, $nextSeparatorPos - $currentPos);
preg_match('#<nobr>(.+)</nobr>#U', $block, $regs);
$cardName = isset($regs[1]) ? strip_tags($regs[1]) : 'UNKNOWN';
preg_match('#>(\d+\.\d+)%<#', $block, $regs);
$percentage = floatval($regs[1]) / 100;
$results[$cardName] = $percentage;
$currentPos = $nextSeparatorPos + strlen(SEPARATOR);
}
$maxNameLength = 0;
foreach ($results as $k => $v) {
$maxNameLength = max($maxNameLength, strlen($k));
}
printf("Estimated Steam MAUs: %dM\n\n", ESTIMATED_MAU / 1_000_000);
printf("Results on the %s:\n\n", date('Y-m-d'));
$header = sprintf("| %s | Share | Estimated Units |", str_pad('GPU Name', $maxNameLength));
printf("%s\n", $header);
printf("%s\n", str_pad('', strlen($header), '-'));
foreach ($results as $k => $v) {
$share = sprintf("%0.2f", $v * 100);
$units = sprintf("%0.2fM", (ESTIMATED_MAU * $v) / 1_000_000);
printf("| %-{$maxNameLength}s | %5s | %15s |\n", $k, $share, $units);
}
Fetching Steam Hardware Survey Data... Done
Estimated Steam MAUs: 160M
Results on the 2024-06-03:
| GPU Name | Share | Estimated Units |
-------------------------------------------------------------------
| NVIDIA GeForce RTX 3060 | 6.01 | 9.62M |
| NVIDIA GeForce GTX 1650 | 4.38 | 7.01M |
| NVIDIA GeForce RTX 3060 Ti | 3.73 | 5.97M |
| NVIDIA GeForce RTX 2060 | 3.64 | 5.82M |
| NVIDIA GeForce RTX 3070 | 3.59 | 5.74M |
| NVIDIA GeForce GTX 1060 | 3.46 | 5.54M |
| NVIDIA GeForce RTX 3060 Laptop GPU | 3.26 | 5.22M |
| NVIDIA GeForce RTX 3050 | 2.81 | 4.50M |
| NVIDIA GeForce RTX 4060 Laptop GPU | 2.75 | 4.40M |
| NVIDIA GeForce RTX 4060 | 2.73 | 4.37M |
| NVIDIA GeForce GTX 1050 Ti | 2.51 | 4.02M |
| NVIDIA GeForce RTX 4070 | 2.39 | 3.82M |
| NVIDIA GeForce GTX 1660 SUPER | 2.32 | 3.71M |
| NVIDIA GeForce RTX 3080 | 2.28 | 3.65M |
| NVIDIA GeForce RTX 4060 Ti | 2.23 | 3.57M |
| AMD Radeon Graphics | 2.21 | 3.54M |
| Intel Iris Xe Graphics | 2.03 | 3.25M |
| NVIDIA GeForce GTX 1660 Ti | 1.62 | 2.59M |
| Intel(R) UHD Graphics | 1.59 | 2.54M |
| NVIDIA GeForce RTX 3070 Ti | 1.53 | 2.45M |
| NVIDIA GeForce RTX 2060 SUPER | 1.30 | 2.08M |
| NVIDIA GeForce RTX 2070 SUPER | 1.30 | 2.08M |
| NVIDIA GeForce RTX 4070 Ti | 1.29 | 2.06M |
| NVIDIA GeForce GTX 1070 | 1.26 | 2.02M |
| NVIDIA GeForce GTX 1050 | 1.23 | 1.97M |
| UNKNOWN | 1.15 | 1.84M |
| AMD Radeon(TM) Graphics | 1.10 | 1.76M |
| NVIDIA GeForce RTX 3050 Ti Laptop GPU | 1.03 | 1.65M |
| NVIDIA GeForce GTX 1660 | 1.01 | 1.62M |
| NVIDIA GeForce RTX 4090 | 0.99 | 1.58M |
| NVIDIA GeForce RTX 2070 | 0.99 | 1.58M |
| AMD Radeon RX 580 | 0.91 | 1.46M |
| NVIDIA GeForce RTX 4080 | 0.84 | 1.34M |
| NVIDIA GeForce GTX 1080 | 0.83 | 1.33M |
| NVIDIA GeForce RTX 3080 Ti | 0.82 | 1.31M |
| AMD AMD Custom GPU 0405 | 0.80 | 1.28M |
| NVIDIA GeForce RTX 4050 Laptop GPU | 0.79 | 1.26M |
| AMD Radeon RX 6600 | 0.78 | 1.25M |
| NVIDIA GeForce RTX 3070 Laptop GPU | 0.77 | 1.23M |
| AMD Radeon RX 6700 XT | 0.74 | 1.18M |
| NVIDIA GeForce GTX 1650 Ti | 0.70 | 1.12M |
| AMD Radeon RX 5700 XT | 0.69 | 1.10M |
| NVIDIA GeForce RTX 3050 Laptop GPU | 0.65 | 1.04M |
| AMD Radeon RX 570 | 0.64 | 1.02M |
| NVIDIA GeForce RTX 3090 | 0.58 | 0.93M |
| NVIDIA GeForce GTX 1080 Ti | 0.56 | 0.90M |
| NVIDIA GeForce RTX 4070 SUPER | 0.56 | 0.90M |
| AMD Radeon Vega 8 Graphics | 0.55 | 0.88M |
| Intel UHD Graphics 620 | 0.53 | 0.85M |
| AMD Radeon RX 580 2048SP | 0.53 | 0.85M |
| NVIDIA GeForce GTX 1650 SUPER | 0.52 | 0.83M |
| NVIDIA GeForce RTX 2080 SUPER | 0.52 | 0.83M |
| NVIDIA GeForce RTX 4070 Laptop GPU | 0.47 | 0.75M |
| NVIDIA GeForce GTX 970 | 0.46 | 0.74M |
| NVIDIA GeForce RTX 2080 | 0.44 | 0.70M |
| AMD Radeon RX 6600 XT | 0.43 | 0.69M |
| NVIDIA GeForce GT 1030 | 0.41 | 0.66M |
| Intel UHD Graphics 630 | 0.41 | 0.66M |
| AMD Radeon RX 7900 XTX | 0.41 | 0.66M |
| NVIDIA GeForce GTX 1070 Ti | 0.40 | 0.64M |
| NVIDIA GeForce GTX 960 | 0.40 | 0.64M |
| NVIDIA GeForce RTX 2080 Ti | 0.39 | 0.62M |
| NVIDIA GeForce RTX 3070 Ti Laptop GPU | 0.37 | 0.59M |
| NVIDIA GeForce GTX 750 Ti | 0.36 | 0.58M |
| AMD Radeon RX 6750 XT | 0.35 | 0.56M |
| AMD Radeon RX 550 | 0.33 | 0.53M |
| AMD Radeon RX 6800 XT | 0.32 | 0.51M |
| AMD Radeon RX 6650 XT | 0.31 | 0.50M |
| Intel HD Graphics 520 | 0.30 | 0.48M |
| AMD Radeon Vega 3 Graphics | 0.30 | 0.48M |
| Intel HD Graphics 620 | 0.30 | 0.48M |
| AMD Radeon Graphics (RADV VANGOGH) | 0.30 | 0.48M |
| NVIDIA GeForce RTX 4080 SUPER | 0.28 | 0.45M |
| NVIDIA GeForce GT 730 | 0.27 | 0.43M |
| Intel HD Graphics 4600 | 0.26 | 0.42M |
| Intel UHD Graphics 600 | 0.26 | 0.42M |
| NVIDIA GeForce RTX 4070 Ti SUPER | 0.26 | 0.42M |
| Intel HD Graphics 4000 | 0.24 | 0.38M |
| AMD Radeon RX 6900 XT | 0.23 | 0.37M |
| AMD Radeon RX 5600 XT | 0.23 | 0.37M |
| NVIDIA GeForce RTX 2050 | 0.23 | 0.37M |
| NVIDIA GeForce RTX 3050 Ti | 0.23 | 0.37M |
| AMD Radeon RX 6800 | 0.22 | 0.35M |
| AMD Radeon RX 5500 XT | 0.21 | 0.34M |
| AMD Radeon (TM) Graphics | 0.20 | 0.32M |
| AMD Radeon RX 6500 XT | 0.19 | 0.30M |
| NVIDIA GeForce RTX 3080 Laptop GPU | 0.18 | 0.29M |
| AMD Radeon RX 480 | 0.18 | 0.29M |
| Intel Ivy Bridge | 0.18 | 0.29M |
| NVIDIA GeForce RTX 4080 Laptop GPU | 0.18 | 0.29M |
| Intel Haswell | 0.18 | 0.29M |
| NVIDIA GeForce GT 710 | 0.17 | 0.27M |
| NVIDIA GeForce 940M | 0.17 | 0.27M |
| NVIDIA GeForce GTX 960M | 0.17 | 0.27M |
| Intel HD Graphics 530 | 0.17 | 0.27M |
| NVIDIA GeForce RTX T10-8 | 0.16 | 0.26M |
| NVIDIA GeForce MX250 | 0.15 | 0.24M |
| NVIDIA GeForce MX450 | 0.15 | 0.24M |
| Intel HD Graphics 5500 | 0.15 | 0.24M |
| Other | 9.89 | 15.82M |
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment