3Bet NAI PF

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

Moderators: WhiteRider, kraada, Flag_Hippo, morny, Moderators

3Bet NAI PF

Postby mooooNy » Mon Apr 30, 2018 11:01 am

Hi Guys, i have been trying to create a 3Bet NAI PF Statistic. I also created 3Bet AI PF.

My 3Bet AI looks like this:

Code: Select all
(x2x_cnt_p_3bet_ai / x2x_cnt_p_3bet_opp) * 100


x2x_cnt_p_3bet_ai

Code: Select all
sum(if[tourney_hand_player_statistics.flg_p_3bet AND NOT tourney_hand_player_statistics.flg_p_squeeze_opp AND ((tourney_hand_player_statistics.amt_p_raise_facing / tourney_blinds.amt_bb) BETWEEN 2 and 2.5) AND tourney_hand_player_statistics.amt_p_raise_made >= tourney_hand_player_statistics.amt_p_effective_stack AND NOT tourney_hand_player_statistics.enum_face_allin SIMILAR TO '(p|P)', 1, 0])


x2x_cnt_p_3bet_opp

Code: Select all
sum(if[tourney_hand_player_statistics.flg_p_3bet_opp AND ((tourney_hand_player_statistics.amt_p_raise_facing / tourney_blinds.amt_bb) BETWEEN 2 and 2.5), 1, 0])



Now to create my 3Bet NAI Statistic i was thinking that i could just do this:

((x2x_cnt_p_3bet - x2x_cnt_p_3bet_ai) / x2x_cnt_p_3bet_opp) * 100


x2x_cnt_p_3bet is just a copy of the generic cnt_p_3bet column.

For some reason it doesnt work and gives me wrong results and i dont know why. Any Ideas?

Here is a screenshot of how it looks when i run a player report:

Image
mooooNy
 
Posts: 25
Joined: Thu Mar 06, 2008 1:25 pm
Location: Germany

Re: 3Bet NAI PF

Postby Flag_Hippo » Tue May 01, 2018 12:19 pm

1. You are using NOT tourney_hand_player_statistics.flg_p_squeeze_opp in your actions column but not your opportunities column so if you do not want to count squeezes you need to use it in both columns.

2. If x2x_cnt_p_3bet is just an identical copy of the cnt_p_3bet column then you would need to also add NOT tourney_hand_player_statistics.flg_p_squeeze_opp here if you don't want to include squeeze opportunities. Also in your columns you have specified the size of the raise faced and you would need to add this information here as well.

3. When a player is in the blinds the size of the raise faced is less than from other positions because of the chips already invested so if a player 2bets to 2BB the player in the BB is facing a raise of 1BB therefore if you want to account for that you need to add amt_blind to the size of the raise faced. Also amt_p_raise_facing is the size of the last raise faced so if you want to specify the size of the 2bet faced it is better to use amt_p_2bet_facing instead:

Code: Select all
(tourney_hand_player_statistics.amt_p_2bet_facing + tourney_hand_player_statistics.amt_blind / tourney_blinds.amt_bb) BETWEEN 2 and 2.5
Flag_Hippo
Moderator
 
Posts: 15204
Joined: Tue Jan 31, 2012 7:50 am

Re: 3Bet NAI PF

Postby mooooNy » Thu May 03, 2018 8:46 am

Thanks a lot that makes total sense. Its working now.
mooooNy
 
Posts: 25
Joined: Thu Mar 06, 2008 1:25 pm
Location: Germany

Re: 3Bet NAI PF

Postby mooooNy » Tue May 08, 2018 4:53 pm

Hey Hippo, would you mind giving me a hint on how to use "3Bet NAI PF" and change it to be something like 3Bet NAI PF vs CO Open?

It currently looks like this:

Code: Select all
((x2x_cnt_p_3bet - x2x_cnt_p_3bet_ai) / x2x_cnt_p_3bet_opp) * 100


