The Tournament Director Forums
Main => Help Me => Topic started by: efdenny on April 15, 2018, 05:24:20 PM
-
Has anyone done the math on the 2018 WSOP POY formula? http://www.wsop.com/2018/POY/
-
Based on the $3k NLHE tournament, I found the math, and came up with the formula for the top 9.
round(switch(r,1,477.45,2,238.75,3,214.845,4,190.97,5,179.05,6,167.1,7,143.25,8,131.27,9,119.35)*pow(n,0.125))
I need help with the final parts of the equation.
next 20%: 95.49*pow(n,0.125)
next 30%: 47.745*pow(n,0.125)
next 50%: 23.875*pow(n,0.125)
-
So this is for the top 9 finishers? And 'next 20%' means the next 20% of finishers? So if there were 100 players, the "next 20%" would be ranks 10 through 29?
-
correct. In the actual WSOP, it would be next 20% of ITM players, but I'm wanting to modify for our league.
-
OK, here's what I came up with. I worked on this, realized I wasn't doing it right, started to re-work it, and had to leave for a while. Hours later I picked it back up, so I could be completely off in la-la-land at this point. Keep that in mind.
assign(p, n - 9)
assign(p20, round(p * .2))
assign(p30, round(p * .3))
round(switch(r,1,477.45,2,238.75,3,214.845,4,190.97,5,179.05,6,167.1,7,143.25,8,131.27,9,119.35)*pow(n,0.125))
+ if((r > 9) and (r <= 9 + p20), 95.49 * pow(n, 0.125))
+ if((r > 9 + p20) and (r <= p + 9 + p20 + p30), 47.745 * pow(n, 0.125))
+ if(r > p + 9 + p20 + p30, 23.875 * pow(n, 0.125))
First, "next 20%, 30%, 50%" implies that the remainder of the players, after the top 9, must add up to 100%. So those percentages are referring NOT to the total number of players in the tournament, but the players in the tournament minus the top 9.
So I found it easiest to compute the number of players remaining, and 20% of them and 30% of them. That makes the actual formula simpler. We don't need to compute 50% of them because that's simply what is left.
Essentially each line awards a "class" of player. Either you're in the top 9, or the next 20%, or the next 30%, or the next 50%. Any player will only qualify for one of those categories, so adding them up is fine, since 3 out of 4 will always evaluate to 0.
I hope the rest is self-explanatory. Let me know if there are questions. And check my math. The odds that I made a mistake are high. :)
-
Thanks! I'll try it out and let you know... thanks for the help!!
-
Not quite there... not sure what's missing, but it's only assigning points to the top 9.
-
Would you believe I worked on this and tested it to the extent that it didn't error, but didn't really see if the values were correct? I would.
The variable names in the "assign" statements need quotes:
assign("p", n - 9)
assign("p20", round(p * .2))
assign("p30", round(p * .3))
round(switch(r,1,477.45,2,238.75,3,214.845,4,190.97,5,179.05,6,167.1,7,143.25,8,131.27,9,119.35)*pow(n,0.125))
+ if((r > 9) and (r <= 9 + p20), 95.49 * pow(n, 0.125))
+ if((r > 9 + p20) and (r <= p + 9 + p20 + p30), 47.745 * pow(n, 0.125))
+ if(r > p + 9 + p20 + p30, 23.875 * pow(n, 0.125))
-
LOL! Much closer... just a bit off though.
As an example, for a 21 person tournament, taking the top 9 out because those are correct, the scores should have been:
10 & 11: 140
12-15: 70
16-21: 35
However, with this formula, 12-21 are all getting 70. Thoughts?
-
I figured it out... you don't actually need "p" in the last two parts of the formula:
assign("p", n - 9)
assign("p20", round(p * .2))
assign("p30", round(p * .3))
round(switch(r,1,477.45,2,238.75,3,214.845,4,190.97,5,179.05,6,167.1,7,143.25,8,131.27,9,119.35)*pow(n,0.125))
+ if((r > 9) and (r <= 9 + p20), 95.49 * pow(n, 0.125))
+ if((r > 9 + p20) and (r <= 9 + p20 + p30), 47.745 * pow(n, 0.125))
+ if(r > 9 + p20 + p30, 23.875 * pow(n, 0.125))
-
Dangit, I just came to the same conclusion but didn't look to see that you had figured it out first.
Also, you wanted it rounded, which I omitted. So just take the close parentheses off the end of the first line (after the assigns) and put it at the end:
assign("p", n - 9)
assign("p20", round(p * .2))
assign("p30", round(p * .3))
round(switch(r,1,477.45,2,238.75,3,214.845,4,190.97,5,179.05,6,167.1,7,143.25,8,131.27,9,119.35)*pow(n,0.125)
+ if((r > 9) and (r <= 9 + p20), 95.49 * pow(n, 0.125))
+ if((r > 9 + p20) and (r <= 9 + p20 + p30), 47.745 * pow(n, 0.125))
+ if(r > 9 + p20 + p30, 23.875 * pow(n, 0.125)))
-
Thanks again for your help!! I really appreciate it...