All-In Equity Analysis

Mar 27th, 2010 | Posted by spadebidder

Here we’ll look at preflop all-in hands with a single caller, such that no subsequent decisions are possible in the hand.   These tests will analyze the distribution of the community cards by comparing the preflop equity of the hole cards to the actual outcomes when the community cards have been dealt.  This test is sometimes called an “All-In Luck Analysis” when used for the purposes of comparing a particular player’s expected win rate when all-in preflop, to his actual outcome. In our test we’ll be making this comparison for a sample that includes hands from many players aggregated, and breaking down the distribution of the hands and the outcomes.

The expectation or equity for each player is determined by summing up the number of times that player would win if all 1,712,304 possible boards are dealt out, adding half the number of ties to the wins and then dividing that sum by 1,712,304. This is the calculation used by all Hold’em equity calculators, such as Poker Stove, and it represents the  expected win rate if an infinite number of all-in hands were played with those particular hole cards.  We know that at multi-player tables the community cards will have small biases due to card removal effects as discussed in the Flop Analysis section.  But in a 2-player game there can never be dead cards and so an all-in analysis should be pure and without bias.  We’ll examine both game types here.

In the first set of tests our “players” will be composite players that we’ll call Favorite and Underdog in one test and Big Stack and Small Stack in another test. Hands will be put into those categories just the way the names would imply. We’ll also be dividing up the hands by stakes played, as well as showing the combined result for all stakes.

—————

This is just a test run on a sample of ~575K hands (stopped when we hit 10K preflop all-ins), which will be replaced with a much larger one and more analysis. We’ll also be comparing full ring to heads-up, as heads-up has zero card removal effects, and full ring should expose card removal effects.

-------------------------------------------------------------------------------
Site A, 9 player table with 7 minimum active, NL Hold'em, all stakes combined
Using 25 equity bins.
Number of hands analysed: 574,556
Preflop heads-up all-ins: 10000 (Once per 57 hands).

FAVORITE'S
Preflop equity  ExpW% ExpT%/2  TotExp    Hands    ActW% ActT%/2  TotAct  #StDev

[0.98 - 1.00]    .       .       .           0     .       .       .
[0.96 - 0.98]    .       .       .           0     .       .       .
[0.94 - 0.96]  93.37%   0.71%  94.08%        4   75.00%   0.00%  75.00%   -1.67
[0.92 - 0.94]  92.40%   0.66%  93.05%      261   92.34%   0.38%  92.72%   -0.22
[0.90 - 0.92]  90.76%   0.62%  91.38%       47   97.87%   1.06%  98.94%    1.88
[0.88 - 0.90]  88.00%   0.66%  88.65%       34   82.35%   1.47%  83.82%   -0.90
[0.86 - 0.88]  86.76%   0.50%  87.26%      214   84.58%   1.40%  85.98%   -0.57
[0.84 - 0.86]  84.82%   0.31%  85.13%       79   87.34%   0.00%  87.34%    0.56
[0.82 - 0.84]  82.25%   0.29%  82.54%      330   82.73%   0.30%  83.03%    0.24
[0.80 - 0.82]  81.06%   0.23%  81.29%     2013   80.97%   0.20%  81.17%   -0.14
[0.78 - 0.80]  78.95%   0.23%  79.18%       81   80.25%   0.62%  80.86%    0.37
[0.76 - 0.78]  76.29%   0.61%  76.90%       34   70.59%   0.00%  70.59%   -0.88
[0.74 - 0.76]  72.86%   1.88%  74.74%      550   71.64%   2.36%  74.00%   -0.41
[0.72 - 0.74]  71.08%   1.98%  73.06%      446   69.28%   1.68%  70.96%   -1.02
[0.70 - 0.72]  70.20%   0.93%  71.12%      740   70.14%   0.88%  71.01%   -0.07
[0.68 - 0.70]  67.93%   1.25%  69.18%      671   67.66%   1.42%  69.08%   -0.06
[0.66 - 0.68]  66.51%   0.73%  67.24%      332   68.07%   0.75%  68.83%    0.62
[0.64 - 0.66]  64.54%   0.62%  65.16%      334   63.77%   0.60%  64.37%   -0.31
[0.62 - 0.64]  62.03%   0.84%  62.87%      201   65.67%   0.25%  65.92%    0.90
[0.60 - 0.62]  60.39%   0.52%  60.91%      223   63.23%   0.45%  63.68%    0.85
[0.58 - 0.60]  58.35%   0.77%  59.13%      220   53.18%   0.68%  53.86%   -1.60
[0.56 - 0.58]  56.53%   0.32%  56.85%      990   56.06%   0.25%  56.31%   -0.34
[0.54 - 0.56]  54.66%   0.23%  54.89%      870   53.79%   0.17%  53.97%   -0.55
[0.52 - 0.54]  46.14%   6.93%  53.07%      787   44.60%   6.86%  51.46%   -0.98
[0.50 - 0.52]  37.14%  13.76%  50.90%      382   36.91%  13.87%  50.79%   -0.05

