@dragonsdemesne
Thanks dude! Can you run it for 50% and 70% as well? *cough
Very easy; I only have to change one number in the program to change the win percentage. Similarly, to do it for 6,5, or 3 streaks for the other arena leagues, I only need to change 1 number.
I also thought of a way to remove the slight error due to the problem I mentioned in my last post. Instead of using one streak of 1000000 games as I did before, I use 25000 streaks of 40 games. This may seem like a subtle difference, since it's still 1 million games, but it (finally!) answers the exact question asked.
As I mentioned, because of this, it removes a few of the streaks and thus lowers the old numbers i had for 80% and 60% slightly, the reason being that what my old method's mathematics actually calculated was the case where if you finished the 40 games, and you had some rings lit, you would play a few more games to finish that streak until you either got a rare spin or lost a game. (which is probably what you'd do in real life, but whatever :p )
If you play 40 games, and your win rate per game is 90%, then on average you will have about 7.32 streaks of 4.
If you play 40 games, and your win rate per game is 80%, then on average you will have about 5.30 streaks of 4.
If you play 40 games, and your win rate per game is 70%, then on average you will have about 3.60 streaks of 4.
If you play 40 games, and your win rate per game is 60%, then on average you will have about 2.26 streaks of 4.
If you play 40 games, and your win rate per game is 50%, then on average you will have about 1.26 streaks of 4.
If you play 40 games, and your win rate per game is 40%, then on average you will have about 0.59 streaks of 4.
If you play 40 games, and your win rate per game is 30%, then on average you will have about 0.21 streaks of 4.
If you play 40 games, and your win rate per game is 20%, then on average you will have about 0.05 streaks of 4.
If you play 40 games, and your win rate per game is 10%, then on average you will have about 0.003 streaks of 4.
If your win rate is less than 10%, you need to find a new deck!
I ran these a couple times each, and the numbers again vary by about 0.01 or so, but they give a good enough idea. Increasing N in the code below will get a more precise number, at the expense of having the program take longer to run.
MATLAB code for the uber geeks:
N=25000;
B=zeros(1,N);
streak = 0;
rarewin = 0;
rarewinsum = 0;
for I = 1:N
for I=1:40
B(I) = rand;
if rand < 0.8
streak = streak + 1;
if streak == 4
streak = 0;
rarewin = rarewin + 1;
end
else
streak = 0;
end
end
streak=0;
rarewinsum = rarewinsum + rarewin;
rarewin=0;
end
rarewinsum/N
-Increase N to increase the simulation accuracy. (and require more CPU time to run; right now it takes my dinosaur computer about a second)
-On the line " if streak == 4" the 4 represents how long the streak needed is. So for bronze, you'd make this a 6, for silver a 5, for plat a 3.
-On the line " if rand < 0.8" the 0.8 in this case represents a deck with a win rate of 0.8, or 80%. Change this to match the win % you are looking for.
-On the line "for I=1:40" the 40 represents the 40 games. Change this to change the number of games played in one sitting.
This is a really interesting question, but unfortunately my math isn't strong enough!
I hope someone could give us the formula and explain it!
Sadly, I only ever took one statistics class in university, so my programming skills are stronger than my statistics skills, and I don't know how to come up with an exact formula. I could probably dig around in my books and figure it out, but it would require devoting several hours to the problem, whereas the program above took me maybe 15 minutes max to think up, write, run, and post about.