Jump to content


Statistical analysis: Expected number of win/loss streaks

Statistics Analysis Streaks Simulation

  • Please log in to reply
49 replies to this topic

jylpah #1 Posted 14 January 2019 - 09:15 PM

    First Sergeant

  • Player
  • 22275 battles
  • 5,124
  • [AFK]
  • Member since:
    08-05-2014

Hy Forum Campers,

 

It is the time of the month again when MM is a hot topic, noobs are always in the green team and everyone is personally targeted by WG whatever. Therefore I decided to run a quick simulation to show the expected number of win/loss streaks over a number of games. The results depend on the assumptions and I chose the numbers based on a prominent "exiled" forum figure. You may guess who. 

 

I assumed:

  • WR 62%
  • 30 battles per day
  • 1% draw rate (average draw rate of 90,000 BlitzStars players)
  • Individual battles are "independent" in terms that the result of previous battles do not impact the result of a battle. However, I do believe there IS auto-correlation between consecutive battles since the e.g. results tend to impact players' mood and patience. 

 

Then let the random function (Octave discrete_rnd()) to generate battle results with these assumptions and averaged the results over 10,000 simulations. The results are plotted below. The blue curve shows the average number of streaks (win or loss) per a day, the orange once days to meet a curve length of N. Please note, these are NOT numbers from  any battles or of any player, but these are simulated results assuming.

 

 

The same as data table:

 

Streak Length Streaks per Day Days to have a Streak
1 7.8 0
2 3.4 0
3 1.7 0.6
4 0.8 1.2
5 0.5 2.1
6 0.3 3.9
7 0.1 6.7
8 0.1 11
9 0.0 20
10 0.0 33
11 0.0 56
12 0.0 91
13 0.0 137
14 0.0 250
15 0.0 500
16 0.0 667
17 0.0 1000
18 0.0 2500
19 0.0 3333
20 0.0 5000

 

As you may notice, one should get one 5 battle win or loss streak every second day and a four battle win or loss streak every day. 8 battle streak happens on average three times a month (every 11th day) and ten battle streak once a month.

 

If the streaks are in practice more common, there is auto-correlation in play and that can be because of the player or of the game itself. There is more research to come, stay tuned. :B

 

Meanwhile if someone has curiosity and bit free time you may experiment yourself. My Matlab / Octave script is below. Octave can be downloaded for free here.

Block Quote

 # Win/Loss Streaks

# Canny stats :)
Nbattles = 30 # battles per day
WR = 62;  
N = 10000
max_streak = 20;
log = zeros(max_streak, 2 ) ;

wr = WR/100
dr = 0.01
lr = 1 - dr - wr

for i = 1:N
  # simulate Nbattles (1000) battles
  battles = discrete_rnd([-1 0 1], [ lr dr wr], [1, Nbattles] ) ;
  # Run Length Encoding https://en.wikipedia...length_encoding
  a = rle(battles) ;
 
  for j = 1:max_streak
    # count streaks of j length
    log( j , 2 ) += sum(a{2} == j) ;   
  endfor    
 
endfor

# calculate averages
log = log ./ N
log( : , 1 ) = 1:max_streak
# days to have a streak length of X
log( : , 3 ) = 1 ./ log( : , 2 )

 

The RLE function used can be downloaded here.

 

Also, interesting reading about streaks and probabilities is here.

 

 

 

 

 

 

 


BlitzAnalysiz.com  In-depth analysis of WoT Blitz game statistics

Jylpah @EU  Jylpah @Asia  Blitz-tools  


jylpah #2 Posted 14 January 2019 - 09:21 PM

    First Sergeant

  • Player
  • 22275 battles
  • 5,124
  • [AFK]
  • Member since:
    08-05-2014

Here is the same data for 55% player. Please note the very long streaks are too rare for the simulation to give accurate estimate. I would need to run more simulation rounds, but too lazy.

 

(updated with 100,000 simulation rounds)

 
Streak Length Streaks per Day Days to have a Streak
1 8.3 0.12
2 3.8 0.26
3 1.8 0.55
4 0.88 1.1
5 0.43 2.3
6 0.22 4.6
7 0.11 9.3
8 0.054 19
9 0.026 38
10 0.014 72
11 0.0072 139
12 0.0037 270
13 0.0020 510
14 0.0010 1020
15 0.00060 1667
16 0.00033 3030
17 0.00015 6667
18 0.000050 20000
19 0.000020 50000
20 0 Inf

