Core Principles
1) Make Probabilities
Build p via a model (xG/Poisson/ratings) or robust analysis. Keep league filters to maintain quality.
2) Compute Fair Odds
Decimal fair odds: Fair = 1 / p. For 1X2, compute fair for each leg from your probabilities.
3) Remove the Vig
Convert market odds to implied probabilities, normalise to 100% (remove margin), then compare your Fair vs the book’s price.
4) Bet Only When Book > Fair
If the offered price exceeds your Fair, you have a value bet (+EV). Otherwise, pass.
5) Validate With CLV
If your entries consistently beat the closing line, your process likely has real edge.
Fair Odds & Vig Removal
Given market odds O1, OX, O2, convert to implied probabilities q1=1/O1, qx=1/OX, q2=1/O2. Let Q=q1+qx+q2. The de-vigged probabilities are p1=q1/Q, px=qx/Q, p2=q2/Q.
From your model, you also have p1*, px*, p2*. Value exists if your fair (from p*) implies a lower probability (higher fair price) than the book’s de-vigged probability.
Edge %, EV & CLV
- Edge %:
((Book / Fair) - 1) × 100. Positive = value. - EV (per unit):
p × (O - 1) - (1 - p). - CLV: Track Entry vs Close. Consistently shorter close than your entry supports true edge.
Worked Examples
Example — Home ML
Model: p=0.45 → Fair=2.22. Best book after vig removal: O=2.35. Edge% ≈ ((2.35/2.22)-1)×100 ≈ 5.9% → **bet qualifies** (unit-sized).
Example — Under 2.5
Model: p=0.57 → Fair=1.75. Book 1.80. Thin edge; only take if your league/time-window CLV is positive.
Staking & Bankroll
- Flat staking: 1–2% bankroll per value bet is robust.
- Fractional Kelly: Optional for proven edges:
f* = (b×p - q)/b, withb=O-1,q=1-p; use ½ or ¼ Kelly to reduce drawdowns. - Reviews: Weekly dashboard — hit rate, avg edge at entry, CLV%, P/L by market.
Common Errors
- Betting narratives without price advantage.
- Skipping line shopping (easy ROI left on the table).
- Not removing vig before comparisons.
- Changing stake size emotionally or chasing losses.