When setting up general push fold ranges in ICMizer I spotted something strange.

I would think that the shorter you'd get the wider you'd have to shove, but then this came out of the machine (first number is the amount of BB player has left):

4   (77.1%) 22+,A2+,K2+,Q2+,J2+,T2s+,T3o+,92s+,95o+,84s+,86o+,74s+,76o,64s+,53s+    
4.5 (75.3%) 22+,A2+,K2+,Q2+,J2+,T2s+,T4o+,92s+,96o+,84s+,86o+,74s+,76o,64s+,53s+  
5   (73.8%) 22+,A2+,K2+,Q2+,J2+,T2s+,T6o+,93s+,96o+,84s+,86o+,74s+,76o,63s+,53s+,43s
5.5 (74.7%) 22+,A2+,K2+,Q2+,J2+,T2s+,T6o+,93s+,96o+,84s+,86o+,74s+,76o,63s+,65o,53s+,43s    
6   (71.9%) 22+,A2+,K2+,Q2+,J2s+,J4o+,T2s+,T6o+,93s+,96o+,84s+,86o+,74s+,76o,63s+,53s+,43s    
6.5 (72.9%) 22+,A2+,K2+,Q2+,J2s+,J4o+,T2s+,T6o+,93s+,96o+,84s+,86o+,74s+,76o,63s+,65o,53s+,43s    
7   (68.9%) 22+,A2+,K2+,Q2+,J2s+,J5o+,T2s+,T7o+,94s+,97o+,84s+,86o+,74s+,76o,63s+,53s+,43s
7.5 (67.7%) 22+,A2+,K2+,Q2+,J2s+,J6o+,T3s+,T7o+,94s+,97o+,84s+,86o+,74s+,76o,63s+,53s+,43s

As you can see the percentages go up and down. I calculate and checked these numbers three times. Did I do something wrong? Is ICMizer wrong? Are these numbers correct, and if so, how does this make any sense?


I got some more numbers:

12  (58.4%) 22+,A2+,K2+,Q2s+,Q8o+,J3s+,J8o+,T4s+,T7o+,95s+,97o+,84s+,87o,74s+,76o,64s+,53s+,43s
13  (58.7%) 22+,A2+,K2+,Q2s+,Q8o+,J3s+,J8o+,T4s+,T7o+,95s+,97o+,84s+,87o,74s+,76o,63s+,53s+,43s

I really don't understand the reason behind this.

  • Is the first column representing the Blinds the player has left?
    – Toby Booth
    Aug 14, 2017 at 20:07
  • @tobybooth correct. I will clarify that, thanks.
    – Raymond
    Aug 14, 2017 at 20:55

1 Answer 1


It is likely a combination of multiple factors that is yielding this behaviour.

  1. Pure versus mixed strategies. In general, the Nash equilibrium push/fold solution at an arbitrary stack depth will contain a small number of hands that are played with a mixed strategy; i.e., they are not shoved 100% of the time, but rather should be shoved some random percentage of the time, and folded the remainder. This can be a little complex to represent (and some find it difficult to execute in practice), so ICMIZER solves for equilibria solutions subject to an "integrality constraint"; i.e., it only allows for pure strategies. This, in turn, leads to "lumpy" evolution of the (approximate) equilibria solutions as stack depth changes.

  2. Blocker effects. Since ICMIZER is considering pure strategies only, blocker effects can be amplified. Each new set of combos I add to my pushing range potentially blocks multiple hand combinations in my opponent's calling/folding ranges. If you were to look at what the calling ranges looked like at the same stack sizes, you'll likely discover that many of these non-monotonic episodes correspond to points where there is a major structural shift in the calling range of the big blind.

  3. Incomplete convergence. In practical terms, most numerical techniques don't actually reach the exact equilibrium, but instead terminate once they find a solution within a certain error tolerance of the equilibrium. Looser error bounds allow for more rapid computation, so there is an implicit trade-off between solution fidelity and running time in any solver. It is possible that these slight errors can lead to situations where the reported solutions alternate between regimes in which, for example, the pushing ranges are slightly too wide and slightly too narrow.

  4. Future game state corrections. ICMIZER includes optional functionality that attempts to account for the fact that in tournament play, one is playing a recursive game -- so long as you are not eliminated, you immediately get to play a new version of the same game, albeit with positions exchanged and with a new effective stack depth. As a result, correct strategy changes slightly depending on whether you're the player with the larger stack (and therefore cannot be eliminated in this hand), or if you're the small stack (and therefore in peril). If you have this functionality enabled, and are not running your calculations with equal stacks, this may account for some of the behaviour you're observing.

Depending on your skill with programming, it can be instructive to try writing your own solver and generating push/fold charts on your own -- you'll get a much deeper understanding of what is going on "under the hood" and be better able to tease out the logic associated with counter-intuitive results.

Hope you found this answer useful -- I remember going through similar experimentation and questioning when I was learning this material for the first time.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.