vig-adjusted-ev draft

EV computed against a devigged fair line vs. EV computed against the raw vigged book line, and why the distinction matters

Tags
ev vig devig edge probit
Vocabulary
vig_adjusted_ev
EV computed using the devigged fair probability as the win-probability input. The meaningful number for sharp pricing.
raw_line_ev
EV computed using the price's own implied probability (vigged) as the win-probability input. Always zero by construction; not actually informative.
vf_target
Kairos shorthand for the devigged fair price on a given side — the American odds equivalent of the fair probability after probit devigging.

EV is only as meaningful as the probability you feed it. A common confusion is which probability is "fair": the one implied by the price you're betting against, or the one implied by the devigged market belief. They differ by the vig, and the EV numbers they produce mean very different things.

The point of vig-adjusted EV is to ask the right question: "am I beating the market's underlying belief about this outcome?" That's the question that determines whether a bet is actually profitable long-run. Computing EV against the price's own raw implied probability instead answers the meaningless question "am I beating the price including the book's margin?" — and the answer to that, by construction, is always zero.

The mechanics

To compute vig-adjusted EV on a binary market:

  1. Take the book's two-sided posted line (e.g. +150 / −180).
  2. Devig both sides per devigging — Mimir's canonical method is probit, binary markets only — to get fair probabilities p_A_fair, p_B_fair that sum to 1.0.
  3. For the side you're considering (say Side A), use p_A_fair as your win probability and the raw posted decimal odds for Side A as your payout.
  4. Apply the EV formula from expected-value-basic: EV = p_A_fair × decimal_A − 1.

The asymmetry is the whole game: the probability comes from the devigged consensus (the market's true belief), while the payout comes from the vigged posted price (what the book actually pays you). The mismatch is where the edge lives — when it exists at all.

Kairos implements this directly in kairos/core/ev_edge.py::ev_pct_vs_vf_target:

p_fair = implied_prob_from_american(vf_target)   # devigged-side American odds
dec    = decimal_odds_from_american(am)          # raw posted price
return (p_fair * dec - 1.0) * 100.0

vf_target is the devigged American odds for the side under consideration (Kairos's "vig-free target"). am is what the book is actually quoting. The returned percentage is the per-dollar ROI under the assumption that the devigged consensus is correctly capturing fair probability.

Why this matters: the same bet, two EV numbers

A retail bettor sees a price of +150 and thinks "if my model says this wins 41% of the time, that's 0.41 × 2.50 − 1 = 2.5% edge." That's correct given their model. But what does it mean? It means they're claiming their 41% belief is enough to beat a price whose vigged-implied probability is 40%. That's a 1-percentage-point gap. After accounting for the vig embedded in the posted line, the gap may not actually clear.

Vig-adjusted EV asks instead: take the devigged market belief — say it's 0.378 after probit on both sides — and compute against that benchmark. Now the same +150 price, viewed against p = 0.378, gives 0.378 × 2.50 − 1 = −5.5%. The bet is negative EV against the market's underlying belief.

These two numbers describe different positions:

A sharp player only acts on the second. The first is only meaningful if you can actually act as the bookmaker — i.e. if you can collect the vig yourself. Most bettors can't, so vig-adjusted EV is the relevant quantity.

Worked example

Take the binary moneyline from book-vig-overround and devigging: Side A at +150, Side B at −180.

Step 1: Compute raw implied probabilities.

Step 2: Devig (probit, binary, per devigging).

From the worked example in devigging: - p_A_fair ≈ 0.378 - p_B_fair ≈ 0.622 - Sum: 1.000 (vig stripped)

Step 3: Compute EV on Side A two ways.

You're considering taking Side A at the posted +150 (decimal 2.50).

The vig has been redistributed onto Side A: the posted price overpays you (looks like 40%) relative to the true belief (37.8%), but not enough to compensate for the asymmetry of the bet. You're taking the worse half of a vigged market.

Step 4: Look at Side B for comparison.

Side B is posted at −180 (decimal 1.5556).

Side B is also negative EV against the devigged line, just less negative — that's the asymmetric vig at work. Books often price the favorite's side with slightly lower vig than the underdog's. Neither side is profitable; the book's margin (~4% overround) ensures both sides lose money in expectation against the consensus belief.

For either side to be vig-adjusted +EV, the book's price would need to drift from the consensus — either the price stays put while the consensus moves, or your p_fair comes from a different (and you believe better) source than this book's own devigged line.

Gotchas

Open questions

Cross-references