Help with Total Isolate Calculation in 3-Max Considering Eff

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

Moderators: WhiteRider, kraada, Flag_Hippo, morny, Moderators

Help with Total Isolate Calculation in 3-Max Considering Eff

Postby TIGANCIC » Fri Dec 27, 2024 8:31 am

Hello,

I am trying to create a custom statistic in PokerTracker 4 to calculate Total Isolate in a 3-max format under the following conditions:

I am on the Small Blind (SB) and limp.
The Big Blind (BB) isolates my limp.
The Button (BTN) folds preflop.
The calculation should account for specific ranges of effective stacks, for example:
10–12 BB,
15–17 BB.
I would like to know how to properly structure the SQL query for this statistic to:

Accurately account for the 3-max format.
Segment the statistic by effective stack ranges.
Combine the conditions for SB limp, BB isolate, and BTN fold correctly.
If possible, I would greatly appreciate an example or detailed guidance on how to implement this.

Thank you in advance for your help!
TIGANCIC
 
Posts: 27
Joined: Fri Dec 20, 2024 8:00 am

Re: Help with Total Isolate Calculation in 3-Max Considering

Postby TIGANCIC » Fri Dec 27, 2024 12:07 pm

Additional Note:

Here’s the current version of the custom stat I’ve created so far. I’d like to confirm if I’m moving in the right direction with this approach and if there are any improvements or best practices I should consider.

Thank you for your time and guidance!
(tig f) BB ISO SB
Code: Select all
(tig_bb_iso_sb_limp / tig_bb_facing_sb_limp) * 100

tig_bb_iso_sb_limp
Code: Select all
sum(if[tourney_hand_player_statistics.flg_p_first_raise AND NOT(tourney_hand_player_statistics.flg_p_open_opp) AND tourney_hand_summary.str_aggressors_p SIMILAR TO '8%' AND tourney_hand_summary.str_actors_p SIMILAR TO '9%', 1, 0])

tig_bb_facing_sb_limp
Code: Select all
sum(if[tourney_hand_player_statistics.cnt_p_face_limpers > 0 AND NOT(tourney_hand_player_statistics.flg_p_open_opp) AND tourney_hand_summary.str_aggressors_p SIMILAR TO '8%' AND tourney_hand_summary.str_actors_p SIMILAR TO '9%', 1, 0])
TIGANCIC
 
Posts: 27
Joined: Fri Dec 20, 2024 8:00 am

Re: Help with Total Isolate Calculation in 3-Max Considering

Postby Flag_Hippo » Sat Dec 28, 2024 9:04 am

TIGANCIC wrote:I am on the Small Blind (SB) and limp.
The Big Blind (BB) isolates my limp.

From the detail you have given here it sounds like you want this for hands against you only and there is nothing in your expressions that specifies you are in the small blind. If you want this to be for when you specifically are in the SB then that would be what is referred to as a 'vs Hero' statistic which would require an additional subquery. There is a thread on the topic of creating stats vs hero here if that's what you want.

TIGANCIC wrote:The Button (BTN) folds preflop.

If you want this 100% of the time you need to specify that 3 players were dealt in otherwise heads up hands with no BTN will be counted too:

Code: Select all
tourney_hand_summary.cnt_players = 3

TIGANCIC wrote:The calculation should account for specific ranges of effective stacks, for example:
10–12 BB,
15–17 BB.

When a player has an effective stack between 10 and 12 big blinds the following is true:

Code: Select all
(tourney_hand_player_statistics.amt_p_effective_stack / tourney_blinds.amt_bb) between 10 and 12

You can change the 10 and 12 as needed for different stack ranges.
TIGANCIC wrote:Here’s the current version of the custom stat I’ve created so far. I’d like to confirm if I’m moving in the right direction with this approach and if there are any improvements or best practices I should consider.

As the statistic is for the BB I'd recommend including that in the columns:

Code: Select all
tourney_hand_player_statistics.position = 8

While the columns as they are shouldn't count hands for any other position it's good practice as there may be some edge cases in some stats where a hand could get counted for a player/position you didn't want.

Code: Select all
tourney_hand_summary.str_aggressors_p SIMILAR TO '8%'

The above isn't actually doing anything since the aggressors string always starts with an '8' - see this post for more information on how the actors and aggressors strings work.

Code: Select all
tourney_hand_player_statistics.cnt_p_face_limpers > 0 AND NOT(tourney_hand_player_statistics.flg_p_open_opp)

Sometimes testing for one thing means it's not necessary to include other tests. In this case you don't need to test for not having an open opportunity if you are already specifying the player faced a limp.