[    ALL    ]  67.26%   1.68%  68.94%     9843   66.85%   1.68%  68.53%   -0.90

* With 23 valid bins, expected deviations > 5% signif = 1.2.  Observed = 0
Chi-Sq for Fav =  3.69 w/ 22 DF. Crit nums (.10 .05 .01) 30.81   33.92   40.29

UNDERDOG'S
Preflop equity  ExpW% ExpT%/2  TotExp    Hands    ActW% ActT%/2  TotAct  #StDev

[0.48 - 0.50]  35.35%  13.76%  49.10%      382   35.34%  13.87%  49.21%    0.05
[0.46 - 0.48]  40.00%   6.93%  46.93%      787   41.68%   6.86%  48.54%    0.98
[0.44 - 0.46]  44.88%   0.23%  45.11%      870   45.86%   0.17%  46.03%    0.55
[0.42 - 0.44]  42.83%   0.32%  43.15%      990   43.43%   0.25%  43.69%    0.34
[0.40 - 0.42]  40.10%   0.77%  40.87%      220   45.45%   0.68%  46.14%    1.60
[0.38 - 0.40]  38.57%   0.52%  39.09%      223   35.87%   0.45%  36.32%   -0.85
[0.36 - 0.38]  36.29%   0.84%  37.13%      201   33.83%   0.25%  34.08%   -0.90
[0.34 - 0.36]  34.22%   0.62%  34.84%      334   35.03%   0.60%  35.63%    0.31
[0.32 - 0.34]  32.03%   0.73%  32.76%      332   30.42%   0.75%  31.17%   -0.62
[0.30 - 0.32]  29.57%   1.25%  30.82%      671   29.51%   1.42%  30.92%    0.06
[0.28 - 0.30]  27.95%   0.93%  28.88%      740   28.11%   0.88%  28.99%    0.07
[0.26 - 0.28]  24.97%   1.98%  26.94%      446   27.35%   1.68%  29.04%    1.02
[0.24 - 0.26]  23.39%   1.88%  25.26%      550   23.64%   2.36%  26.00%    0.41
[0.22 - 0.24]  22.49%   0.61%  23.10%       34   29.41%   0.00%  29.41%    0.88
[0.20 - 0.22]  20.59%   0.23%  20.82%       81   18.52%   0.62%  19.14%   -0.37
[0.18 - 0.20]  18.47%   0.23%  18.71%     2013   18.63%   0.20%  18.83%    0.14
[0.16 - 0.18]  17.17%   0.29%  17.46%      330   16.67%   0.30%  16.97%   -0.24
[0.14 - 0.16]  14.55%   0.31%  14.87%       79   12.66%   0.00%  12.66%   -0.56
[0.12 - 0.14]  12.25%   0.50%  12.74%      214   12.62%   1.40%  14.02%    0.57
[0.10 - 0.12]  10.69%   0.66%  11.35%       34   14.71%   1.47%  16.18%    0.90
[0.08 - 0.10]   8.00%   0.62%   8.62%       47    0.00%   1.06%   1.06%   -1.88
[0.06 - 0.08]   6.29%   0.66%   6.95%      261    6.90%   0.38%   7.28%    0.22
[0.04 - 0.06]   5.21%   0.71%   5.92%        4   25.00%   0.00%  25.00%    1.67
[0.02 - 0.04]    .       .       .           0     .       .       .
[0.00 - 0.02]    .       .       .           0     .       .       .   

[    ALL    ]  29.38%   1.68%  31.06%     9843   29.79%   1.68%  31.47%    0.90

* With 23 valid bins, expected deviations > 5% signif = 1.2.  Observed = 0
Chi-Sq for Dog = 10.08 w/ 21 DF. Crit nums (.10 .05 .01) 29.62   32.67   38.93

