# 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.

- Calculator id: `kelly-criterion` · Category: Games & Betting Math (`gaming`) · Tool name: `calculate_kelly_stake`
- Canonical page: https://tttkmbb.com/gaming/kelly-criterion · This document: https://tttkmbb.com/gaming/kelly-criterion.md · JSON definition: https://tttkmbb.com/gaming/kelly-criterion.json

## Purpose

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.

**Use when:** 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.

## Input

| Parameter | Type | Unit | Required | Description |
| --- | --- | --- | --- | --- |
| `decimal_odds` | number |  | required | Decimal (European) odds including the stake, e.g. 2.20; convert other formats with odds-converter. (> 1, max 1000000) |
| `win_probability_percent` | number | % | required | Your own estimate of the probability that the bet wins, in percent. (> 0, max 100) |
| `bankroll` | number |  | optional, default 1000 | Total funds available for betting (any currency). (> 0, max 1000000000000) |
| `kelly_fraction` | number |  | optional, default 1 | Multiplier applied to the full Kelly fraction: 1 = full Kelly, 0.5 = half Kelly, 0.25 = quarter Kelly. (> 0, max 1) |

## Output

| Field | 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. |

## 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.

## Data Sources

- Kelly JL (1956) A New Interpretation of Information Rate, Bell System Technical Journal 35(4):917-926 — https://doi.org/10.1002/j.1538-7305.1956.tb03809.x (peer_reviewed, retrieved 2026-09-24)
- Kelly criterion (Wikipedia) — https://en.wikipedia.org/wiki/Kelly_criterion (reference, retrieved 2026-09-24)

Data freshness: `static`. Deterministic formula with fixed constants; results never go stale. Inputs supplied by the caller determine the output.

## API

- `GET https://tttkmbb.com/api/v1/calculate/kelly-criterion?decimal_odds=…&win_probability_percent=…`
- `POST https://tttkmbb.com/api/v1/calculate/kelly-criterion` with JSON body `{"inputs": {…}}`
- Response: unified envelope (`success`, `request`, `result.values`, `result.units`, `sources`, `freshness`, `timestamp`, `next_actions`, `links`); see https://tttkmbb.com/docs/response-format.md
- Schema: https://tttkmbb.com/api/v1/calculators/kelly-criterion · OpenAPI operationId `calculate_kelly_stake` in https://tttkmbb.com/openapi.json
- Authentication: none. Rate limit: fair use, see https://tttkmbb.com/docs/rate-limits.md.

## MCP

- Server: `https://tttkmbb.com/mcp` (Streamable HTTP, JSON-RPC 2.0, no auth)
- Tool:  `run_calculator` with `{"calculator_id": "kelly-criterion", "inputs": {…}}`

## Example

- Evens (2.00), 55 % chance, bankroll 1000: inputs `{"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: inputs `{"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
```

## Limitations

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. 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. All values are computed from the formula above; no measurement or live data is involved.

## 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

- [Bet Expected Value Calculator](https://tttkmbb.com/gaming/bet-expected-value.md) — Expected value of the same bet without sizing.
- [Expected Value Calculator](https://tttkmbb.com/statistics/expected-value.md) — General probability-weighted mean of outcomes.
- [Odds Converter](https://tttkmbb.com/gaming/odds-converter.md) — Convert American or fractional prices to decimal odds.