tig_bb_iso_sb_limp_10_12
Code: Select all
sum(if[tourney_hand_player_statistics.position = 8 and tourney_hand_summary.cnt_players = 3 and tourney_hand_player_statistics.cnt_p_face_limpers = 1 and tourney_hand_summary.str_actors_p LIKE '9%' and (tourney_hand_player_statistics.amt_p_effective_stack / tourney_blinds.amt_bb) between 10 and 12 and tourney_hand_player_statistics.flg_p_first_raise, 1, 0])

tig_bb_facing_sb_limp_10_12
Code: Select all
sum(if[tourney_hand_player_statistics.position = 8 and tourney_hand_summary.cnt_players = 3 and tourney_hand_player_statistics.cnt_p_face_limpers = 1 and tourney_hand_summary.str_actors_p LIKE '9%' and (tourney_hand_player_statistics.amt_p_effective_stack / tourney_blinds.amt_bb) between 10 and 12, 1, 0])
Flag_Hippo
Moderator
 
Posts: 15415
Joined: Tue Jan 31, 2012 7:50 am

Re: Help with Total Isolate Calculation in 3-Max Considering

Postby TIGANCIC » Sat Dec 28, 2024 12:32 pm

Hello, Flag Hippo,

Thank you for your detailed and helpful response. It clarified a lot for me and significantly improved the accuracy of my custom stats.

I have a quick follow-up question regarding the flg_p_first_raise column. Does it include both all-in raises and non-all-in raises? If not, could you clarify which column I should use if I want to calculate separate statistics for:

Isolations that are all-in.
Isolations that are not all-in.
I appreciate your time and expertise.

Best regards,
TIGANCIC
TIGANCIC
 
Posts: 27
Joined: Fri Dec 20, 2024 8:00 am

Re: Help with Total Isolate Calculation in 3-Max Considering

Postby TIGANCIC » Sat Dec 28, 2024 1:53 pm

Separation of All-In and Non-All-In Isolates:
1.Non-All-In Isolates: For cases where the BB raises but does not shove all-in, I would add:
Code: Select all
and tourney_hand_player_statistics.amt_p_raise_facing < tourney_hand_player_statistics.amt_p_effective_stack

2. All-In Isolates: For cases where the BB isolates by going all-in, I would add:
Code: Select all
and tourney_hand_player_statistics.amt_p_raise_facing = tourney_hand_player_statistics.amt_p_effective_stack


This code should correctly account for the situation where the Hero is on the SB, and the BB isolates the Hero’s limp while the BTN folds. Did I understand the filtering logic correctly? Does this code count only those hands where there are 3 players at the table, and the limp isolation occurs specifically between the SB and BB, with the BTN folding?
Code: Select all
sum(if[
    tourney_hand_player_statistics.position = 8
    and tourney_hand_player_statistics.flg_p_first_raise
    and tourney_hand_player_statistics.cnt_p_face_limpers = 1
    and exists (
        select 1
        from tourney_hand_player_statistics hero
        where hero.id_hand = tourney_hand_player_statistics.id_hand
        and hero.flg_hero
        and hero.position = 9
        and hero.flg_p_limp
    )
    and tourney_hand_summary.cnt_players = 3
, 1, 0])
TIGANCIC
 
Posts: 27
Joined: Fri Dec 20, 2024 8:00 am

Re: Help with Total Isolate Calculation in 3-Max Considering

Postby Flag_Hippo » Sun Dec 29, 2024 8:02 am

TIGANCIC wrote:I have a quick follow-up question regarding the flg_p_first_raise column. Does it include both all-in raises and non-all-in raises?

Yes.

TIGANCIC wrote:1.Non-All-In Isolates: For cases where the BB raises but does not shove all-in, I would add:
Code: Select all
and tourney_hand_player_statistics.amt_p_raise_facing < tourney_hand_player_statistics.amt_p_effective_stack

2. All-In Isolates: For cases where the BB isolates by going all-in, I would add:
Code: Select all
and tourney_hand_player_statistics.amt_p_raise_facing = tourney_hand_player_statistics.amt_p_effective_stack

That isn't suitable for this statistic. Anything using tourney_hand_player_statistics is specific to the player the statistic is written for and the BB is making the initial raise and not facing it. If the BB goes all-in the following is true:

Code: Select all
tourney_hand_player_statistics.amt_p_raise_made >= tourney_hand_player_statistics.amt_p_effective_stack

and if not:

Code: Select all
tourney_hand_player_statistics.amt_p_raise_made < tourney_hand_player_statistics.amt_p_effective_stack

