Ratio between players who have played in the last 3 months or not.
Display a pie chart with the 2 values and their respective ratio.
None identified.
This chart represent on x,y,z axis:
This chart uses a logarithmic scale. The high number of players playing just for one or two months makes it necessary.
Here is how this graph is computed
Last Battle date must not be misinterpreted for “player left game” date, specially for the most recent months.
The chart displays the following counts for each month:
The number are computed as follows:
The last 2 months are not displayed.
A player who played his last battle this month (red) does not equate to a player leaving the game.
A reasonable assumption would be that players who have not been active for just a few months are likely to come back. On the other hand, a player who last played 2 or 3 years ago has likely left the game for good (but returning players do exist).
Please keep these caveats in mind when interpreting the red portion of the graph, as it does not directly indicate a definitive loss of players.
This chart illustrates the net difference between the number of accounts created and the number of players who played their last battle in each month.
The numbers displayed on the chart are calculated using the following methodology:
The last 2 months are not displayed.
As for the previous graph, “last battle date” doesn’t equate to “player left the game date”.
This means that:
This is especially true for more recent months.
Please keep these caveats in mind when interpreting this chart, as it does not directly indicate a definitive loss of players.
Estimation of the number of random battles per month.
/stats/average_monthly_battles.go
This chart is computed as follows:
It’s important to consider the following caveats when interpreting the chart:
Please keep these caveats in mind when analyzing the chart, as it provides only an estimate and may not reflect the actual distribution of battles.
The blue curve in the graph represents the distribution of players based on their win rate, considering only players who have reached a minimum number of battles.
Each point (x, y) on the graph represents the following:
The green curve represents the Normal Distribution, which is obtained using the population’s average win rate and its standard deviation.
The graph’s subtitle displays the following information:
By visualizing this graph, you can observe the distribution of players’ win rates and compare it to the expected Normal Distribution based on the population’s average win rate and standard deviation.
Due to a large number of players having a low battle count, the distribution of Win Rates is not evenly spread.
For instance, if many players have only 4 battles, the graph will show spikes at 0% (0/4), 25% (1⁄4), 50% (2⁄4), 75% (3⁄4), and 100% (4⁄4) win rates. As a result, when considering low minimum battle thresholds, the charts may appear “spiky” around these win rate values. To partially compensate for this effect, wider steps are used in the charts with lower battle thresholds. This helps to smooth out the spikes and provide a clearer representation of the distribution.
With higher minimum battle thresholds, this issue disappears.
Keep in mind it’s a simple player distribution.
As it’s more likely to encounter a frequent player with 2000, 5000 or +10000 battles, specially at high tiers, this chart doesn’t reflect what your MM looks like.
This is especially true for the chart using the lowest threshold (1 battle) as it contains all the players trying the game for a few battles and leaving after that (not to mention protected MM bellow 200 battles).
See Previous chart(s) description.
See Previous chart(s) description.
Displays the average Win Rate by battle count (steps of 500 battles)
We ignore players with less than 30000 (not enough players with that many battle for the average to be significant)
None identified.
Displays the proportion of hidden profiles.
None identified.
TODO
None identified.
Plot a random sample (5000 entries) of players by “solo+div win rate” x “div win rate”.
Each blue dot is a player, with the following coordinates:
The green line represent “win rate” = “div win rate”.
If a player’s dot is above this line, the player has a better division win rate.
If a player’s dot is bellow this line, the player win rate than division win rate.
None identified.
Count the number of players by number of battles (range of 500).
This chart uses a logarithmic scale.
/stats/player_random_battle_chart.go
None identified.
Estimation of the number of active players each month.
Take each months an account was created (trick to get all the individual months in the lifespan of the game). For each month, count the number of players who have created their account before the end of the month and have their last battle after the last day of the month.
This graph is problematic, counting a player “active” only based on account creation date and last battle date is too much of an approximation.
It over-estimates the number of active players, making for a misleading graph.
This chart will be removed.
The chart displays the following counts for each month:
The number are computed as follows:
The last 2 months are not displayed.
As for the previously mentioned, “last battle date” doesn’t equate to “player left the game date”. So “losses” are over-estimated
In addition, players are not “born” with 200 or 2000 battles.
On average a player plays ~1 battle per day (between account creation and last battle date), this means it takes ~6 months to reach 200 battles.
This means “gains” are under-estimated
This chart will be removed.
This graph might get replaced an estimation based on the battle per day distribution.
This chart illustrates the net difference between the number of accounts created and the number of players who played their last battle in each month.
The players must have, presently, the minimum number of battles specified.
Same as before, but worse, here we under-estimate account creations and over-estimate losses.
This double approximation renders this chart far too approximative.
This chart will be removed.
See Previous chart(s) description.
See Previous chart(s) description.
You can find the code in the following file: wows.go.
To collect player statistics, the code utilizes the WoWs API provided by Wargaming.
However, due to limitations in the API, it is not possible to retrieve a complete list of all players directly. Instead, a search endpoint is available, which allows searching for players based on a nickname prefix. The prefix must have a minimum length of 3 characters, and the API returns a maximum of 100 profiles sorted alphabetically.
To overcome these limitations, a creative algorithm is implemented with the following steps:
_
”), reduce the prefix size by 1 and move to the next prefix.Once all the players are retrieved using this method, an iteration is performed to gather additional details such as the number of battles, account creation date, etc. Clans are also scanned.
Additionally, the code includes a clean-up process to identify and remove potential QA/test accounts created by Wargaming. These accounts exhibit similar nickname patterns and identical statistics. Examples of these patterns are “pt*tpt,” “lp_ru_prod*,” and “auto_*.” On the European server alone, there are approximately 330,000 such accounts.
The implementation of this algorithm is complex and error-prone. However, the code has successfully collected the following player counts (as of 2023/05/24) which looks consistent:
Please note that running the complete data collection process for each server takes a considerable amount of time, approximately 1 to 2 days per server.
This project collects data and generate the present report once per month, toward the end of the month.
Apparently, accounts which were migration from CIS to EU where migrated in full, including account creation date.
This means that charts related to accounts on the EU server are actually:
This is why no spikes are visible around that time.
Clans were recreated fresh however.
This project is on going and still early on. New charts will be added, problematic charts will be deleted and existing charts tweaked/improved.
This project will also improve over time by having a data history. One of its big flaw currently is the lack of historic data, which leads to numerous approximations.
With historic data, these approximations will partially disappear over time.