Edited by jylpah, 15 January 2019 - 08:13 PM.

BlitzAnalysiz.com  In-depth analysis of WoT Blitz game statistics

Jylpah @EU  Jylpah @Asia  Blitz-tools  


Punapanda #3 Posted 14 January 2019 - 09:51 PM

    Junior Sergeant

  • Player
  • 46176 battles
  • 126
  • [PINK]
  • Member since:
    12-08-2014
I think am getting much more streaks than this. Sometimes it's bad luck with teams, sometimes psychological. Nice work though. :) 

gallabru #4 Posted 14 January 2019 - 10:43 PM

    Senior Sergeant

  • Player
  • 17980 battles
  • 641
  • [LAGER]
  • Member since:
    09-01-2016

I had one like this in excel using their alea function to create teams with random wr to check what the relative distribution of wr and average wr difference was. 

I should recode that in matlab to have a larger set. 

 

Anyway, great job again. 


My team stats in real time  : http://forum.wotblit...ats-repository/

Carlsberg clan family is recruiting. Contact us.


llo1 #5 Posted 14 January 2019 - 11:08 PM

    First Sergeant

  • Player
  • 30162 battles
  • 6,304
  • [1RTR]
  • Member since:
    06-27-2014
Nice one...but did you take into account the number of players in a game, their wr, their Afk rate and their influence on the outcome of the battle.....all of which might in my opinion, increase the frequency and length of the win/loss streaks!

EL54DOG #6 Posted 14 January 2019 - 11:31 PM

    Lance-corporal

  • Player
  • 7765 battles
  • 97
  • [HFORC]
  • Member since:
    11-14-2017

2A9132C6-624A-4A9E-B079-F6477DEE8FBC.jpeg

Today I had my second 11 win streak in a month (31 days). It was actually a 12 then an 11 win streak. I’m a 59% player. These up and down stats are really something. :))

 

 


Edited by EL54DOG, 14 January 2019 - 11:40 PM.


llo1 #7 Posted 15 January 2019 - 06:29 AM

    First Sergeant

  • Player
  • 30162 battles
  • 6,304
  • [1RTR]
  • Member since:
    06-27-2014

View PostEL54DOG, on 14 January 2019 - 11:31 PM, said:

2A9132C6-624A-4A9E-B079-F6477DEE8FBC.jpeg

Today I had my second 11 win streak in a month (31 days). It was actually a 12 then an 11 win streak. I’m a 59% player. These up and down stats are really something. :))

 

 

 

I would think they were also very time based, as well as tank based, side effects.....what tanks were you using during each streak, what time of day, and essentially what teams were they......all higher wr on one side or the other?

I have found that in my case when my connection is good (not very often I admit) generally losses are seriously influenced by the other players, afk or simply ones who try! Etc



I_Fought_the_Law #8 Posted 15 January 2019 - 07:28 AM

    Senior Sergeant

  • Player
  • 2295 battles
  • 814
  • Member since:
    09-26-2018
My loss streaks almost always coincide with around 30% increase in shots bouncing, however if I continue to win that will rise to around 50% on rare occasions.

Edited by I_Fought_the_Law, 15 January 2019 - 07:29 AM.


EL54DOG #9 Posted 15 January 2019 - 07:53 AM

    Lance-corporal

  • Player
  • 7765 battles
  • 97
  • [HFORC]
  • Member since:
    11-14-2017

View Postllo1, on 15 January 2019 - 06:29 AM, said:

 

I would think they were also very time based, as well as tank based, side effects.....what tanks were you using during each streak, what time of day, and essentially what teams were they......all higher wr on one side or the other?

I have found that in my case when my connection is good (not very often I admit) generally losses are seriously influenced by the other players, afk or simply ones who try! Etc

 

Same three or four tanks. Mostly my Scorpion........ probably 80%. I only have 9 tanks in my garage.

 

Same time each day and doesn’t make any difference that I’ve noticed. The ups and downs are a day by day thing.


Edited by EL54DOG, 15 January 2019 - 07:56 AM.


Replicant_2 #10 Posted 15 January 2019 - 08:14 AM

    First Sergeant

  • Player
  • 9605 battles
  • 1,027
  • [HRG]
  • Member since:
    10-08-2018

