HomeTools › Kelly Calculator

Kelly Criterion Calculator

Compute the optimal stake size for any bet given your true probability and the offered decimal odds. Includes fractional Kelly variants and expected value. Used daily by TIPERO's tennis model — open-source math, no signup, no email gate.

How likely you think the bet wins. 50% = coin flip.
e.g. 2.00 = even money. Convert American/fractional here.
Used to display the stake in your currency.
1.0 = full Kelly. TIPERO uses 0.15. Recreational: 0.25–0.5.
Edge
Full Kelly stake
Fractional Kelly
Stake (currency)
Implied prob.
Expected value

How the Kelly Criterion works

The Kelly Criterion gives you the bet size that maximises the long-term geometric growth of your bankroll. It's not the size that maximises your expected money — that would be "bet everything when EV is positive," which guarantees ruin in finite time. Kelly trades a bit of expected return for survival.

The formula (decimal odds version)

f* = (p × (b + 1) − 1) / b

Where:

If f* < 0, the bet has negative EV — Kelly says don't bet. If f* > 0, that's the optimal full-Kelly stake.

Why fractional Kelly

Full Kelly is mathematically optimal only if your probability estimates are perfect. In reality, every model has error. If you overestimate your edge by 20%, full Kelly will overstake by 20% — and the resulting drawdowns are brutal. Fractional Kelly (0.25× to 0.5×) gives up almost nothing in expected growth but cuts variance dramatically.

FractionGrowth (vs full Kelly)Drawdown reductionUsed by
1.0× (full)100%0%Theoretical only
0.5×~75%~50%Sharps, advantage players
0.25×~44%~75%Most pros, prop bettors
0.15×~28%~85%TIPERO
0.10×~19%~90%Conservative bankroll mgmt

TIPERO uses 0.15 Kelly because tennis odds move fast and our model probability has a measurable variance. We trade 70% of theoretical growth for an 85% reduction in worst-case drawdowns — a no-brainer when your livelihood depends on the bankroll surviving.

Common mistakes

  1. Using the bookmaker's implied probability as "p" → Kelly will always recommend 0 because p = implied = fair by definition. You need an independent estimate of p from a model or your own analysis.
  2. Forgetting to subtract 1 from decimal odds → "b" is net profit per unit, not gross. Decimal 2.50 → b = 1.50.
  3. Using nominal probability without accounting for the vig → If both sides of a market sum to 105% (5% vig), the "true" implied probability for one side is its own price ÷ 1.05.
  4. Compounding daily without re-evaluating → Kelly assumes you re-stake on every bet using current bankroll. If you place 10 bets in a day and stake from a static balance, you're under-betting.

Related tools

Don't have your own probability model?

TIPERO's tennis model outputs calibrated probabilities + Kelly stakes for every ATP, WTA and Challenger match — every day. 7-day free trial, no credit card.

Start Free Trial →

FAQ

What is the Kelly Criterion?

The Kelly Criterion is a formula for sizing bets to maximise the long-term geometric growth of your bankroll. Output: the fraction of your bankroll to stake, given your edge and offered odds.

What is fractional Kelly?

Fractional Kelly multiplies the full Kelly stake by a constant (usually 0.25–0.5) to reduce variance. TIPERO uses 0.15 Kelly, producing ~85% lower drawdowns than full Kelly while keeping ~28% of the theoretical growth — a much better risk-adjusted return when probability estimates are imperfect.

Why does Kelly suggest 0 if my probability is below the implied probability?

Because the bet has negative expected value. You should only bet when your probability is higher than the implied probability of the odds. Kelly never recommends a negative-EV bet.

Can I use Kelly for parlays / accumulators?

Mathematically yes, but the variance compounds. For 3+ leg parlays the recommended Kelly fraction shrinks toward zero very quickly. Most pros avoid Kelly for parlays.

Does TIPERO use this calculator internally?

The math is the same. Our production stake-sizer (stake_sizing_apply.py) applies 0.15 Kelly with a min stake of 0.25u and a max of 1.50u, plus tier-specific caps.