Apply the Kelly Criterion to football betting strategies: what you’ll learn first
This first part shows how to turn bookmaker odds and simple model outputs (xG, form-based probabilities) into estimated win probabilities, how to strip the bookmaker margin, and the basic Kelly formulas you’ll use to size stakes. The goal is practical: give clear steps you can follow before moving on to market-specific staking and record‑keeping.
Why convert odds and model outputs to probabilities before staking
Bookmakers express prices as odds; models (xG, form) give predictive signals. To use any staking rule sensibly you need an estimated probability (p) for an outcome that you trust. Comparing your p to the market’s implied probability reveals value: when p > implied probability (after removing margin) there may be a positive edge worth staking with Kelly as a sizing framework.
- Odds → implied probability: immediate market view.
- Model outputs (xG, form) → model probability: your independent estimate.
- Edge = model p − market p (normalized). Kelly uses that edge to size stakes.
Step‑by‑step: convert odds and model outputs into usable probabilities
1. Convert decimal odds to implied probability and remove the vig
Decimal odds to implied probability: implied = 1 / odds. For multi‑outcome markets (match result), the summed implied probabilities exceed 1 because of the bookmaker margin (vig). Remove the vig by normalising:
- Calculate each implied probability: pi = 1 / odds_i.
- Sum S = Σ pi across all outcomes.
- Normalized market probability for outcome i = pi / S.
Example: odds 2.00 (home), 3.50 (draw), 4.00 (away) → implied 0.50, 0.2857, 0.25 (sum 1.0357). Normalised market probabilities ≈ 0.483, 0.276, 0.241.
2. Turn xG or form outputs into match outcome probabilities
Two practical options depending on your tools and experience:
- Poisson method (recommended if you have team xG for/against): use each team’s expected goals (λ) to calculate score‑probabilities with Poisson, then sum probabilities for home win / draw / away win across plausible scorelines (e.g., 0–5). This gives an intuitive mapping from xG to result probabilities.
- Calibrated logistic mapping (simpler): turn a model’s numeric rating or xG difference into a win probability with a logistic function fitted on historical data. Calibration makes your p more realistic.
Whichever method is used, validate the model p against historical matches to avoid systematic bias (over‑ or under‑estimating draws, for example).
3. Combine model and market information (optional)
If you want a blended estimate, weight the model p and normalized market p: p_combined = w_model × p_model + (1 − w_model) × p_market. Choose w_model based on confidence and historical calibration (e.g., 0.6 for a well‑calibrated model).
Basic Kelly sizing and a simple example
Use the fractional Kelly approach to reduce variance. The full Kelly fraction is:
f* = (b × p − q) / b
where b = decimal_odds − 1, p = your estimated probability, q = 1 − p. Stake = f × bankroll (use 0 if f ≤ 0). A common risk control is half‑Kelly: stake = 0.5 × f* × bankroll.
Example: bankroll £1,000, decimal odds 3.00, model p = 0.40 → b = 2.00, q = 0.60 → f* = (2×0.4 − 0.6) / 2 = 0.10 → full Kelly stake = £100, half‑Kelly = £50. Many bettors cap stakes and use fractional Kelly to reduce drawdown risk.
Next, the guide will show how to apply these probability conversions and Kelly calculations across common markets (match result, over/under, both teams to score), build simple staking tables, and implement practical risk controls and record‑keeping.
Apply Kelly across common markets: match result, over/under and BTTS
For each market you need a clean mapping from your model (xG, form) to the market outcome probabilities used in the Kelly formula. The mechanics differ slightly by market.
– Match result (1X2): you’ve already seen two approaches (Poisson from team xG or a calibrated logistic). Use whichever produces the most honest calibration for three‑way outcomes. After you compute p_model_home, p_model_draw, p_model_away and normalise market probabilities, run Kelly separately for any 1X2 selection that shows positive edge.
– Over/Under (e.g., O/U 2.5): use total‑goals distribution. If you have team λ_home and λ_away, compute the probability mass for each scoreline via independent Poisson processes, then sum the probabilities where total goals > 2.5 for Over and ≤ 2.5 for Under. That gives p_over and p_under to compare with the market’s normalised prices. For alternative lines (2.0, 3.5) do the same with the corresponding cutoff.
– Both Teams To Score (BTTS): compute P(home scores ≥1) = 1 − P(home scores 0) and similarly for away. More precisely, BTTS = 1 − P(home 0) − P(away 0) + P(both 0). With Poisson scores this is straightforward (P(team scores 0) = e^(−λ)). Compare your BTTS p with the market’s implied probability and apply Kelly if you have an edge.
Notes on dependencies and corrections:
– Poisson assumes independence of goals; adjust if your historical calibration shows dependence (e.g., low‑scoring leagues). Consider using a bivariate Poisson or empirically adjusting probabilities if draws or BTTS are systematically misestimated.
– For handicaps, Asian lines and markets with multiple correlated legs, calculate each line’s p explicitly and be conservative about correlation when staking multiple related bets (see portfolio controls below).
Building simple staking tables and portfolio rules
Create a concise table (spreadsheet or simple database) to convert each value bet into a recommended stake. Suggested columns:
– Match, Market (1X2 / O/U / BTTS), Odds, Market p (normalised), Model p, Edge = p_model − p_market, b = odds − 1
– f (full Kelly) = (b×p − (1−p)) / b, f_positive = max(f*,0)
– Suggested stake_full = f*_positive × bankroll, stake_fractional (e.g., half‑Kelly) = fraction × stake_full
– Cap (absolute £ or % of bankroll), Final stake (after rounding)
Practical portfolio rules to reduce risk:
– Use fractional Kelly (¼ or ½). Full Kelly is optimal in theory but volatile in practice.
– Absolute caps: never stake more than e.g. 2–5% of bankroll on a single selection regardless of f*.
– Daily/round caps: limit total exposure per matchday (e.g., max 10% of bankroll) to avoid concentration in leagues or days.
– Correlation control: when multiple bets are correlated (same match multiple markets or same team across markets), reduce stakes pro rata or treat them as a single aggregated position.
– Rebalance frequency: update model probabilities and stakes only on a predictable schedule (e.g., when odds are first available and again at a cut‑off) to avoid chasing last‑minute moves.
These rules keep Kelly’s mathematically optimal sizing from producing extreme, impractical stakes and help you build a disciplined, auditable staking process.
Implementing and tracking your Kelly system
Record‑keeping and core metrics
Keep a single, auditable ledger (spreadsheet or database) for every bet so you can measure performance and diagnose issues. At minimum record:
- Date, competition, fixture and market
- Bookmaker and decimal odds
- Normalised market probability and your model probability (and any blended p)
- Edge (p_model − p_market), b (odds − 1) and Kelly fraction f*
- Fractional stake used, bankroll at time of bet, final stake after caps/rounding
- Result and net P&L for the selection
- Running bankroll, cumulative ROI and peak‑to‑trough drawdown
- Flags for correlated bets, cancelled/voided bets, and notes on late market moves
Daily workflow checklist
- Pull latest market odds and normalise to remove vig.
- Calculate or update model probabilities (Poisson, logistic or blended).
- Identify value bets where p_model > p_market; compute f* and apply your fractional Kelly and caps.
- Decide stake, place bet, and immediately log the entry (stake, odds, metadata).
- After matches settle, log outcomes and update bankroll and metrics.
Review cadence and model governance
Regular reviews keep the system honest and adaptive:
- Weekly: reconcile entries, check for logging errors, review large individual losses or wins.
- Monthly: analyse calibration (Brier score, reliability plots), ROI by league/market, and stake distribution versus limits.
- Quarterly: revisit model weights, shrinkage parameters, and correlation assumptions; document any rule changes before applying them live.
- Keep a changelog: date, reason for change, and back‑tested or out‑of‑sample evidence supporting adjustments.
Practical risk controls
- Use fractional Kelly (¼–½) and an absolute single‑bet cap (e.g., 2–5% of bankroll).
- Limit total exposure per day/round and reduce stakes when placing correlated bets.
- Auto‑disable staking if drawdown crosses predefined thresholds until you review the system.
- Round stakes to sensible increments to avoid tiny micro‑bets and execution friction.
A disciplined mindset for long‑term application
Applying Kelly in football betting is as much about process and discipline as it is about probability math. Use conservative fractions, enforce caps, keep meticulous records, and treat tweaks to models or staking rules as experiments that require documentation and testing. Expect variance, welcome calibration, and let systematic, repeatable workflows — not emotion or short‑term results — guide whether your approach is working over time.



