Skip to content
DocsUnitley Docs home

Kelly and stake caps

The Kelly formula, the fraction of it each Unitley risk profile bets, and the caps that hold every suggested stake down.

The Kelly criterion gives the share of a bankroll that grows it fastest, if your win chance is exact. Your win chance is never exact, so Unitley never bets full Kelly. It sizes every suggested stake at a fraction of Kelly, then holds it under a set of caps.

The Kelly formula

f = (b × p − q) ÷ b
  • b is the profit per 1 staked: the decimal price minus 1.
  • p is your win chance, and q is 1 − p, the chance of losing.
  • f is the share of the bankroll to stake.

A result of zero or below means the bet has no edge, and the answer is not to bet.

At 55% on +100, b is 1, so f = (0.55 − 0.45) ÷ 1 = 0.1, a tenth of the bankroll. At 55% on −110, f is 0.055. Unitley never stakes those amounts. They are the starting point that the fraction and the caps cut down.

Why not full Kelly

Full Kelly is only right when your chance is exact, which it never is. If your chance is too high, the stake is too big, and the swings are hard on a real bankroll. A fraction of Kelly gives up some growth for much smaller swings. The math in Unitley refuses a fraction of 1 or more, so no setting can turn full Kelly on.

Risk profiles

Your risk profile sets the fraction of Kelly and a hard cap on any one bet, as a share of your bankroll. Balanced is the default.

ProfileShare of KellyCap on one bet
ConservativeQuarter Kelly (0.25)2% of the bankroll
BalancedThird Kelly (1/3)3% of the bankroll
AggressiveHalf Kelly (0.5)5% of the bankroll

You pick a profile when you set up your bankroll. See Bankroll and risk profiles, or change it on the Bankroll page.

How a stake is sized

Every suggested stake goes through the same steps, in this order:

  1. Work out the Kelly share from your win chance and the price.
  2. Multiply it by your profile's fraction, never going below 0, and hold it under the profile's cap.
  3. Multiply by your current bankroll: your starting bankroll plus the profit on every settled bet.
  4. Hold it under your max stake, if you set one.
  5. Hold it under the room left on your daily loss limit, then your weekly one, if you set them. The room is the limit, less your net loss on bets settled in the last 24 hours (or the last 7 days), less the stake on every open bet. It never goes below 0.
  6. Round down to the cent.

The answer lists each rule that held the stake down in appliedCaps: profile_cap, max_stake, daily_loss_limit or weekly_loss_limit. A bet with no edge gets a stake of 0 and no_edge. An empty bankroll gets 0 and bankroll_empty.

Worked example

On a $1,000 bankroll, at 55% on −110 (Kelly share 0.055), with no max stake or loss limits:

ProfileShare of bankrollStakeappliedCaps
Conservative0.01375$13.75none
Balanced0.018333…$18.33none
Aggressive0.0275$27.50none

At 55% on +100 (Kelly share 0.1), the caps start to bite:

ProfileFraction × KellyHeld toStakeappliedCaps
Conservative0.0250.02$20.00profile_cap
Balanced0.0333…0.03$30.00profile_cap
Aggressive0.050.05$50.00none

The aggressive stake lands exactly on its cap, so the cap is not listed.

Your own limits come next. With a max stake of $15, the balanced stake at −110 becomes $15.00 with max_stake. With a $100 daily loss limit, $60 lost in the last 24 hours and $30 in open bets, only $10 of room is left, so any larger stake becomes $10.00 with daily_loss_limit.

In the tools

calc_kelly_stake takes probability and americanOdds and sizes a stake to your own bankroll. It returns stake in dollars, kellyShare, bankroll, appliedCaps, your riskProfile and its kellyLabel, such as "Third Kelly".

save_recommendation sizes the card's stake the same way from the modelProbability you send. Unitley works out the stake on the server and ignores any stake sent with the card.

Both tools need your bankroll set up first. Without it they answer with a not_found error that says so.

log_bet does not resize a stake. When a bet goes past your max stake or a loss limit, it logs the bet and returns a warning for each limit.

21+ · Gambling problem? Call 1-800-GAMBLER or visit ncpgambling.org

Unitley is an analysis tool, not a sportsbook: it takes no bets and holds no money. Nothing in these docs is a guarantee or financial advice. Only bet where it is legal for you. Unitley is not affiliated with the NFL, its teams, or any sportsbook.

©︎ 2026 Unitley · Analysis, not a guarantee.