x2x_cnt_p_3bet
Code: Select all
sum(if[tourney_hand_player_statistics.flg_p_3bet AND NOT  tourney_hand_player_statistics.flg_p_squeeze_opp AND ((tourney_hand_player_statistics.amt_p_2bet_facing + tourney_hand_player_statistics.amt_blind / tourney_blinds.amt_bb) BETWEEN 2 and 2.5), 1, 0])


x2x_cnt_p_3bet_ai
Code: Select all
sum(if[tourney_hand_player_statistics.flg_p_3bet AND NOT tourney_hand_player_statistics.flg_p_squeeze_opp AND ((tourney_hand_player_statistics.amt_p_2bet_facing + tourney_hand_player_statistics.amt_blind / tourney_blinds.amt_bb) BETWEEN 2 and 2.5) AND (tourney_hand_player_statistics.amt_p_raise_made >= tourney_hand_player_statistics.amt_p_effective_stack), 1, 0])


x2x_cnt_p_3bet_opp
Code: Select all
sum(if[tourney_hand_player_statistics.flg_p_3bet_opp AND NOT tourney_hand_player_statistics.flg_p_squeeze_opp AND ((tourney_hand_player_statistics.amt_p_2bet_facing + tourney_hand_player_statistics.amt_blind / tourney_blinds.amt_bb) BETWEEN 2 and 2.5), 1, 0])
mooooNy
 
Posts: 25
Joined: Thu Mar 06, 2008 1:25 pm
Location: Germany

Re: 3Bet NAI PF

Postby Flag_Hippo » Wed May 09, 2018 4:53 am

If you want to specify that the 2Bet came from the CO you can use this aggressors string:

Code: Select all
tourney_hand_summary.str_aggressors_p LIKE '81%'

See this post for more information on how that works.
Flag_Hippo
Moderator
 
Posts: 15204
Joined: Tue Jan 31, 2012 7:50 am

Re: 3Bet NAI PF

Postby dave2085 » Fri Jun 26, 2020 2:04 am

I have created similar Stats for 3bet AI and 3bet NAI.

3bet AI:
Code: Select all
sum(if[(tourney_hand_player_statistics.amt_p_effective_stack / tourney_blinds.amt_bb) between 7 and 1000
AND tourney_hand_player_statistics.cnt_players = 3 AND NOT tourney_hand_player_statistics.flg_p_limp
AND tourney_hand_player_statistics.flg_p_face_raise AND NOT tourney_hand_player_statistics.enum_face_allin='p'
AND (amt_p_2bet_facing / tourney_blinds.amt_bb) < 4
AND tourney_hand_player_statistics.flg_p_3bet
AND tourney_hand_player_statistics.amt_p_raise_made >= tourney_hand_player_statistics.amt_p_effective_stack , 1, 0])


I tested the Stat and there is one situation which is not filtered in. BU(14bb) 2bb OR, SB(1.7bb) "callAI", Hero BB(16bb) 3betAI. Such a Situation is filtered out because of this expression:
Code: Select all
NOT tourney_hand_player_statistics.enum_face_allin='p'

If I dont use this expression, another Situation (2) occurs which i dont want to have showing up in this stat: BU(2bb) OR "AI", Hero SB(15bb) "3-betAI", BB(20bb) folds.
I am stuck :cry: .
As you can see I use a 7bb+ effective stack filter, why is this filter "not working" in Situation (2) were BU has only 2bb.
How can i presize this stat?

3bet NAI:
Code: Select all
sum(if[(tourney_hand_player_statistics.amt_p_effective_stack / tourney_blinds.amt_bb) between 7 and 1000
AND tourney_hand_player_statistics.cnt_players = 3 AND NOT tourney_hand_player_statistics.flg_p_limp
AND tourney_hand_player_statistics.flg_p_face_raise AND NOT tourney_hand_player_statistics.enum_face_allin='p'
AND (amt_p_2bet_facing / tourney_blinds.amt_bb) < 4
AND tourney_hand_player_statistics.flg_p_3bet
AND tourney_hand_player_statistics.amt_p_raise_made < tourney_hand_player_statistics.amt_p_effective_stack * .5 , 1, 0])


