Building stats

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

Moderators: WhiteRider, kraada, Flag_Hippo, morny, Moderators

Building stats

Postby xpastorcitox » Wed Jul 13, 2022 9:44 pm

Hi, need to build some positional stats but having trouble. I have this on my HUD but can't figure how to build them for a report.

For example:

1.4b BTN vs blinds

sum(if[(cash_hand_summary.str_aggressors_p LIKE '81%' OR cash_hand_summary.str_aggressors_p LIKE '82%' OR cash_hand_summary.str_aggressors_p LIKE '83%') AND
char_length(cash_hand_summary.str_aggressors_p) >= 3 and
substring(cash_hand_summary.str_aggressors_p from 0 for 0)::int > cash_hand_player_statistics.position AND
cash_hand_player_statistics.flg_p_first_raise and cash_hand_player_statistics.flg_p_4bet, 1, 0])

Can you tell me what's wrong here?

2. Turn CB IP non 3bpot.

sum(if[cash_hand_player_statistics.flg_t_cbet, 1, 0] AND cash_hand_player_statistics.flg_p_first_raise AND substring(cash_hand_summary.str_aggressors_p from 3 for 0))

3. BB fold vs BTN open

No idea.

Thanks
xpastorcitox
 
Posts: 15
Joined: Fri Mar 30, 2012 11:22 am

Re: Building stats

Postby Flag_Hippo » Thu Jul 14, 2022 5:00 am

xpastorcitox wrote:Hi, need to build some positional stats but having trouble. I have this on my HUD but can't figure how to build them for a report.

If you have existing statistics and want to see the results based on position in a report then you don't need to build separate statistics - just add the statistics you want and then add the 'Position' statistic to break the report down by positions. If you still want to make new versions of a statistic based on each position see this post.

xpastorcitox wrote:For example:

1.4b BTN vs blinds

sum(if[(cash_hand_summary.str_aggressors_p LIKE '81%' OR cash_hand_summary.str_aggressors_p LIKE '82%' OR cash_hand_summary.str_aggressors_p LIKE '83%') AND
char_length(cash_hand_summary.str_aggressors_p) >= 3 and
substring(cash_hand_summary.str_aggressors_p from 0 for 0)::int > cash_hand_player_statistics.position AND
cash_hand_player_statistics.flg_p_first_raise and cash_hand_player_statistics.flg_p_4bet, 1, 0])

Can you tell me what's wrong here?

1. You haven't specified that the player is on the BTN:

Code: Select all
cash_hand_player_statistics.position = 0

2. If the BTN is the player making the first raise then the part I have highlighted in red will not work as here you are saying that the first raiser was either in the cutoff, MP or EP (based on 6max). The "aggressors" and "actors" strings are a series of numbers which represent the positions of each player to make an aggressive action (the "aggressors" string) or put money in (the "actors" string) in turn. The preflop aggressors string always starts with the BB position (8), the second number is the position of the 2bettor and the third the position of the 3bettor e.t.c. The actors string records the positions of the players who VPIP'd (raised or called) in order. See this post for more information on how the actors and aggressors strings work.

3. The part highlighted in blue will not work either as using "from 0 for 0" make no sense for the expression. See this thread and this thread for more detail on how you can compare/test the strings.

4. Statistics are usually made up of two columns and you've only included one here.
xpastorcitox wrote:2. Turn CB IP non 3bpot.

sum(if[cash_hand_player_statistics.flg_t_cbet, 1, 0] AND cash_hand_player_statistics.flg_p_first_raise AND substring(cash_hand_summary.str_aggressors_p from 3 for 0))

1. If you are using using substring(cash_hand_summary.str_aggressors_p from x for y) both numbers need to be greater than 0. You also need to test the length of the string if you are testing for characters within that string. Finally you don't need to use this for this particular statistic.

2. The expression is not entirely contained within the sum(if[, 1, 0]) statement (highlighted in red).

3. Statistics are usually made up of two columns and you've only included one here.

4. If you want to build this statistic I recommend starting with the columns for the built-in statistic called 'CBet Turn'. All that will need to be added to those columns is a specification for a single raised pot:

Code: Select all
char_length(cash_hand_summary.str_aggressors_p) = 2

and the player being in position on the turn:

Code: Select all
cash_hand_player_statistics.flg_t_has_position

xpastorcitox wrote:3. BB fold vs BTN open

No idea.

See this guide for the basics on custom statistics creation and this guide for a deeper walkthrough. There may also be some similar stats if you search the this forum or the Download Warehouse and you can edit them if they are not exactly what you are after.
Flag_Hippo
Moderator
 
Posts: 14441
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