Chapter 4: Key Takeaways — Bankroll Management Fundamentals
Core Formulas
Kelly Criterion (General Form)
$$f^* = \frac{p \cdot d - 1}{d - 1}$$
Where: - f = optimal fraction of bankroll to wager - p = true probability of winning - d = decimal odds offered - p * d - 1 = expected edge (must be positive for a bet to be worthwhile) - d - 1* = net odds (profit per dollar wagered if you win)
Even-money special case (d = 2.0): f* = 2p - 1
Risk of Ruin (Even-Money Bets, Fixed Staking)
$$R = \left(\frac{1 - p}{p}\right)^{B/u}$$
Where: - R = probability of eventual ruin (going broke) - p = win probability (must be > 0.50 for formula to apply) - B = current bankroll - u = fixed unit (bet) size - B/u = number of units in bankroll
Expected Growth Rate (Per Bet)
$$g(f) = p \cdot \ln(1 + f \cdot (d - 1)) + (1 - p) \cdot \ln(1 - f)$$
Where f is the fraction of bankroll wagered. Maximized when f = f* (the Kelly fraction).
Fractional Kelly Growth Rate Retention
| Kelly Multiple | Growth Rate (% of Maximum) | Variance (% of Full Kelly) |
|---|---|---|
| 0.25 (Quarter Kelly) | ~44% | ~6% |
| 0.50 (Half Kelly) | ~75% | ~25% |
| 0.75 (Three-Quarter Kelly) | ~94% | ~56% |
| 1.00 (Full Kelly) | 100% | 100% |
| 1.50 (Over-Kelly) | ~75% | ~225% |
| 2.00 (Double Kelly) | 0% | ~400% |
| >2.00 | Negative | Extreme |
Key Concepts at a Glance
The Kelly Criterion
- Maximizes the geometric growth rate (long-run compounding) of a bankroll.
- Balances the trade-off between betting too much (excessive risk) and too little (slow growth).
- Requires knowing your true probability of winning, which in practice must be estimated.
- A negative Kelly fraction means the bet has negative expected value -- do not bet.
Risk of Ruin
- The probability that a bettor's bankroll will eventually reach zero under fixed staking.
- Exponentially sensitive to edge: doubling your edge reduces risk of ruin dramatically.
- Exponentially sensitive to bankroll depth: doubling your units halves the log of ruin probability.
- Under pure proportional (Kelly) staking, theoretical risk of ruin is zero, but practical constraints (minimum bets, withdrawal needs) reintroduce ruin risk.
Why Fractional Kelly Dominates in Practice
- Edge estimation error: If your estimated edge is wrong, full Kelly based on overestimated edge is actually over-Kelly, which is destructive.
- Flat growth curve near optimum: The growth rate curve is flat at the top, so reducing from full to half Kelly sacrifices only ~25% of growth.
- Drawdown reduction: Half Kelly roughly halves the variance and dramatically reduces maximum drawdown.
- Asymmetric consequences: Overbetting by X% is far more costly than underbetting by X%.
Unit Sizing Guidelines
- Conservative: 1% of bankroll per unit (100-unit bankroll)
- Standard: 2% of bankroll per unit (50-unit bankroll)
- Aggressive: 3-5% of bankroll per unit (20-33 unit bankroll)
- Maximum single-bet exposure: Rarely exceed 5% of bankroll regardless of perceived edge
Decision Framework
Before Placing Any Bet
Step 1: Estimate your true win probability (p)
|
Step 2: Calculate the implied probability from the odds
|
Step 3: Determine your edge = p * d - 1
|
+--> If edge <= 0: DO NOT BET
|
+--> If edge > 0: Continue to Step 4
|
Step 4: Calculate Kelly fraction: f* = edge / (d - 1)
|
Step 5: Apply fractional Kelly (recommended: 0.25 to 0.50 of f*)
|
Step 6: Check against maximum exposure limits
|
+--> Single bet: max 5% of bankroll
+--> Daily total: max 10-15% of bankroll
+--> Correlated bets: reduce further
|
Step 7: Place the bet at the smaller of Kelly-recommended and exposure limit
When to Adjust Your Staking
| Situation | Action |
|---|---|
| Bankroll grows by 25%+ | Recalculate unit sizes upward |
| Bankroll drops by 20%+ | Recalculate unit sizes downward |
| Win rate trending below estimate | Reduce to quarter Kelly; reassess edge |
| Win rate trending above estimate | Maintain current Kelly fraction (do not chase) |
| Placing multiple correlated bets | Reduce individual bet sizes; cap total exposure |
| Edge uncertainty is high (small sample) | Use quarter Kelly or lower bound of confidence interval |
| Edge uncertainty is low (large sample, proven model) | Consider moving toward half Kelly |
Emergency Rules
- Never chase losses by increasing bet sizes after a losing streak.
- Never exceed your maximum single-bet limit regardless of how confident you feel.
- Stop betting if your bankroll drops below 50% of its starting value -- reassess your edge.
- Keep separate records for each sport/bet type to identify where your edge truly exists.
- Reassess your edge estimate every 200-300 bets using confidence intervals.
Common Mistakes to Avoid
| Mistake | Why It's Dangerous | Correction |
|---|---|---|
| Using full Kelly without accounting for edge uncertainty | Overestimates optimal bet size; likely overbetting | Use half or quarter Kelly |
| Flat-dollar betting that doesn't adjust to bankroll | Risk of ruin increases as bankroll shrinks; opportunity cost as it grows | Switch to percentage-based staking |
| Ignoring correlation between bets | Total exposure exceeds intended risk level | Apply per-day exposure caps; reduce sizes for correlated bets |
| Betting more after wins, less after losses (emotional) | Creates reverse-Kelly effect; sells low, buys high | Follow your system mechanically |
| Not tracking results to verify edge | Betting with no edge = guaranteed long-term loss | Track every bet; compute confidence intervals |
| Confusing a hot streak with verified edge | Small samples produce extreme win rates by chance | Require 500+ bets before trusting edge estimates |
Quick Reference: Formulas in Python
def kelly_fraction(p: float, d: float) -> float:
"""Kelly fraction for win probability p at decimal odds d."""
return (p * d - 1) / (d - 1)
def risk_of_ruin(p: float, bankroll_units: float) -> float:
"""Risk of ruin for even-money bets with fixed staking."""
return ((1 - p) / p) ** bankroll_units
def expected_growth(p: float, f: float, d: float) -> float:
"""Expected log growth rate per bet."""
import math
return p * math.log(1 + f * (d - 1)) + (1 - p) * math.log(1 - f)
def bet_size(bankroll: float, p: float, d: float, kelly_mult: float = 0.5) -> float:
"""Recommended bet size using fractional Kelly."""
f = kelly_fraction(p, d) * kelly_mult
return max(0, bankroll * f)
One-Sentence Summary
Bankroll management is the discipline of sizing your bets so that your edge compounds over time without exposing you to catastrophic losses -- and the Kelly Criterion, tempered with conservative fractional adjustments, is the mathematical foundation for doing this optimally.
Review this summary card regularly. The concepts here form the foundation for every betting decision you will make.