Same here:
Code: Select all
NOT tourney_hand_player_statistics.enum_face_allin='p'

This expression works to filter the openraiser is NOTAI (openshove), but also filters Hands were a 4bet all-in occured (like: BU(23bb) OR, SB(25bb) 3betNAI, BB(27bb) fold, BU 4betAI)

In the end...
- is there an expression which excludes only that the first raiser (openraiser) is NOT All-In.
- And also why is the effective Stacksizefilter not working in Situation (2)?
dave2085
 
Posts: 192
Joined: Mon Jun 02, 2008 10:41 am

Re: 3Bet NAI PF

Postby Flag_Hippo » Fri Jun 26, 2020 5:39 am

dev209 wrote:- is there an expression which excludes only that the first raiser (openraiser) is NOT All-In.

If you want information about a player different from the one the stat is written for then that would require a subquery - for more on how SELECT works see here.
dev209 wrote:- And also why is the effective Stacksizefilter not working in Situation (2)?

It is working. The effective stack is the maximum amount a player can potentially lose in a hand and it's determined as of their first action. In your example when the SB makes their first action the BB is still to act.
Flag_Hippo
Moderator
 
Posts: 15204
Joined: Tue Jan 31, 2012 7:50 am

Re: 3Bet NAI PF

Postby dave2085 » Fri Jun 26, 2020 7:13 am

tried to implement this.

Code: Select all
tourney_hand_player_statistics.id_hand in (SELECT thps.id_hand from tourney_hand_player_statistics thps where thps.flg_p_first_raise and thps.amt_before / thps.amt_blind >= 7


3Bet Preflop AI:
Code: Select all
sum(if[(tourney_hand_player_statistics.amt_p_effective_stack / tourney_blinds.amt_bb) between 7 and 1000
AND tourney_hand_player_statistics.cnt_players = 3 AND NOT tourney_hand_player_statistics.flg_p_limp
AND tourney_hand_player_statistics.flg_p_face_raise AND (tourney_hand_player_statistics.id_hand in (SELECT thps.id_hand from tourney_hand_player_statistics thps where thps.flg_p_first_raise and thps.amt_before / thps.amt_blind >= 7))
AND (amt_p_2bet_facing / tourney_blinds.amt_bb) < 4
AND tourney_hand_player_statistics.flg_p_3bet
AND tourney_hand_player_statistics.amt_p_raise_made >= tourney_hand_player_statistics.amt_p_effective_stack , 1, 0])


This gives only all situations back were i played BBvsSB OR. it doesnt include Situations SBvsBU, BBvsBU.

Thanks for helping me out. How can I add these Situations?
dave2085
 
Posts: 192
Joined: Mon Jun 02, 2008 10:41 am

Re: 3Bet NAI PF

Postby Flag_Hippo » Fri Jun 26, 2020 1:27 pm

dev209 wrote:tried to implement this.

Code: Select all
tourney_hand_player_statistics.id_hand in (SELECT thps.id_hand from tourney_hand_player_statistics thps where thps.flg_p_first_raise and thps.amt_before / thps.amt_blind >= 7


This gives only all situations back were i played BBvsSB OR. it doesnt include Situations SBvsBU, BBvsBU.

thps.amt_blind is the amount of blinds posted by the player so I suspect that's not working because when the button is the first raiser you are dividing by zero (and it would use 0.5BB for the player in the small blind).
dev209 wrote:is there an expression which excludes only that the first raiser (openraiser) is NOT All-In.

If you want to test for that then you can try something like this:

Code: Select all
tourney_hand_player_statistics.id_hand in (select thps.id_hand from tourney_hand_player_statistics thps where thps.flg_p_first_raise and thps.amt_p_raise_made < thps.amt_before)
Flag_Hippo
Moderator
 
Posts: 15204
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 18 guests

cron