Standard +EV practice is to devig the sharp anchor (Pinnacle, Circa, Bookmaker.eu) and treat that as fair value. The math is sound and the academic literature backs it up: sharp books take more handle from informed bettors, model lines more aggressively, and re-shape prices around sharp action. Their devigged prices are usually the closest public proxy for true fair value.
But "usually" is doing real work in that sentence. There are specific markets where the sharp anchor is structurally worse than the consensus of three or four soft books, and on those markets +EV scanners that blindly use sharp-anchor devig give you systematically misleading signals. This post is about identifying those markets and what to do instead.
Three structural conditions:
Pinnacle is great on the NFL moneyline because hundreds of thousands of dollars of sharp action shape that line. But Pinnacle's WNBA player-prop market sees a fraction of that handle. The sharp signal that justifies trusting Pinnacle's devig is largely absent. Meanwhile, DraftKings, FanDuel, and BetMGM all take heavy retail-prop handle on those same markets, and the models they use to price WNBA props are continuously updated against actual demand.
In some markets (golf outrights, niche soccer leagues, table tennis), the sharp anchor posts the line late and follows whatever the early soft books did. The soft books are the price discovery; the sharp is the price echo. In these markets, sharp devig isn't capturing fair value, it's capturing the convex hull of the soft books from a few hours earlier.
For markets where the sharp posts at -120/-120 (4.55% overround) but four soft books are all at -110/-110 (4.76% overround that devigs cleanly to the same midpoint), the soft consensus is functionally identical to the sharp devig but with more sampling and lower estimator variance.
The method is simple to describe and slightly less simple to do right:
# Pseudo-code for consensus +EV on a single side
softs = [draftkings, fanduel, betmgm, caesars] # 4 soft books
home_implied = [book.implied_home for book in softs]
away_implied = [book.implied_away for book in softs]
# Devig per book
devigged_home = [h / (h + a) for h, a in zip(home_implied, away_implied)]
# Consensus fair prob
consensus_home_prob = sum(devigged_home) / len(devigged_home)
# Edge of any specific book vs consensus
for book in softs + others:
book_home_implied = book.implied_home
edge_pct = (consensus_home_prob - book_home_implied) * 100
if edge_pct > 1.0:
flag_as_ev(book, edge_pct)
If your N soft books include the book you're betting at, you've biased the consensus toward your bet. You'll find phantom edges that disappear when the bet posts. Two rules:
Concrete decision rules. ParlayAPI's /v1/sports/{sport}/ev endpoint supports both methods via the method= parameter; this is when to choose which.
| Market type | Recommended method | Why |
|---|---|---|
| NFL / NBA / MLB / NHL main game ML, spread, total | method=sharp_devig (Pinnacle anchor) |
Sharp takes major handle, model is tight |
| NFL / NBA player props (flagship) | method=consensus (N=4 soft) |
Sharp prop handle is light; soft books model these aggressively |
| MLB pitcher / batter props (deeper than starting pitcher) | method=consensus (N=3+ soft) |
Same as above; sharp limit is often $200 |
| WNBA / college props | method=consensus (N=3 soft, fall back to whatever's available) |
Sharp doesn't price; soft consensus is the only real signal |
| Golf outrights | method=consensus (N=4 soft + sharp) |
Sharp posts late; consensus captures earlier price discovery |
| Tennis ATP main draws | method=sharp_devig |
Sharp tennis market is mature, takes meaningful handle |
| Soccer EPL / UCL / La Liga main markets | method=sharp_devig |
Sharp prices these heavily; global handle |
| Niche soccer (lower leagues, women's, friendlies) | method=consensus |
Sharp doesn't take real handle here |
| Esports | method=consensus |
Sharp doesn't model esports well; soft books (DK, Pinnacle Esports) plus exchanges (Bet365, GG.Bet) give better signal collectively |
| Anything with sharp limit under $500 | method=consensus |
Limit size is the tell; small limit means sharp isn't betting their own model with conviction |
For markets where you're genuinely unsure, blend. Take 60% sharp devig + 40% soft consensus. This dampens both sources of error: it stays close to sharp on markets where sharp is good, and it picks up soft-consensus signal on markets where sharp is weak. ParlayAPI's method=hybrid&sharp_weight=0.6 does this directly.
Kalshi, Polymarket, and the other prediction markets occupy a third category. They're not "soft books" because they don't take recreational vig, they're peer-to-peer order books with thin midpoints. Their devigged prices are mathematically close to sharp prices on the same event, but their liquidity is patchier. For a +EV scanner, treat them as a fourth opinion: don't anchor on them, don't include them in N-of-4 soft consensus, but flag when they disagree by more than 3 percentage points from your sharp / consensus answer (often signals the prediction market knows something the books haven't priced yet, like late news).
# Sharp-anchor devig (default; use for liquid main markets)
curl 'https://parlay-api.com/v1/sports/baseball_mlb/ev?method=sharp_devig&sharpBook=pinnacle' \
-H "X-API-Key: $PARLAY_API_KEY"
# Multi-source consensus (use for player props, niche markets)
curl 'https://parlay-api.com/v1/sports/baseball_mlb/ev?method=consensus&consensusBooks=draftkings,fanduel,betmgm,caesars' \
-H "X-API-Key: $PARLAY_API_KEY"
# Hybrid weighted blend
curl 'https://parlay-api.com/v1/sports/baseball_mlb/ev?method=hybrid&sharpWeight=0.6&sharpBook=pinnacle&consensusBooks=draftkings,fanduel,betmgm,caesars' \
-H "X-API-Key: $PARLAY_API_KEY"
Note: the public no-auth demo at /v1/try/{sport}/ev uses sharp_devig only with Pinnacle as anchor. Full method selection is gated behind the authenticated /v1/sports/{sport}/ev.
Sharp-anchor devig is the right default. It works on most of the markets that produce most of the +EV opportunities. But on niche markets where the sharp's handle is light and their model isn't being disciplined by real money, soft-book consensus is materially more reliable. The cost of using the wrong method on the wrong market is a small but systematic bias that compounds over thousands of bets.
The data is there; the math isn't hard; the decision rule is documented above. The hard part is committing to the decision rule before you scan, not after.