NO FAVORITE HANDS
Preflop equity  ExpW% ExpT%/2  TotExp    Hands    ActW% ActT%/2  TotAct  #StDev

[exact 50/50]   2.93%  47.07%  50.00%      157    3.82%  46.18%  50.00%

The 50/50 line assumes an even split of the wins between 2 hypothetical opponents
as we have no way to split these results between two specific players or between
the favorite and underdog counts, since this is an aggregate of many players.

-------------------------------------------------------------------------------

 

So this sample of 10,000 all-in hands is just to show one of the approaches being used to analyze all-in hands. This post will be updated with more data soon.

 

—————

Flop Analysis Part 7 – 290 Million Flops

Jan 12th, 2010 | Posted by spadebidder

If you haven’t yet read the first six parts of this series, it will be helpful to understand some of the data shown here.   Please click the Flop Analysis link at the top of the page to read the whole series.  

This post will show a series of scans of real NLHE flops and how they break down statistically.  I scanned 571 million NLHE hands and 290 million flops were dealt. Unfortunately this data is going to disappoint the Action Flop theorists. That said, the quantified removal effects are interesting and I think the data adds some worthwhile new material to the poker knowledge base.   As we have predicted, flops are not entirely random but are subject to certain specific card removal effects.   However, with the exception of Rank Bias the effects are so small as to not have much practical effect on the play of the game.

 

So before I get into the bias analysis and drill down to the parts-per-ten-million, and start calculating the standard deviations from the mean, first here is a simple higher-level chart rounded to five decimal places, or thousandths of a percent, just to show how close things are. You have to get finer-grained than this just to evaluate most of the card removal effects. This is from 98 million flops at full ring, using Dataset 1 (in more detail afterward).

[ Flop Combinations ]    Calculated    Actual    +/- per 100,000 flops

[ Pair & cnctr  rainbow]     1.412%    1.415%     3
[ Pair & cnctr 2-suited]     1.412%    1.413%     1
[ Pair & 1gap   rainbow]     1.303%    1.303%     0
[ Pair & 1gap  2-suited]     1.303%    1.307%     4
[ Pair & 2gap   rainbow]     1.195%    1.196%     1
[ Pair & 2gap  2-suited]     1.195%    1.196%     1
[ Pair & 3+gap  rainbow]     4.561%    4.574%    13
[ Pair & 3+gap 2-suited]     4.561%    4.573%    12
[ Triplets             ]     0.235%    0.235%     0
[ 3-Straight    rainbow]     1.303%    1.303%     0
[ 3-Straight   2-suited]     1.955%    1.954%    -1
[ 3-Straight-Flush     ]     0.217%    0.217%     0
[ Cnctr & 1gap  rainbow]     2.606%    2.603%    -3
[ Cnctr & 1gap monotone]     0.434%    0.435%     1
[ Cnctr & 1gap 2-suited]     3.909%    3.901%    -8
[ Cnctr & 2gap  rainbow]     2.389%    2.382%    -7
[ Cnctr & 2gap monotone]     0.398%    0.400%     2
[ Cnctr & 2gap 2-suited]     3.584%    3.577%    -7
[ Cnctr & 3+gp  rainbow]     7.710%    7.714%     4
[ Cnctr & 3+gp monotone]     1.285%    1.288%     3
[ Cnctr & 3+gp 2-suited]    11.566%   11.565%    -1
[ KA2 dbl-cnct  rainbow]     0.109%    0.107%    -2
[ KA2 dbl-cnct monotone]     0.018%    0.018%     0
[ KA2 dbl-cnct 2-suited]     0.163%    0.161%    -2
[ Dbl gutshot   rainbow]     1.195%    1.193%    -2
[ Dbl gutshot  monotone]     0.199%    0.199%     0
[ Dbl gutshot  2-suited]     1.792%    1.791%    -1
[ Other 1-gaps  rainbow]     8.036%    8.034%    -2
[ Other 1-gaps monotone]     1.339%    1.338%    -1
[ Other 1-gaps 2-suited]    12.054%   12.043%   -11
[ No cnt/gp/pr  rainbow]     7.710%    7.711%     1
[ No cnt/gp/pr monotone]     1.285%    1.288%     3
[ No cnt/gp/pr 2-suited]    11.566%   11.567%     1
[--check combinations--]   100.000%  100.000%     0  (w/o rounding)

