Skip to content

woctezuma/steam-player-level-percentiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Steam Player Level Percentiles

This repository contains Python code to query percentiles of player levels, to infer the total number of Steam players.

Illustration cover

Requirements

  • Install the latest version of Python 3.X.
  • Install the required packages:
pip install -r requirements.txt

Usage

python player_levels.py

To apply the method to achievement unlock percentages, run:

python achievements.py --app-id 788100

Assumption

Let us assume that, in order to compute the percentages, Valve:

  • divides the total number of players by 100,
  • then truncates it.

For instance, with 16,483,473 players at level 1, and 104,857,600 players in total, then the percentile would be:

16,483,473 / 1,048,576 ~ 15.719864845275879

which is finally displayed as:

https://api.steampowered.com/IPlayerService/GetSteamLevelDistribution/v1/?player_level=1
{
  "response": {
    "player_level_percentile": 15.719864845275879
  }
}

Results

Least Common Multiple: 1048576

Following our assumption, this would mean that the total number of Steam players is a multiple of 104,857,6XY, where XY are unknown digits. This is not super useful info.😅

Truncation

Note

Interestingly, the least common multiplier is a power of 2.

$$ 1048576 = 1024^2 = 2^{20} $$

This could indicate a truncation of the numbers in binary representation, which would prevent the estimation of a total number of Steam players of the order $2^{28} - 2^{30}$, i.e. hundreds of millions.

References