View PostEL54DOG, on 14 January 2019 - 11:31 PM, said:

2A9132C6-624A-4A9E-B079-F6477DEE8FBC.jpeg

Today I had my second 11 win streak in a month (31 days). It was actually a 12 then an 11 win streak. I’m a 59% player. These up and down stats are really something. :))

 

 

 

You get swings of about 10 percentage points up and down (min-max is closer to 18 but not in a single swing), that doesn’t strike me as excessive.

the graph is exaggerated by trucating the wr axis to the range present in the data set.

put the same data points on a graph with a 0-100% wr axis and it will look a lot less exciting 

 

For illustration, take a perfectly neutral 50% wr and let’s say 10 battles per hour. Changing just one battle result takes your wr to either 40 or 60%.    Just a handful of battles in a day can take your periodic wr up or down by quite a margin, it’s the trend line over long time that matters.


Edited by Replicant_2, 15 January 2019 - 08:28 AM.

All those moments will be lost in time, like tears in rain.

Time to die.


EL54DOG #11 Posted 15 January 2019 - 09:36 AM

    Lance-corporal

  • Player
  • 7765 battles
  • 97
  • [HFORC]
  • Member since:
    11-14-2017

View PostReplicant_2, on 15 January 2019 - 08:14 AM, said:

 

You get swings of about 10 percentage points up and down (min-max is closer to 18 but not in a single swing), that doesn’t strike me as excessive.

the graph is exaggerated by trucating the wr axis to the range present in the data set.

put the same data points on a graph with a 0-100% wr axis and it will look a lot less exciting 

 

For illustration, take a perfectly neutral 50% wr and let’s say 10 battles per hour. Changing just one battle result takes your wr to either 40 or 60%.    Just a handful of battles in a day can take your periodic wr up or down by quite a margin, it’s the trend line over long time that matters.

 

......but why am I a noob on a Monday, a super Unicom on a Tuesday, a noob on a Wednesday etc etc. Because that’s what’s happening. 

Replicant_2 #12 Posted 15 January 2019 - 09:51 AM

    First Sergeant

  • Player
  • 9605 battles
  • 1,027
  • [HRG]
  • Member since:
    10-08-2018

View PostEL54DOG, on 15 January 2019 - 09:36 AM, said:

 

......but why am I a noob on a Monday, a super Unicom on a Tuesday, a noob on a Wednesday etc etc. Because that’s what’s happening. 

 

Split personality disorder? Or in moder terms “win rate fluid”


Edited by Replicant_2, 15 January 2019 - 09:58 AM.

All those moments will be lost in time, like tears in rain.

Time to die.


Dreadbane #13 Posted 15 January 2019 - 10:07 AM

    Senior Sergeant

  • Player
  • 25792 battles
  • 537
  • [III-S]
  • Member since:
    05-10-2016

View PostEL54DOG, on 15 January 2019 - 09:36 AM, said:

 

......but why am I a noob on a Monday, a super Unicom on a Tuesday, a noob on a Wednesday etc etc. Because that’s what’s happening. 

 

I am a noob on monday, tuesday, wednesday, thursday, friday, saturday...and twice on sunday...

Mjr_Eazy #14 Posted 15 January 2019 - 10:07 AM

    First Sergeant

  • Player
  • 31860 battles
  • 7,275
  • [BT_SV]
  • Member since:
    04-26-2017
On your daily number of battles, you’re going to have a 10% margin of error so statistically speaking the swings are not significant as they’re in the expected range, I know that doesn’t make the losses any more enjoyable, your data would be interesting to analyse if you could run Jylpah’s scripts like I do, as it would give a comparison between an average/7 days a week noob player like me and a good one like you and maybe we could identify something that explains it and who knows even prove rigging/manipulation against better players...

Edited by Mjr_Eazy, 15 January 2019 - 10:08 AM.

547146227.png

 


jylpah #15 Posted 15 January 2019 - 10:17 AM

    First Sergeant

  • Player
  • 22275 battles
  • 5,124
  • [AFK]
  • Member since:
    08-05-2014

View Postgallabru, on 15 January 2019 - 12:43 AM, said:

I had one like this in excel using their alea function to create teams with random wr to check what the relative distribution of wr and average wr difference was. 

I should recode that in matlab to have a larger set. 

 

Anyway, great job again. 

 

Hy! Could you please tell bit more about this? 

 