TIGANCIC wrote:This code should correctly account for the situation where the Hero is on the SB, and the BB isolates the Hero’s limp while the BTN folds. Did I understand the filtering logic correctly? Does this code count only those hands where there are 3 players at the table, and the limp isolation occurs specifically between the SB and BB, with the BTN folding?
Code: Select all
sum(if[
    tourney_hand_player_statistics.position = 8
    and tourney_hand_player_statistics.flg_p_first_raise
    and tourney_hand_player_statistics.cnt_p_face_limpers = 1
    and exists (
        select 1
        from tourney_hand_player_statistics hero
        where hero.id_hand = tourney_hand_player_statistics.id_hand
        and hero.flg_hero
        and hero.position = 9
        and hero.flg_p_limp
    )
    and tourney_hand_summary.cnt_players = 3
, 1, 0])

Yes that looks fine.
Flag_Hippo
Moderator
 
Posts: 15415
Joined: Tue Jan 31, 2012 7:50 am

Re: Help with Total Isolate Calculation in 3-Max Considering

Postby TIGANCIC » Mon Dec 30, 2024 12:21 pm

Hello, Flag Hippo,

Thank you for your earlier responses, but unfortunately, I am still experiencing issues with the HUD in the PokerTracker replayer. While the HUD does appear on the replayer, it does not show any values or statistics.
To help troubleshoot the issue, I am attaching my exported HUD profile. Could you kindly review it and let me know if there is anything I should adjust or if there might be another setting causing this issue?

Thank you so much for your time and assistance!
https://drive.google.com/file/d/1DyT1XJ ... sp=sharing
TIGANCIC
 
Posts: 27
Joined: Fri Dec 20, 2024 8:00 am

Re: Help with Total Isolate Calculation in 3-Max Considering

Postby TIGANCIC » Mon Dec 30, 2024 7:37 pm

I’m facing an issue where my HUD does not display in the replayer when using custom stats.

Here’s what I’ve tried so far:

Duplicated the Tournament Default and Tournament Legacy profiles and also created a new profile from scratch.
Made sure the "Show HUD stat values at time of hand" option is enabled in the replayer.
The HUD only shows up when the custom stats are set to Hero Only, but that’s not what I want. I need stats that display opponent actions, not just Hero-specific stats.
Is there a solution to this problem? Am I missing something obvious in the settings?

Thank you in advance for your help!
TIGANCIC
 
Posts: 27
Joined: Fri Dec 20, 2024 8:00 am

Re: Help with Total Isolate Calculation in 3-Max Considering

Postby Flag_Hippo » Fri Jan 03, 2025 8:28 am

Please review all of your statistics. The first one I checked looks like this:

Isolate 18–100 BB

cnt_isolate_18_100

Code: Select all
sum(if[
    tourney_hand_player_statistics.position = 8
    and tourney_hand_player_statistics.flg_p_first_raise
    and tourney_hand_player_statistics.cnt_p_face_limpers = 1
    and (tourney_hand_player_statistics.amt_p_effective_stack / tourney_blinds.amt_bb) between 18 and 100
    and exists (
        select 1
        from tourney_hand_player_statistics hero
        where hero.id_hand = tourney_hand_player_statistics.id_hand
        and hero.flg_hero
        and hero.position = 9
        and hero.flg_p_limp
    )
    and tourney_hand_summary.cnt_players = 3
, 1, 0])

cnt_isolate_opp_18_100
Code: Select all
sum(if[
    tourney_hand_player_statistics.position = 8
    and tourney_hand_player_statistics.flg_p_open_opp
    and (tourney_hand_player_statistics.amt_p_effective_stack / tourney_blinds.amt_bb) between 18 and 100
    and exists (
        select 1
        from tourney_hand_player_statistics hero
        where hero.id_hand = tourney_hand_player_statistics.id_hand
        and hero.flg_hero
        and hero.position = 9
        and hero.flg_p_limp
    )
    and tourney_hand_summary.cnt_players = 3
, 1, 0])

cnt_isolate_opp_18_100 is testing for a preflop open opportunity (tourney_hand_player_statistics.flg_p_open_opp) which is not going to be true for the BB. I removed that and replaced it with tourney_hand_player_statistics.cnt_p_face_limpers = 1 and the statistic works fine in the replayer HUD.
Flag_Hippo
Moderator
 
Posts: 15415
Joined: Tue Jan 31, 2012 7:50 am

Re: Help with Total Isolate Calculation in 3-Max Considering

Postby TIGANCIC » Fri Jan 03, 2025 6:13 pm

Hi, Flag_Hippo,

Thank you so much for your help and explanations; everything is working perfectly now!

The only downside I noticed is that when using a subquery with EXISTS, the caching option becomes unavailable (the checkbox is unchecked).
TIGANCIC
 
Posts: 27
Joined: Fri Dec 20, 2024 8:00 am

Next

Return to Custom Stats, Reports and HUD Profiles

Who is online

Users browsing this forum: No registered users and 23 guests

cron