Using Effective Stack

Discuss how to create custom stats, reports and HUD profiles and share your creations.

Moderators: WhiteRider, kraada, Flag_Hippo, morny, Moderators

Using Effective Stack

Postby Gambleman101 » Fri May 04, 2018 3:21 pm

Hello I have a question about using tourney_hand_player_statistics.amt_p_effective_stack. I've created a custom stat which shows the % of the time that the SB calls a BTN shove. I have several versions of this stat filtered by effective stack size. I'm trying to use this for population analysis as I'm interested in improving my button shoving range in MTT's. As such I want the stat to filter by the effective stack of BTN rather than the effective stack of SB. Does that make sense? If so then how can I do this - is there a way to get the effective stack of the aggressor rather than the caller? As a concrete example if BTN = 1500, SB = 3000, BB = 3000 the stat would pick this up when the filters included effective stack of 3000 but I want the stat to pick this up as an effective stack of 1500. Many thanks for any help on this HOldme
Gambleman101
 
Posts: 19
Joined: Tue Nov 05, 2013 12:52 pm

Re: Using Effective Stack

Postby WhiteRider » Sat May 05, 2018 3:29 am

That would probably be possible with a more advanced subquery, but not with normal database fields, and that's somewhat beyond my knowledge and the scope of our support. One of the PostgreSQL experts on this forum may be able to help you out though.
WhiteRider
Moderator
 
Posts: 53972
Joined: Sat Jan 19, 2008 7:06 pm
Location: UK

Re: Using Effective Stack

Postby Gambleman101 » Mon May 07, 2018 3:20 pm

Ok no worries - the more I think about it I'm not sure the value added will be worth the work. Would you be willing to take a look at my code? I'm concerned about there being bugs in there as I don't fully understand all the terms (I wrote this by adapting a real stat). Here is an example column called cnt_p_sb_v_btn_call_SHOVE_9BB_12BB - it's supposed to count the number of times SB calls a BTN SHOVE when effective stacks are between 9 and 12BB:
Code: Select all
sum(if[tourney_hand_player_statistics.position=9 AND tourney_hand_player_statistics.amt_p_raise_facing> 0.5 * tourney_hand_player_statistics.amt_p_effective_stack
AND (tourney_hand_player_statistics.amt_p_effective_stack / tourney_blinds.amt_bb) >= 9
AND (tourney_hand_player_statistics.amt_p_effective_stack / tourney_blinds.amt_bb) < 13
AND tourney_hand_player_statistics.flg_blind_def_opp AND lookup_actions_p.action='C' AND tourney_hand_player_statistics.val_p_raise_aggressor_pos=0, 1, 0])
I can see now that there are likely issues with the second term which uses effective stack to define if BTN moved all in or not (here I am trying to say he is all in if he bet more than half his stack). Do you know a better way to code this? Also is the 5th term which flags blind defense strictly needed as I have already defined the players position as SB and the aggressors as BTN? I'd really appreciate any insight you can help provided here. Many thanks HOldme
Gambleman101
 
Posts: 19
Joined: Tue Nov 05, 2013 12:52 pm

Re: Using Effective Stack

Postby Flag_Hippo » Tue May 08, 2018 12:06 pm

Gambleman101 wrote:I can see now that there are likely issues with the second term which uses effective stack to define if BTN moved all in or not (here I am trying to say he is all in if he bet more than half his stack).

The effective stack for each player is determined at their first action in the hand and it's the amount a player can potentially lose so this will not work as the effective stack for the SB could be determined by the stack of the BB who is yet to act.
Gambleman101 wrote:Also is the 5th term which flags blind defense strictly needed as I have already defined the players position as SB and the aggressors as BTN?

This specifies that SB faced a steal (BTN raises first in) so if you want to include hands which were not a steal (another player limped or raised before the BTN) then you should remove it. If you do remove this part then this can also further influence the effective stack size for the SB based on the stacks of any players before the BTN who entered the pot.
Gambleman101 wrote:Do you know a better way to code this?

If you want to count only 2Bets from the BTN you can test for the size of the 2Bet faced using this:

Code: Select all
(tourney_hand_player_statistics.amt_p_2bet_facing + tourney_hand_player_statistics.amt_blind / tourney_blinds.amt_bb) BETWEEN 9 and 13

This does not use effective stacks at all (although most 2Bets of this size from the BTN would be shoves anyway) but you can specify that the SB faced an all-in using tourney_hand_player_statistics.enum_face_allin SIMILAR TO '(p|P)'. This will not count hands where the BTN raised more than half but less than their full stack (unless such a raise effectively puts the SB all-in based on their own stack size). You should also note that lookup_actions_p.action='C' AND tourney_hand_player_statistics.val_p_raise_aggressor_pos=0 means that the final preflop aggressor was the BTN and the SB only called once so this will not currently count hands where the SB called a BTN raise and then was faced with another raise from the BB or an earlier position.
Flag_Hippo
Moderator
 
Posts: 14507
Joined: Tue Jan 31, 2012 7:50 am

Re: Using Effective Stack

Postby Gambleman101 » Wed May 09, 2018 9:19 am

Ok thanks Hippo! lots of useful info there for me to get into. I'll start with this:
Flag_Hippo wrote:
Gambleman101 wrote:Gambleman101 wrote:
Also is the 5th term which flags blind defense strictly needed as I have already defined the players position as SB and the aggressors as BTN?

This specifies that SB faced a steal (BTN raises first in) so if you want to include hands which were not a steal (another player limped or raised before the BTN) then you should remove it. If you do remove this part then this can also further influence the effective stack size for the SB based on the stacks of any players before the BTN who entered the pot.
I'm interested in "steal hands" so yeah I need it in. What is defined as a steal? Is it simply if the blinds face a single raise or does that single raise need to come from CO/BTN/SB? For example if I created a similar stat where the lead aggressor was say UTG then will the blind defense flag work or do I need something else? Thanks again for your help on this, Holdme
Gambleman101
 
Posts: 19
Joined: Tue Nov 05, 2013 12:52 pm

Re: Using Effective Stack

Postby Flag_Hippo » Wed May 09, 2018 3:02 pm

Gambleman101 wrote:What is defined as a steal? Is it simply if the blinds face a single raise or does that single raise need to come from CO/BTN/SB?

A steal is an open-raise from the CO, BTN or SB so hands where another player enters the pot before then are not classified as steal attempts. Also if a player enters the pot after the open-raise that negates the steal defend opportunity e.g. if the SB calls/3Bets a BTN open-raise then the SB faces a steal but the BB does not.
Gambleman101 wrote:For example if I created a similar stat where the lead aggressor was say UTG then will the blind defense flag work or do I need something else?

If UTG raises then the blinds will not be facing a steal so you wouldn't want to use tourney_hand_player_statistics.flg_blind_def_opp. The aggressors and actors strings can be used to specify what positions raised and/or called in a hand and there is further information about that in this post.
Flag_Hippo
Moderator
 
Posts: 14507
Joined: Tue Jan 31, 2012 7:50 am


Return to Custom Stats, Reports and HUD Profiles

Who is online

Users browsing this forum: No registered users and 19 guests

cron
highfalutin