Ive managed to create the stat thanks to your suggestion. I called the column "cnt_players_ttl_tournaments" and the stat math is:
- Code: Select all
[spoil]((cnt_vpip / (cnt_hands - cnt_walks)) * 100)
/
((((((((cnt_players_ttl_tournaments / cnt_hands) - 5.5)
*
if( (cnt_players_ttl_tournaments / cnt_hands) > 5.5, 1, -1))
^1.637269609
)
*
-0.030539582)
+
(((cnt_players_ttl_tournaments / cnt_hands) - 5.5) * 0.220102953)
+
(((cnt_players_ttl_tournaments / cnt_hands) - 5.891537806
) * 0.002207278)
+
((((cnt_players_ttl_tournaments / cnt_hands)+3.134471994)^-1.389269485)
* 31.99016519)
+
-1.454670137)
*1.053970545)
* (cnt_players_ttl_tournaments / cnt_hands))
[/spoil]
What this does is adjust the VPIP to the average # of players dealt in the hands in question. It takes the ideal (taken as the average of all winning players in my database) VPIP for each # of dealt players in tournaments, and transforms it into a value that is pretty close to the same ideal value regardless of the # of players faced.
The base ideal values were:
VPIP Number of players dealt
25.57------ 9
23.62------ 8
24.43------ 7
25.57------ 6
28.1-------5
31.4------ 4
45.65------ 3
55.12------ 2
As you can imagine the math is complex and thus the weird algorithm. The algorithm after the simulations to find the best values transforms those values to:
VPIP #of Players
32.55------ 9
31.97------ 8
33.11------ 7
32.05------ 6
32.80 ------ 5
31.24 ------ 4
33.92 ------ 3
31.71 ------ 2
This is as close to the same number for all players dealt that I could get with as simple as code/math/algorithm I could design. We could then argue that an optimal DVPIP (Dynamic VPIP) is a range between 31.24-33.92 regardless of the # of players dealt.
The same algorithm (with different values ofc) can be used to create other dynamic stats, of which I think the most important ones are for preflop stats as they vary the most by # of players dealt.
Anyways, it all works excellent EXCEPT, on a report in the summary row, it does not show the average like most stats do, even If I create it as a duplicate of smth that does show the average on a report. What this shows instead of the average is either 0 or smth that looks like the sum of all. Im out of ideas of how to fix this, if anyone can help Id appreciate it.