consensus-fair-line draft

Combining multiple books' devigged lines into a single consensus fair probability

Tags
odds consensus aggregation fair-line multi-book
Vocabulary
consensus_fair_line
A single implied probability per outcome, aggregated across multiple books' devigged lines. The 'market's collective belief' about the outcome.
weighting
How much each book's contribution counts in the average — equal, volume-, recency-, or quality-weighted.
prob_space_average
Averaging in implied-probability space (then converting back to American), rather than averaging American-odds integers directly. The probability-space average is the canonical one.
sharp_book
A book whose prices are considered to reflect the true market — typically Pinnacle, Circa, Bookmaker. Contrast with 'soft book.'
soft_book
A book whose prices may lag or be biased relative to sharp books — typically mass-market US retail books. They take recreational action and price for that audience.

A consensus fair line is a single estimate of an outcome's probability, built by combining devigged lines from multiple books. The reasoning is straightforward: no single book is perfectly accurate, books disagree on the margin, and averaging multiple independent estimates reduces noise. The output is an implied probability per outcome (or its American-odds equivalent), treated as the market's best collective belief.

The mechanics are simple in principle: devig each book individually (see devigging), then aggregate. Subtleties show up in how you weight the books, which books you include, and how you average — averaging in implied-probability space and converting back is not the same as averaging American-odds integers directly, and the latter is wrong.

Kairos's kairos/core/spread_mba.py implements one concrete instance of this idea via the helper _avg_american_via_prob: convert each book's American odds to implied probability, take the arithmetic mean of those probabilities, then convert the average back to American. That is the canonical "average in probability space" pattern. The function operates over a configured list of sharp books (ODDSENGINE_MBA_AVG_BOOK_KEYS), giving each included book equal weight in the average. This is a simple, equal-weighted, sharp-book-only consensus — not the only design, but a reasonable one.

The plain consensus-fair-line covered here differs from MBA (vf-and-mba-targets): MBA is the cross-book average of customer-facing prices used to derive evaluation targets, including a spread-market construction that converts each book's odds to a common target line before averaging (the line-shopping problem where Book X has the spread at −3.5 and Book Y has it at −4). Consensus-fair-line is the simpler related concept where every included book is already quoting the same outcome and you want the market's collective devigged belief.

Weighting strategies

Worked example

Three sharp books quote a market for outcome A. We've devigged each (probit, per devigging). Their fair probabilities for A:

Equal-weighted consensus: (0.520 + 0.540 + 0.530) / 3 = 0.5300

This is the Kairos _avg_american_via_prob pattern: arithmetic mean of probabilities, then the equivalent American odds (here ≈ −113) follows from american_from_prob(0.5300).

Volume-weighted consensus (hypothetical volumes 100, 50, 200):

Volume-weighting pulls the answer toward Book 3 (most liquid). The shift is small here because the books already agreed closely; for divergent prices the weighting matters more.

Why average in probability space, not American-odds space: even when all books quote on the same side of the ±100 line, arithmetic-averaging American integers gives a different answer than averaging probabilities and converting back, because American odds aren't linear in probability. If the three books above quoted −108 / −117 / −113, averaging the integers gives −112.7, while the probability-space average yields −113. The discrepancy grows with the spread between books. The probability-space average is the canonical one. Worse: when the books straddle ±100 (one at +110, another at −110), arithmetic-averaging American odds is meaningless outright — see the Gotchas below.

Gotchas

Open questions

Cross-references