Learn Good Them SNGs #2 - Hand Ranges
This is part 2 of what will be a 5 part series on learning sit and gos. Part 1 covered my method on studying the game, marking hands, looking at HEM filters, and introduced a systematic approach to learning ICM.
Following that will be 3 largely theoretical articles that cover some of the empirical analysis I did on hand ranges using a body of HEM data. Hopefully these articles will provide some interest in possible methods in digging deeper in to HEM to interrogate your data; however, the articles are mainly to lay the groundwork for the final article , which will be a similar style to first. Picking up where article 1 left off, it will be an instructional guide to using SNG Wizard to learn ICM.
So what are we getting called by, anyway?
One of the first pieces of advice a new player reads when approaching the daunting task of using SNG Wizard to learn ICM is, “don’t use the default ranges!”. ICM calculators are only as good as the ranges that you give them, and if you don’t set them appropriately, the answers will be next to useless. So this naturally leads one to ask themselves, “so what ranges should I set players to?”.
Armed with around 200k hands of 6-max SNGs, I wanted to get a better idea of real-world calling ranges by looking at actual results to see what we were getting called by. And I wanted to answer a broader question – how close do my opponents follow the Nash equilibrium? It is an oft-repeated conception that bad players call too tight on the bubble, does real life data back this up?
I want to stress that, although I think the data presented here is interesting, the data set has a lot of flaws. 200k hands is a small sample when we get down to filtering to specific situations, I’ve done no statistical analysis on confidence levels of the data (Ss, assume “not at all that confident, really”). These hands were all from Pokerstars, low and mid-stakes six-max games, and they are all over 1 year old. Furthermore, we group all our opponents together in one, and the hero will have adjusted his shoving range based on the reads of the players left to act. Games evolve, as do the “typical” opponents, and I strongly recommend others to run their own studies if they want to really get some relevant data.
Blind vs Blind On The Bubble
With that said, here’s the first filter I ran on the data:
- 3 players left
- Hero position on the small blind
- Preflop action, unopened (i.e., button folded)
- More filters: PFR=True, Folded to Preflop 3bet = False, Flop Bet = False, Flop Check = False, Flop Raise = False, Limp re-raised = False
These filters translate to: on the bubble, we opened with a raise in the SB; We either took it down preflop without showdown, or we got all in before the flop. So this will include times when we raised and called a 3bet; raised, got 3bet, we 4bet and BB folded, etc. But it won’t includes times we raise, and get flatted and see a flop1.
I then altered the effective stack setting to between specific boundaries, and noted the times we went to showdown. This went to showdown % indicates the chance we get called by the big blind; or, to put it another way, the calling range of the player in the big blind.
The table below shows the results:
That is, when effective stacks are between 10 and 12 BBs, when we shoved from the small blind, the big blind called as 19% of the time.
Taking the middle of the effective stack boundaries, here’s a sexy excel graph of the data:
The results may not be all that surprising; but what it does give us is a pretty solid starting place to set our default ranges when analysing this situation in SNG Wizard.
This method can be used in other scenarios, and can be used to work out opponents shoving ranges too. If there are multiple players to act, we need to fudge the data a bit: say if we shove on the button, the number we get will represent when either SB and BB – or both – call. But by doing further filtering (working the # number of times SB folds and BB calls) we can work backwards and make good approximations of default call ranges.
Looking at a HU situation
I ran a similar study on heads up play. Here we are the first to act on the button/SB. Otherwise the filter is the same as above:
|From||To||Average||Call %||Hero short||Vill short|
Using the hero stack size filter, i also estimated (and it’s a far from perfect method) whether it was hero or villain who was the shorter stack. This was only accurate for smaller effective stacks, so I only include data for the first 4 levels2.
We can see a few things from this data:
- Again, we see the predictable curved line downwards: the larger the effective stack, the tighter the call range, and with lessening effect.
- Opponents will call shoves wider when they are the short stack than if the hero is the short stack. This is perhaps unintuitive and is a theoretically unsound as the 2 situations are mathematically “identical”. It seems the “typical” opponent are fearful of doubling up a shorty and will wait for a stronger hand to call an all-in, but when short themselves, feel they have to make a stand with a looser range.
- Our data from 12 BBs upwards is unreliable. There is actually a slight increase at 2 places on the graph. Firstly, the sample size is much too small. Secondly, at these deep stacks other factors are in play (raise/folding, 3betting dynamics). We should disregard data past this point.
Playing Against This Range.
Now we know how our “average” villain plays (and again I stress 'average’; hopefully by the time we are heads up we have certain reads on the opponent to influence our play), we can construct a plan on how best to exploit this strategy. We can do this by doing the hard math, or running simulations in Stox EV or SNG Wizard to see what ranges we should profitably shove against the calling range of our opponents, for the given effective stacks.
I ran this in Stox EV, and assumed that villain called based on range ranked by Sklansky-Karlson Hand Rankings.
|Eff. Stack||Villain Call %||+EV shove range|
So this table shows that, for 9.5BB effective stacks, our average opponent calls our shoves 32% of the time. Against a 32% SC range, we can profitably shove the top 74% of our hands. When we say “top” here, the range of hands that are +EV aren’t of any specific hand ranking; the calculation looks at every hand combination and counts all ranges that are profitable to be shoving given the fold equity we have.
Interestingly, what see is that up to 10BB, a range of 70%-75% can be shoved – regardless of the effective stack. This 70% range is constructed roughly the same for each and looks like this:
Compared To The Nash Equilibrium
Taking this table above, we can now compare this data to the Nash equilibrium – the unexploitable push/fold range. Here is the same table as above reproduced, but with the Nash range alongside, as calculated at holdemresouces.net
|Eff Stack||Vill call %||Nash|
As we can see, for all but the shortest stack sizes (where play is way too tight), the average villain calls scarily close to game-theoretically optimal. At every data point here, they call withing 5 percentage points of the Nash equilibrium, and in many cases within just 1 or 2%.
It would be interesting to see others run similar studies on their own numbers, because this goes against the common rule of “shove a notch or two wider than what Nash suggests because your average opponent will be playing too tight”. Except in the case of 3 blinds or less, this data shows this is not the case at all.
In the next article, we’ll be taking a closer look at what hands are opponents calling with, and constructing our own hand ranking based on empirical data of how our opponents play.
1The alternative is to filter using preflop raise size > 5bb, for example. This will limit to just shoves. Many players will raise hands either because (a) they want to reduce fold equity, with a premium hand, or (b) consider raising actually gives more fold equity. Using the filter outlined above, it includes all hands we committed to getting in preflop. The resultant %s in the “all in preflop” column are good estimations to what we can put BB call ranges on.
2Basically, the “hero short” field just specified that the hero stack was that of the effective stack – the “shorty”; however the villains stack size could be anything (smaller, the same, or larger). However the “villain short” field specified the hero had a larger stack than the effective stack; thereby filtering to times when villain was the shorty. It’s the best you can currently get out of HEM, but is fairly accurate for short effective stacks when heads up.