I have earlier simulated battles with random team selection and player population estimated from  Blitzstars data. I used simple team strength = sum of member skill formula and I think it worked “OK”. Estimates for player skill were estimated backwards from their WR. 


BlitzAnalysiz.com  In-depth analysis of WoT Blitz game statistics

Jylpah @EU  Jylpah @Asia  Blitz-tools  


jylpah #16 Posted 15 January 2019 - 10:19 AM

    First Sergeant

  • Player
  • 22275 battles
  • 5,124
  • [AFK]
  • Member since:
    08-05-2014

View PostPunapanda, on 14 January 2019 - 11:51 PM, said:

I think am getting much more streaks than this. Sometimes it's bad luck with teams, sometimes psychological. Nice work though. :) 

 

Hi, I also “think” streaks are more common, but I am testing it now. Just wanted to see what is the expectation for streaks assuming random, independent battles. 

BlitzAnalysiz.com  In-depth analysis of WoT Blitz game statistics

Jylpah @EU  Jylpah @Asia  Blitz-tools  


jylpah #17 Posted 15 January 2019 - 10:23 AM

    First Sergeant

  • Player
  • 22275 battles
  • 5,124
  • [AFK]
  • Member since:
    08-05-2014

View PostI_Fought_the_Law, on 15 January 2019 - 09:28 AM, said:

My loss streaks almost always coincide with around 30% increase in shots bouncing, however if I continue to win that will rise to around 50% on rare occasions.

 

Meanwhile I am recording a set of consecutive battles in Mäuschen. I plan to run different tests to see whether RNG or MM treats me differently based on previous wins/losses. 

BlitzAnalysiz.com  In-depth analysis of WoT Blitz game statistics

Jylpah @EU  Jylpah @Asia  Blitz-tools  


gallabru #18 Posted 15 January 2019 - 11:03 AM

    Senior Sergeant

  • Player
  • 17980 battles
  • 641
  • [LAGER]
  • Member since:
    09-01-2016

I will try to paste the graph (only 50 games) later

 

Here is the Matlab code (comments are not necessarily my view). I used the Matlab generator instead of a Box-Muller transform. I assumed Matlab was doing better.



For 100000 battles, numerically you get 3% of unfair games (my definition was that the difference in averages WR of teams is larger than the distribution of WR across all players), 0.4% of noob teams (best WR below 48%). These were calculated as unfair_game/sample and noob_team/sample.

 

Obviously and funnily, the number of noob team increases rapidly with the WR of the player if he forgets to take his contribution to the team's statistics.

 

3% of 'unfair games'... say a typical clan has 40 members, 5 games a day... everyday, you get 6 rants in your chat about unfair games.

 

edit : sorry, if I paste the code, the signs are considered as emoticones. If you tell me how to avoid that...

re-edit : oops, a typo. Obviously in the comments, I always consider the best player of 'my' team


Edited by gallabru, 15 January 2019 - 11:19 AM.

My team stats in real time  : http://forum.wotblit...ats-repository/

Carlsberg clan family is recruiting. Contact us.


kaatraan #19 Posted 15 January 2019 - 11:55 AM

    Lance-corporal

  • Player
  • 2970 battles
  • 73
  • Member since:
    12-06-2018
Too much effort and data analisys for such an arcade crap.

gallabru #20 Posted 15 January 2019 - 01:12 PM

    Senior Sergeant

  • Player
  • 17980 battles
  • 641
  • [LAGER]
  • Member since:
    09-01-2016

you coud add

stupid_MM=sum(reshape(max(teams(:,1,:)),[sample,1])<reshape(min(teams(:,2,:)),[sample,1])); % The best player is my team is worse than the worse player in red team

disp(['So unfair = ' num2str(100*unfair_game/sample) '%']);
disp(['Too many noobs = ' num2str(100*noob_team/sample) '%']);
disp(['It is rigged = ' num2str(100*stupid_MM/sample) '%']);


Over 10E6 realizations on gets :

So unfair = 3.0457%
Too many noobs = 0.3261%
It is rigged = 0.0291%

 

 

edit : editing Matlab here is funny, at least


Edited by gallabru, 15 January 2019 - 01:13 PM.

My team stats in real time  : http://forum.wotblit...ats-repository/

Carlsberg clan family is recruiting. Contact us.






Also tagged with Statistics, Analysis, Streaks, Simulation

1 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users