I think it’s pretty striking that virtually every pattern (except pairs, which we predicted) is accurate to within a hundredth of a percent. That’s 1 flop off per 10,000 trials. And about half the flop types are accurate to the thousandth of a percent, or 1 flop off (or zero) per 100,000 trials. With a sample this large, that really shouldn’t be surprising mathematically, but it amazes me. Not because I thought there really would be such a thing as Action Flops. But because the Law of Large Numbers (AKA the long run) really does work in poker. It’s very cool to see that.

So that’s a high level view. Now we’ll drill a lot deeper and do the real analysis.


Read more of this post …

Flop Analysis Part 6 – Predictions

Jan 5th, 2010 | Posted by spadebidder
Comments Off

Let’s review our predictions from the card removal effects before finally looking at the actual flop data. In the next post on this topic I’ll be showing the results from several hundred million actual flops.

 

In part 2 we examined the Rank Bias on the board caused by players seeing more flops when they hold higher cards and folding more often when they hold lower cards.  This leaves a biased deck stub for dealing the flops that get seen.   We found that:

  • Aces make up only about 7.5% of the flopped cards instead of the 7.69% or 1/13  that a uniform rank distribution would yield.  This effect is greatest at heads-up games, and slightly attenuated at full ring.  
  • Similarly, Twos make up more of the flop cards than expected, at 7.9% heads-up, and 7.8% in ring games, and all other ranks slope between the Twos and Aces. The median card, 8s, hits at just about the expected 7.69% or 1/13.

 

In Part 3 we examined the Pair Bias on the board that results from players tending to see flops more often when they hold pairs.  We predicted mathematically that:

  • We should see about 50 more paired flops per 100,000 flops than a random distribution would yield.
  • This will affect all the flop types that contain pairs, unless that type is also skewed by a rank bias effect, which can wipe out the pair bias.  For example, the “Pair & 2-gap” flops are biased upwards (to higher frequency) by pair bias, but biased downwards by rank bias since they can be made more ways containing Aces than containing Twos.  So the two effects may cancel out in that specific type, resulting in a frequency near the calculated number.

So in general we predict that paired flops and combinations that contain pairs, will show up more often than than the calculated expectation from a random distribution.


Read more of this post …

Comments Off

Flop Analysis Part 5 – Suit Bias

Jan 5th, 2010 | Posted by spadebidder

Here we look at the effect on the suit distribution of the board according to the suitedness of the hole cards held by players seeing the flop.

Given random hole cards, the flops would break down like this (from full enumeration):

Flops seen:  132600 (100.0%)        Known hole cards:  - - - -

[ FLOP TYPE ]            Calculated    Actual +-/100K +/-SDs  Calc /132600
[ Rainbow              ]  39.76471%  39.76471%     0   0.00  52*39*26
[ Monotone             ]   5.17647%   5.17647%     0   0.00  52*12*11
[ Two-suited           ]  55.05882%  55.05882%     0   0.00  (52*12*39)*3

 


Read more of this post …

Flop Analysis Part 4 – Calculated values and code check

Dec 29th, 2009 | Posted by spadebidder
Comments Off

Before we get to the real data, we first need to check our code and our calculations. The input for the run shown below is the set of all possible flops enumerated, rather than real hand data. There are 132,600 possible flops (permutations, not combinations, of which there are 132,600/3! or 22,100), and so we have one of every possible flop in the run. We create these with a simple set of 3 nested FOR loops that runs through each of the 52 cards in each position, giving us 52*51*50 flops, or 132600.

If the calculated values match our enumerated counts, then we know that the calculation is correct, and that the filter to count that particular flop type is also correct (or at least that we are counting the same flop type we are calculating).

I’m showing the offsets measured two ways, both in +/- count per hundred-thousand flops (+-/100K), and in standard deviations between the means (+/- SDs).   The +/-100K is useful when looking at millions of flops, since the number of SDs is not very intuitive by itself unless you have spent some time looking at them for different sample sizes. Even though the /100K isn’t balanced for different probability flops, it helps us immediately see the absolute scale of the offsets.   It measures the effect size. The SD on the other hand, measures the significance of the effect, or how likely the result could have occurred by chance (assuming that we are comparing to the mean of a random variable).

The SD offset is calculated here using this formula:

(obs - p) / sqrt( (p*q) / n )

where obs = observed frequency, p = expected frequency, q = 1-p, and n = number of boards.

Note that the above is equivalent to this calculation, where we just take the difference in count over the SD:

(N_obs - N_p) / sqrt(npq)

 

