Skip to content
OddsRX

OddsRX Research Guide

How OddsRX Tests and Grades Models

Published by RoCoLu LLC · Updated

OddsRX uses both historical testing and predictions recorded before games to evaluate its modeling work. Historical testing examines a method against past games. Pregame predictions can then be compared with the outcomes that follow. These approaches provide different kinds of evidence, and neither guarantees future results.

Dr. Cover has conducted extensive modeling research involving the NFL, MLB, and NBA. College football and college basketball are newer areas of the work. Models are refined as needed; research experience in one sport should not be treated as proof of performance in another.

Historical tests and pregame predictions

A historical test can help explore a method across past situations. Its interpretation depends on the information available at each decision time. Using a final lineup, corrected data, or a later price that was unavailable then can make a retrospective comparison more favorable than a decision someone could actually have made.

A pregame prediction provides a different point of comparison: what the model estimated before the outcome was known. When reading a results claim, look for the original forecast, its timing, and the relevant market. A number reconstructed after the game is different evidence from a prediction recorded beforehand.

Forecast quality and price value are different

A model can identify likely winners while those teams’ offered prices produce poor returns. A short profitable run also does not establish that the model’s probabilities are accurate. Win rate needs the context of the prices, sample, and decisions being assessed.

For example, a 60% win estimate can still imply negative expected value at a price requiring more than 60% to break even. Evaluating the forecast and evaluating a price-based decision answer separate questions.

Interpreting grades

Read a grade in the context of the particular model, market, and page. A confidence label, a probability estimate, an expected-value comparison, and a settled result describe different things. Do not assume that a letter or tier means a fixed win probability, a particular return, or a universal threshold shared across sports.

If the accompanying explanation does not define a grade, ask for clarification before comparing it with another model’s label. A strong-looking grade is not a guarantee, and an individual win or loss does not by itself validate or invalidate the underlying method.

Understanding probability evaluation

The following are general statistical explanations, not claims that OddsRX currently calculates or publishes every metric mentioned. Calibration concerns whether observed frequencies are consistent with forecast probabilities across an appropriate sample. A group of forecasts near 60% needs enough observations and uncertainty context before its observed win rate is informative.

For a binary outcome, the Brier score averages squared differences between probabilities and outcomes coded as zero or one. Log loss is another scoring rule that penalizes confident incorrect forecasts. Neither is solely a measure of calibration. The scikit-learn probability calibration guide explains these distinctions.

Reading a performance claim

Look for the dates, number of observations, model version, eligible sample, and whether results are historical or based on pregame forecasts. Selected winning examples cannot establish how the whole sample performed. Rule changes and model refinements also matter when comparing periods.

Returns require the recorded prices, stakes, and settlement rules. As a hypothetical arithmetic example, 5 units of net profit on 100 units staked equals a 5% return on that denominator. This is not an OddsRX result or a statement of its staking policy. Pushes, voids, and other settlements need an explicit definition in the record being discussed.

For questions about a particular grade or result, email drcover@oddsrx.com. You can also reach @OddsRX on X. Include the page, model, event, and number you want clarified.