woctezuma / steam-player-level-percentiles

Query and analyze percentiles of player levels on Steam.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About

Query and analyze percentiles of player levels on Steam.

License:MIT License


Languages

Language:Python 100.0%