How much to stake matters as much as what to bet. Stake too much on a real edge and a normal losing run can still wipe out a bankroll. The Kelly criterion sizes a stake to the edge; a unit is a fixed stake for keeping bets level.
Full Kelly
The full Kelly stake, as a share of the bankroll:
f = (b × p − q) ÷ b
where b is the profit per $1 staked (decimal odds − 1), p is your win chance and q = 1 − p.
- 55% at +100: b = 1, so f = (0.55 − 0.45) ÷ 1 = 10% of the bankroll.
- 55% at −110: b = 0.909, so f = 5.5%.
- No edge, or a negative one, gives 0: no bet.
Full Kelly grows a bankroll fastest in theory, but only if your win chance is exactly right. It never is, and full Kelly on an overestimated edge overbets badly. The swings at full Kelly are also far larger than most people can stomach.
Fractional Kelly
Staking a fraction of full Kelly gives up a little growth for much smaller swings and much more room for error in your estimate. Unitley never uses full Kelly. Each risk profile sets a fraction and a cap on any one stake:
| Profile | Kelly fraction | Most of the bankroll on one bet |
|---|---|---|
| Conservative | Quarter Kelly | 2% |
| Balanced | Third Kelly | 3% |
| Aggressive | Half Kelly | 5% |
At 55% and +100, full Kelly is 10%. Quarter Kelly is 2.5%, held to 2% by the Conservative cap. Third Kelly is 3.33%, held to 3%. Half Kelly is 5%, right at the Aggressive cap.
At 55% and −110, full Kelly is 5.5%: quarter Kelly 1.38%, third Kelly 1.83%, half Kelly 2.75%, all under their caps.
Units
A unit is a standard stake, often 1% to 2% of the bankroll. Betting in units keeps one bet from mattering much more than another, and lets you compare records across bankroll sizes: +12 units means the same thing at $500 or $50,000. Many bettors stake 1 unit by default and size up only on their strongest edges.
In Unitley
calc_kelly_stake sizes a stake to the user's own bankroll: their profile's fraction of Kelly, held under the profile's cap, their max stake and the room left under their daily and weekly loss limits. It says which caps applied. get_bankroll shows the unit size and the profile in force.
Names set like this are Unitley’s tools: what your AI agent, or the analyst in the web app, calls to get these numbers. See the docs