You are calculating pot odds a very unusual way. Your formula is mostly correct (but only works some of the time), and I'll get back to that in a moment, but typically you would just use two variables: costToCall
and sizeOfPot
. Pot odds don't depend on the number of players to have called the bet. One player putting 400 in is the same as four players each putting 100 hundred four your calculation.
Specifically, your pot odds are costToCall/(sizeOfPot + costToCall)
, where sizeOfPot
includes all the chips that have been put in including during the current betting round. You need to win at least that percent to make a call worth it (IF you are calling with the plan of hitting your draw. You can call for other reasons, like to float, and in that case pot odds should have little impact on your decision).
Your formula: b/(p + nb)
only really works if you consider p
to be the size of the pot before the betting round started and no one has raised or gone all-in with less than b
chips. You could make adjustments for raises and all-ins, but you would just end up reaching the simple formula from the last paragraph, which takes into account all the action so far.
Consider the scenario where you get to the flop with five other players and the pot is 1000 chips. You are first to act and make a bet of 500 chips, everyone folds except the short stack who shoves 550 chips. It is not obvious what your pot odds to call are now using your formula, but using costToCall/(sizeOfPot + costToCall) = 50/(2050 + 50) = 0.0238
, it is very easy to calculate your pot odds. You only need 2.4% equity to call, so you should be calling with any hand.
Now lets look at a situation where your formula does work: You just got to the flop with three other players (four players, counting yourself) and there are 1000 chips in the pot. You are first to act and check. The next player bets 500 chips, both other players calls. Now we have b = 500
, p = 1000
(your formula uses the pot size from the beginning of the betting round), n = 4
, so b/(p + nb) = 500/(1000 + 4*500) = 0.1667
, that's the same result as you would get with the simpler formula where sizeOfPot = 2500
and costToCall = 500
.
Now to explain your last question, lets take the previous scenario, but bind the variable d = 0.2
(20% pot odds) and free the variables b
and n
; then we can solve for b
in terms of n
:
b(n) = dp/(1-dn) = 0.2*1000/(1 - 0.2n)
= 200/(1 - 0.2n)
Now lets try some values of n
:
b(0) = 200
b(1) = 250
b(2) = 333.333
b(3) = 500
b(4) = 1000
b(5) = undefined*
b(6) = -1000
b(7) = -500
b(8) = -333.333
b(9) = -250
*You can't actual say b = dp/(1-dn)
, when dn = 1
, since you would have divided by 0 during your algebraic derivation, which you cannot do. You have derived b = dp/(1-dn), for dn ≠ 1
.
What these numbers are telling you is the value of b
that would allow you to exactly break even with 20% (in this case) equity, for different numbers of players (assuming each of those players calls the bet and has enough chips for it). So b(4) = 1000
, tells you that in order to call with a 20% chance of winning or better with 4 players you need the bet to be 1000
or less. You get negative values for n > 5
, because when there are 5 or more players it doesn't matter what b
is you always have the odds to call, in fact, hypothetically speaking, you would even have the odds to call if someone bet a negative amount, as long as the magnitude wasn't too large. The reason you can call any size bet when n > 5
, is because your formula assumes that all 5+
of the players can afford and have called, the full bet amount, which means that if you have more than 1/5 = 20%
, you are getting your money in good no matter how big b
is, since there will always be more than 5b
added to the pot, and you only have to put in 1b
your expectation is 0.2*nb - b
, which is +EV when n > 5
no matter how big b
is.