Build the decision in seven steps
The sequence combines expected-value arithmetic with chronological evaluation controls:
- Define the target. Match the model outcome to the operator's market and settlement period.
- Freeze the forecast. Save probability, model version, inputs and cutoff before checking later information.
- Capture the price. Record source, selection, decimal price, timestamp, availability and intended stake.
- Handle margin and costs. Use the offered price for EV; use a declared de-margin method only when comparing market probabilities.
- Calculate EV. For a binary one-unit back bet, EV = (p * d) - 1.
- Stress the estimate. Recalculate under plausible lower and upper probabilities.
- Preserve the decision. Keep bets, passes, missing prices, voids and rejected stakes.
OpenStax's expected-value material supports the weighted-payoff calculation. TimeSeriesSplit documentation provides one way to preserve chronological evaluation when developing the probability model.
Worked decision record
Suppose a model gives 0.51 for over 2.5 goals and a timestamped price is 2.05.
EV = (0.51 * 2.05) - 1 = 0.0455 units
| Record field | Illustrative value |
|---|---|
| Forecast cutoff | 2026-07-10 12:00 UTC |
| Market | Regulation-time over 2.5 goals |
| Model probability | 0.51 |
| Accepted decimal price | 2.05 |
| Expected value | 0.0455 units per unit |
| Sensitivity range | p = 0.48 to 0.53 |
| Decision | Pass because lower bound is negative |
At p = 0.48, EV = (0.48 * 2.05) - 1 = -0.016 units. At p = 0.53, EV = (0.53 * 2.05) - 1 = 0.0865 units. A positive point estimate does not require action when the uncertainty range crosses zero.
Price probability and model probability are different
Raw reciprocal odds show a break-even rate for that quote. A complete market can also be normalized or adjusted with another margin-removal method. Research across 37 competitions found that probability forecasts differed by conversion method and source (Štrumbelj, 2014). Do not relabel a normalized market share as the one true probability.
Evaluate the forecast before the betting rule
First compare model probabilities with outcomes using proper scores and calibration. scikit-learn's calibration guidance explains the reliability check. Then evaluate the complete decision rule using the exact price cutoff, all qualifying rows, settlement, limits and costs. This separation reveals whether a weak return came from probability quality, price capture, execution or variance.
Common audit failures
- Prices are collected after the model cutoff or after favourable movement.
- Losing or unavailable selections disappear from the dataset.
- The threshold is chosen after inspecting the final test period.
- Average advertised odds replace accepted prices.
- Commission is omitted from exchange returns.
- A short favourable sequence is described as proof of positive EV.
Verification checklist
- Recalculate the EV row independently.
- Confirm probabilities and market outcomes are mutually consistent.
- Check the price was available for the recorded stake.
- Compare forecast quality with at least one relevant baseline.
- Report coverage, number of decisions, total stake, uncertainty and drawdown.
- Lock the rule before the next evaluation period.
Next step
Use Expected Value Betting for the next part of this topic.
Continue learning
- Next guide: Value Betting Spreadsheet
- Related guide: Finding Value in Asian Handicap Markets
- Definition: Edge in Betting
Assumptions and limitations
The example is illustrative and deliberately results in a pass. Positive expected value does not guarantee positive realised returns, and a betting rule can stop working after market, data or model changes.