Obviously all types should show zero offset in this enumerated run, or I’d have a code error or an incorrect calculation.

 
Number of flops enumerated:  132,600

FLOP TYPES FREQUENCY
--------------------------------------------------------------------------------------------
[ FLOP TYPE ]            Calculated    Actual +-/100K +/-SDs  Calc /132600

[ Rainbow              ]  39.76471%  39.76471%     0   0.00  52*39*26
[ Monotone             ]   5.17647%   5.17647%     0   0.00  52*12*11
[ Two-suited           ]  55.05882%  55.05882%     0   0.00  (52*12*39)*3
[---check suit types---] 100.00000% 100.00000%   

[ Paired flop          ]  16.94118%  16.94118%     0   0.00  (52*3*48)*3
[ Triplet flop         ]   0.23529%   0.23529%     0   0.00  52*3*2
[ Unpaired flop        ]  82.82353%  82.82353%     0   0.00  52*48*44
[--check match types---] 100.00000% 100.00000%   

[ Pair & connector     ]   2.82353%   2.82353%     0   0.00  (52*3*8)*3
[ Pair & 1gap          ]   2.60633%   2.60633%     0   0.00  ((44*3*8)+(8*3*4))*3
[ Pair & 2gap          ]   2.38914%   2.38914%     0   0.00  ((36*3*8)+(16*3*4))*3
[ Pair & 3+gap         ]   9.12217%   9.12217%     0   0.00  ((36*3*24)+(8*3*(28+32)))*3
[ Triplets             ]   0.23529%   0.23529%     0   0.00  52*3*2
[ 3-Straight           ]   3.47511%   3.47511%     0   0.00  12*(4^3)*6
[ Connector & 1gap     ]   6.95023%   6.95023%     0   0.00  24*(4^3)*6
[ Connector & 2gap     ]   6.37104%   6.37104%     0   0.00  ((36*4*8)+(16*4*4))*6
[ Connector & 3+gap    ]  20.56109%  20.56109%     0   0.00  ((36*4*20)+(8*4*(28+24)))*6
[ KA2 double connector ]   0.28959%   0.28959%     0   0.00  12*8*4
[ Double gutshot       ]   3.18552%   3.18552%     0   0.00  11*(4^3)*6
[ Other 1gaps          ]  21.42986%  21.42986%     0   0.00  4736*6
[ No cnct no 1gap no pr]  20.56109%  20.56109%     0   0.00  all other hands: 27264
[-check connect types--] 100.00000% 100.00000%   

[ Flop Combinations ]    Calculated    Actual +-/100K +/-SDs  Calc /132600


Read more of this post …

Comments Off

Flop Analysis Part 3 – Pair Bias

Dec 18th, 2009 | Posted by spadebidder
Comments Off

Here we examine the card-removal effect that results from players tending to see flops when they hold paired hole cards.  This part is a little tedious but it’s necessary to predict what we should see when analyzing an enormous sample of community cards.  If you aren’t interested in the math then just skip to the bottom for the result, and then jump to the actual data in Part 7.  That’s why you’re here anyway, right?

—————

From a full deck there are 78 possible pairs that can be dealt. Each rank of four cards can make 6 different pair combinations, which are            , and with 13 ranks we have 6*13 for 78 pairs.  And there are 1248 non-pairs that can be formed, for a total of 1326 hole card combinations, from C(52,2)=1326.  When we remove one pair from the deck, we have left only one other possible pair in that rank, eliminating 5 possible pairs and leaving 73.  At the same time we have eliminated 96 possible non-pairs from the deck, as each card could have been matched with any of the 48 cards in other ranks.  So the chance for paired hole cards  goes from 78/1326 or 5.882% initially, to 73/1225 or 5.959% after removing one pair.

This means that when you hold a pair, the chance another player was dealt a pair goes up slightly.  It also means that the chance of another pair being dealt to the board goes up, so let’s calculate that difference.

Dealing from a full deck (or the deck stub when no hole cards are known) the chance for a paired flop is
(52*3*48)*3 / (52*51*50) = 16.94117647%

This is the chance for a flop that is paired but not triplets, since we didn’t count that combination (which would be 52*3*50 in the numerator).  The second *3 in the numerator is for the three ways the pair can be formed from 3 cards,  using the first and second card, first and third, or second and third.  

Now let’s look at scenarios where players see the flop holding paired and unpaired hole cards and how that might affect the board distribution.  Note that all the calculations shown were confirmed by full enumeration of the boards.


Read more of this post …

Comments Off