Home › Games & 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
| Parameter | Type | Unit | Required | Description |
|---|---|---|---|---|
decimal_odds | number | yes | Decimal (European) odds including the stake, e.g. 2.20; convert other formats with odds-converter. Range: > 1, ≤ 1000000 | |
win_probability_percent | number | % | yes | Your own estimate of the probability that the bet wins, in percent. Range: > 0, ≤ 100 |
bankroll | number | default 1000 | Total funds available for betting (any currency). Range: > 0, ≤ 1000000000000 | |
kelly_fraction | number | default 1 | Multiplier applied to the full Kelly fraction: 1 = full Kelly, 0.5 = half Kelly, 0.25 = quarter Kelly. Range: > 0, ≤ 1 |
Outputs
| Output | Type | Unit | Description |
|---|---|---|---|
kelly_percent | number | % | f* × 100 = (b·p − q)/b × 100; zero or negative means no edge (no bet). |
recommended_stake | number | bankroll × f* × kelly_fraction, or 0 when f* ≤ 0. | |
full_kelly_stake | number | bankroll × f* (0 when f* ≤ 0). | |
half_kelly_stake | number | bankroll × f* / 2 (0 when f* ≤ 0). | |
expected_growth_rate_percent | number | % | (p·ln(1 + f·b) + q·ln(1 − f)) × 100 at the recommended fraction f = f* × kelly_fraction. |
edge_percent | number | % | (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
- API:
GET https://tttkmbb.com/api/v1/calculate/kelly-criterion(query parameters) orPOSTwith a JSON body{"inputs": {...}} - Schema: https://tttkmbb.com/api/v1/calculators/kelly-criterion · Markdown: https://tttkmbb.com/gaming/kelly-criterion.md · JSON definition: https://tttkmbb.com/gaming/kelly-criterion.json
- MCP: server
https://tttkmbb.com/mcp, toolrun_calculator with calculator_id="kelly-criterion" - OpenAPI operationId:
calculate_kelly_stake - Freshness:
static. Authentication: none. Rate limit: fair use (see rate limits).
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
- Bet Expected Value Calculator — Expected value of the same bet without sizing.
- Expected Value Calculator — General probability-weighted mean of outcomes.
- Odds Converter — Convert American or fractional prices to decimal odds.