HomeGames & Betting Math › Kelly Criterion Calculator

Kelly Criterion Calculator

Computes the Kelly stake fraction f* = (b·p − q)/b from decimal odds and an estimated win probability, the recommended stake for a bankroll at full or fractional Kelly, and the expected logarithmic growth rate per bet.

When to use

You know the odds and your estimated win probability and want the bankroll fraction that maximises long-run growth (or a fractional-Kelly stake).

Do not use when: The probability estimate is unreliable (Kelly over-bets badly when p is overstated), the bet has more than two outcomes, or you only need the expected value (use bet-expected-value). Mathematics only; not gambling advice.

Formula

b = decimal_odds − 1; p = win_probability_percent/100; q = 1 − p; f* = (b·p − q)/b; recommended_stake = bankroll × max(f*, 0) × kelly_fraction; growth = p·ln(1 + f·b) + q·ln(1 − f) with f = max(f*, 0) × kelly_fraction

Kelly (1956): betting the fraction f* of the bankroll maximises the expected logarithm of wealth for repeated independent bets with a known edge. Fractional Kelly (0.25–0.5) gives most of the growth with far smaller drawdowns. Probability mathematics only; not gambling advice.

Inputs

ParameterTypeUnitRequiredDescription
decimal_oddsnumberyesDecimal (European) odds including the stake, e.g. 2.20; convert other formats with odds-converter. Range: > 1, ≤ 1000000
win_probability_percentnumber%yesYour own estimate of the probability that the bet wins, in percent. Range: > 0, ≤ 100
bankrollnumberdefault 1000Total funds available for betting (any currency). Range: > 0, ≤ 1000000000000
kelly_fractionnumberdefault 1Multiplier applied to the full Kelly fraction: 1 = full Kelly, 0.5 = half Kelly, 0.25 = quarter Kelly. Range: > 0, ≤ 1

Outputs

OutputTypeUnitDescription
kelly_percentnumber%f* × 100 = (b·p − q)/b × 100; zero or negative means no edge (no bet).
recommended_stakenumberbankroll × f* × kelly_fraction, or 0 when f* ≤ 0.
full_kelly_stakenumberbankroll × f* (0 when f* ≤ 0).
half_kelly_stakenumberbankroll × f* / 2 (0 when f* ≤ 0).
expected_growth_rate_percentnumber%(p·ln(1 + f·b) + q·ln(1 − f)) × 100 at the recommended fraction f = f* × kelly_fraction.
edge_percentnumber%(b·p − q) × 100 = (p·decimal_odds − 1) × 100; Kelly is edge divided by the net odds b.

Example

Evens (2.00), 55 % chance, bankroll 1000: {"decimal_odds":2,"win_probability_percent":55,"bankroll":1000,"kelly_fraction":1}{"kelly_percent":10,"recommended_stake":100,"half_kelly_stake":50,"expected_growth_rate_percent":0.5,"edge_percent":10}

Odds 3.50, 35 % chance, bankroll 5000, half Kelly: {"decimal_odds":3.5,"win_probability_percent":35,"bankroll":5000,"kelly_fraction":0.5}{"kelly_percent":9,"recommended_stake":225,"full_kelly_stake":450,"half_kelly_stake":225,"expected_growth_rate_percent":0.74,"edge_percent":22.5}

GET https://tttkmbb.com/api/v1/calculate/kelly-criterion?decimal_odds=2&win_probability_percent=55&bankroll=1000&kelly_fraction=1

Machine access

Sources

FAQ

Why use half Kelly?

Full Kelly assumes the probability is exactly right and tolerates 50 % drawdowns; half Kelly keeps about 75 % of the growth rate with roughly half the volatility and protects against an overstated edge.

What does a negative Kelly percentage mean?

The bet has no edge (p·odds < 1): expected value is negative and the recommended stake is 0. A negative f* would only be a bet on the opposite outcome if such a price existed.

Is the edge here the same as in bet-expected-value?

No. Here edge is the expected return per unit staked (b·p − q); bet-expected-value reports the edge as the difference in percentage points between your probability and the implied probability.

Related calculators