For the purposes here, a c-bet success is when:
(a) You c-bet the flop
and
(b) All of your opponents fold.
Please note this doesn't take into account what you had. However, if your c-bet success rate was 50.1% you are showing automatic profit whenever you raise and c-bet even if you c-bet pot every single time regardless of your holdings.
Click Configure --> Configure Stats to bring up the custom statistics interface. (This does not work in the trial version, by the way.)
Click on the Holdem Cash Player Statistics section. Quite a bit of the database resides in this area, and this is where we are putting our statistic as it seems most appropriate. From here on out I'm going to presume we want this stat for a cash game. You can go into Holdem Tournament Player Statistics and do a similar statistic for tournaments as well.
Click on the columns tab. Columns are used to generate statistics and interface directly with the database. You can end up displaying a column as a statistic or not depending on what you think will work best.
Create a new column. In keeping with the PT3 naming scheme we are going to call this column cnt_f_cbet_success. It will be a count of all times where you c-bet successfully on the flop.
In the Expression section we add:
- Code: Select all
sum(if[holdem_hand_player_statistics.flg_f_cbet AND NOT(holdem_hand_player_statistics.flg_t_saw) AND NOT(holdem_hand_player_statistics.flg_f_face_raise), 1, 0])
So what are we doing here? Note that everything is in the summation, so we are taking a sum of all of the times these things happen. And what things are we taking the sum of? We want certain conditions to be met, so we use an 'if' statement. The if statement in the column areas works like this:
- Code: Select all
if[ condition, then, else ]
So first is the condition, and if the condition is true, the 'then' bit executes. Otherwise (if it is false), the 'else' bit occurs.
So what is our test? First we make sure we did c-bet (flg_f_cbet) and we didn't see a turn using NOT and (flg_t_saw) and we never faced a raise (NOT(flg_f_face_raise)).
Why this test? It should be obvious why we want to make sure we c-bet. But then what is a success? All opponents folded. Unfortunately there is no flg_all_opponents_gave_up flag. But what happens when all opponents fold? We don't get to see the turn. Then you have to make sure there are no cases you are missing. If we only used the first two, we would miss the situation where we bet, the other player raised, and we folded, thus not seeing a turn, but our c-bet would most definitely not have succeeded
Are there any other cases where we c-bet, don't see a turn and don't get raised that the c-bet fails? I can't think of any.
How did we find out about these fields? Look in the database schema for some information, but for a complete list of options, simply click the blue 'insert' link and it will populate a list of all of the fields in the database, and you can pick and choose as you desire.
So that's all we need. Each time these three cases come back as true, the if statement will yield 1 (the 1 in the then section), otherwise it will yield 0 (the else section).
Then we sum all of these individual cases up and we know how many times our c-bet succeeded.
In the description section, I added "Number of times that all opponents fold to a c-bet." as that seemed a reasonable description, but you can obviously put whatever you would like here.
In the summary type section, we want this to be set to 'sum'. What does this field do? It saves what sort of statistic you have so that when you have a summary of stats from various columns, it tells PT3 what kind of summary is appropriate. Should we average the stats together? Add them together? Etc. In this case, what we have is a sum of a bunch of cases, so sum is the right choice.
That's all we need to do for the column. Now we can go on to create the statistic proper.
Switch to the statistics tab and click the New button and give the statistic a name (note: this isn't what displays in the headers, so I tend to give more full names), like "C-Bet Success Percentage". Please note no two stats can have the same name, so you do want the names to be descriptive enough that you won't ever want to name something else the same. Give it an appropriate description ("Percentage of the time that all opponents fold to a c-bet"). The value expression is what defines the output of the statistic. For this statistic it is fairly simple:
- Code: Select all
cnt_f_cbet_success / cnt_f_cbet * 100
Number of times c-bets succeed divided by the total number of c-bets we made, times 100 yielding a percentage.
Switch to the Format tab now, and this "title" box is what shows up in PT3 reports. I went with "CBSuc" but you can call it whatever you would like; you don't want the name to be huge as it will make the column very large by default when it shows up in a report. Width of about 40 worked well for me, but you can play with this option, as well as the alignment of the text in a report.
You can do quite a bit in the format expression, but in this case the following is easiest:
- Code: Select all
/%.2f
You can assign categories and colors as you desire, but it's not necessary (though if you assign no categories you'll need to show all stats in order to find your statistic later). But that's all there is to the basic creation of a C-bet Success Statistic.
I hope you've enjoyed the tutorial, and I've attached the statistic in question to this thread so that you can import it for yourself to look at the different build stages as you desire, just unzip and import the statistic.