A parlay combines selections into one ticket. Under the simple model below, every leg must win, and the offered decimal payout is the product of the leg payouts. Actual sportsbook terms can change the payout for correlated selections, voids or special promotions; use the ticket’s offered payout when evaluating it.
These examples assume independent, hypothetical 50/50 events at −110, with no additional costs. They are arithmetic, not a study of bettors or a recommendation to trade.
Payout and gross break-even rate
−110 converts exactly to decimal odds 1 + 100 / 110 = 21 / 11. Avoid rounding each leg to 1.91 before multiplying.
Combined decimal payout D = product of offered leg decimals
Gross break-even ticket probability = 1 / D
Net expected profit per $1 stake = P(all legs win) × D − 1
For independent events, P(all win) is the product of their true probabilities. If they are correlated, that product is generally wrong: you need their joint probability.
Fair coin examples at −110
| Legs | Decimal payout | Gross break-even probability | Assumed true win probability | Expected loss as % of stake |
|---|---|---|---|---|
| 1 | 1.90909 | 52.38095% | 50.00000% | 4.54545% |
| 3 | 6.95793 | 14.37210% | 12.50000% | 13.02592% |
| 4 | 13.28331 | 7.52824% | 6.25000% | 16.97929% |
A four-leg $100 ticket therefore has an expected total return of about $83.02 and expected net loss of $16.98. The 1.28-percentage-point difference between ticket break-even and true probability is not itself the expected loss percentage.
If you instead split the same $100 into four $25 single bets under these assumptions, expected loss is $4.55 in total, or 4.55% of the total stake. You do not add four percentage losses and label the sum a percentage of that combined stake. The individual positions and the parlay have different payout distributions.
The per-leg threshold does not rise merely by adding identical legs
For independent legs with the same true probability p and decimal payout d, ticket expectation is nonnegative when (p × d)^n >= 1. Thus the gross per-leg break-even rate is p = 1 / d, or 52.38095% at −110, for any number of identical legs.
Adding legs reduces the chance the entire ticket wins and changes variance. It does not turn the identical-leg threshold into 54% or 55%. A claimed 55% picker still needs evidence of that true rate on the selected population and independence assumptions; headline accuracy does not establish it.
When positive expected value is possible
Evaluate the joint win probability against the actual offered payout. A promotion changes the payout, not the underlying event probability. Read stake caps, eligible markets, payout definitions and withdrawal terms; a boost is not automatically positive expected value.
Correlation can increase or decrease the joint probability relative to the independence product. That does not show the bookmaker has underpriced it. For independent legs with correctly known individual expected-return multipliers, those multipliers combine under this product-payout model. An estimated probability remains an uncertain input.
Holding several single contracts is not mathematically equivalent to a parlay. Singles can pay when only some positions win; the parlay may pay only when all win. Exchange contracts also have spreads, fees and fill limitations. Do not assume “price equals true probability” or a cost-free way to obtain parlay exposure.
Python for the independent-leg model
The following snippet uses supplied probabilities and payout decimals. It assumes valid inputs and independent legs; it does not fit probabilities, model correlation or verify a live ticket.
def parlay_decimal(leg_decimals):
result = 1.0
for d in leg_decimals:
result *= d
return result
def parlay_implied_prob(leg_decimals):
return 1 / parlay_decimal(leg_decimals)
def parlay_ev(leg_decimals, true_probs, stake=100):
combined = parlay_decimal(leg_decimals)
win_prob = 1.0
for p in true_probs:
win_prob *= p
expected_return = win_prob * stake * combined
return expected_return - stake
def parlay_breakeven_per_leg(leg_decimals):
combined = parlay_decimal(leg_decimals)
return (1 / combined) ** (1 / len(leg_decimals))
The parlay calculator helps inspect the arithmetic. Use the odds converter to keep payout and probability units consistent, and the Kelly formula guide for sizing assumptions.