SPORTS BETTING MATH
RESEARCH ARTICLE

One-Way Market Devig: Extracting Fair Odds from Props and Moneyline-Only Markets

One-way prices do not identify probability and margin. Compare conditional proxy and synthetic models, event definitions, valid domains and numerical checks.

22 min read Advanced Last updated 2026-09-20
Topic illustration: One-Way Market Devig: Extracting Fair Odds from Props and Moneyline-Only Markets
Conceptual illustration. Numerical assumptions and worked examples are explained in the text.

SBM Odds Analysis Division

Editorial byline: odds and margin models

This topic byline groups articles about odds normalization, expected value and market prices. It is not a named individual or a claim of verified academic credentials.

Multiplicative, Additive, Power & Shin Overround Stripping Expected Value (+EV) Quantification & CLV Analysis Open-Source Odds Verification Tools

1. Introduction: The Asymmetric Architecture of One-Way Betting Markets

A single decimal quote O supplies a break-even probability 1/O. It does not identify both the event probability and a margin. At O=2.45, p=0.30 would give EV=-26.50%, while p=0.50 would give EV=+22.50%. Both probabilities are compatible with observing this quote alone. A model, additional prices or outcome data must supply the missing information.

Classify the market before normalizing. A complete outright board can be normalized without lay prices if exactly one listed outcome wins and every possible outcome is covered. An omitted runner or missing other category makes the board incomplete. Anytime goalscorers can win together, so their reciprocal prices must not be summed as if they formed an exhaustive exclusive board. A matching yes/no pair can be a valid binary market. Eligibility, playing time, overtime, own-goal and void rules must also match.

The methods below produce estimates conditional on those assumptions. A complete proxy market may be informative but is not observable truth. A synthetic complement adds an assumed margin, not a second observation. Agreement between estimates is not independent validation, and a positive or negative model EV is not a measured financial result.

2. Method 1: Benchmark Proxy Projection via Sharp Market Baselines

A complete matching proxy is one possible additional information source. Its operator name does not establish that its probabilities are accurate. Estimates depend on prices, market completeness, timing and the selected no-vig assumptions.

The Theoretical Transfer Mechanism

The target proposition must match the proxy event exactly, not merely refer to the same player or statistic. A complete yes/no pair or an exhaustive exclusive board can provide the required information. An overlapping anytime-scorer list cannot be normalized as such a board.

The displayed equation uses multiplicative normalization of a complete two-way proxy. Shin is an alternative model, not another name for this equation. Neither transformation identifies an unobservable true probability. A choice between methods should be based on justified assumptions and independent evaluation.

pfair=1/OP,11/OP,1+1/OP,2

Using the resulting probability estimate gives conditional EV at the retail price. The comparison also gives a relative price-loading ratio; it does not measure the retail operator’s full-market overround or realized hold.

EVR=(pfair⋅OR)−1,δR=1/ORpfair−1

Relative price loading

In the hypothetical example, the loading relative to the multiplicative proxy is 10.25708985%. This is a comparison of one price with one model estimate. Without the retail complement, the retail book’s total overround is not identified. Record the method and assumptions with the value rather than label it measured margin.

A proxy estimate depends on the complete target/complement pair, the selected no-vig method and identical settlement. The displayed proxy formula is multiplicative. Shin is a separate choice in the code, with its own root and no silent replacement. The returned fair_probability field names a model estimate, not a verified event frequency. Quote freshness and matching events require checks outside this arithmetic example.

3. Method 2: Synthetic Complement Construction under Margin Regimes

When an identical proposition is not actively quoted by a benchmark exchange (such as niche college player props or domestic tournament specials), analysts cannot directly observe a proxy. In such scenarios, quantitative desks construct a Synthetic Complement.

Mathematical Derivation of the Synthetic Opposite Line

Let an analyst observe a one-way proposition at decimal odds O1, with raw implied probability π1=1/O1. Assume the target sportsbook operates this specific market tier (e.g., European football player specials) under a assumed overround regime Mtier, where the sum of implied probabilities equals 1+Mtier.

Under the hypothesis of proportional margin loading, the implied probability of the unquoted synthetic complement π2synth must satisfy:

π1+π2synth=1+Mtier⟹π2synth=1+Mtier−1O1

These are the complement odds assigned by the assumed model, not a prediction of an actual bookmaker offer.

O2synth=11+Mtier−1/O1

With the synthetic two-way pair (O1,O2synth) fully specified, the model probability estimate pfair,1 is extracted through standard normalization:

pfair,1=π1π1+π2synth=1/O11+Mtier
Conditional proportional scenario: The formula above gives a simple rule for one-way markets: under proportional margin distribution, the model probability estimate is simply the raw implied probability divided by the total market overround factor (1+Mtier). If a bookmaker applies an 18% margin (M=0.18) on player props, every quoted odds O1 implies a estimated probability deflated by exactly 1/1.18≈0.8475.

Estimating the Market-Tier Margin (Mtier)

How does a quantitative syndicate estimate Mtier? By sampling all two-way propositions published by the same bookmaker within the same sporting category on the same match day. For instance, if an English Premier League match features thirty two-way player over/unders (points, tackles, shots) exhibiting an average overround of M‾=14.2%, this value is a reasonable baseline for the unquoted complements in that fixture.

Assuming nonnegative overround m and proportional allocation gives q2=1+m-q1. For both synthetic decimal odds to exceed 1, 0≤m<q1 must hold. The code rejects invalid complements. With positive assumed m, p=q1/(1+m) forces EV=-m/(1+m) by construction. It cannot independently demonstrate that the real offer is negative EV or recover the bookmaker’s actual margin. A tier average from other markets is a scenario input whose transfer needs validation.

4. Method 3: Cross-Market No-Arbitrage Bounding via Density Surfaces

Subset bounds require identical event definitions and settlement. Under matching player eligibility, goal attribution and time windows, scoring first implies scoring anytime. A player goal also implies at least one team goal. Under an explicitly assumed Poisson team model, the last upper bound is 1-exp(-lambda). These are probability relationships, not bounds obtained directly from raw quoted reciprocals.

pfirst≤panytime≤P(Xteam≥1)=1−e−λteam

A complete first-scorer partition needs all eligible scorers and applicable own-goal/no-goal categories. Anytime scorers overlap and do not form that partition. A model-implied violation indicates inconsistency with the model or market rules; it does not alone establish an executable arbitrage. An arbitrage argument needs an explicit portfolio of available bets with nonnegative net payoff in every settlement state, including fees, limits, rounding and void contingencies.

At least one state with positive probability must have strictly positive net payoff; a guaranteed positive return requires a strictly positive minimum across all states.

5. Method 4: Historical Closing Line Regression Modeling

When high-frequency time-series data is available, an econometric approach models the historical price decay from opening line to closing line across thousands of historical one-way wagers. Let Oopen be the retail opening odds and Oclose be the consensus closing price across sharp syndicates.

We specify the log-odds regression specification:

ln⁡(pclose1−pclose)=α+β1ln⁡(πopen1−πopen)+β2⋅Liquidity+γ⋅𝐙+ϵ

Fitting regression parameters produces an estimator of the chosen proxy target. Out-of-sample calibration and useful forecasts must be established by separate evidence.

A regression trained on historical prices does not automatically calibrate probabilities. Use only information available at the decision time, chronological held-out evaluation, complete matching market labels and appropriate dependence handling. Closing prices can define a later proxy target; they are not an earlier executable quote or ground truth. Evaluate reliability and predictive scores separately. Parameter fitting alone establishes neither calibration nor profitability.

6. Numerical Worked Example: NBA Player Props (Points O/U)

These are hypothetical inputs: retail 2.45, proxy 2.62/1.54 and assumed tier overround 0.165. They are not observed quotes or measured operator margins.

Market Observations

  • Proposition: "Jayson Tatum to score 30+ Points" (One-Way Prop).
  • Retail Bookmaker Quoted Price: Oretail=2.45⟹πraw=1/2.45=40.82%.
  • Contextual Market Tier: Player milestone markets on this bookmaker are assumed to carry an overround of Mtier=16.5%.
  • Benchmark Data (Pinnacle): Offers the complete two-way alternate spread on Tatum's scoring line at:
    • Over 29.5 Points: OP,Over=2.62
    • Under 29.5 Points: OP,Under=1.54

Step 1: Benchmark Proxy Devigging

The complete proxy pair gives the following quoted overround. Calculations retain full precision rather than divide rounded intermediate numbers.

SP=1/2.62+1/1.54≈1.0310300387,MP≈3.10300387%

Multiplicative normalization gives the model probability estimate below.

p=1/2.621/2.62+1/1.54≈0.3701923077

The reciprocal is the corresponding model fair price, conditional on that normalization.

Ofair=1/p≈2.70129870

Step 2: Quantifying Expected Value on the Retail One-Way Offer

Retail EV below is conditional on the proxy estimate being an adequate probability model.

EV=p⋅2.45−1≈−9.30288462%

The ratio of the retail reciprocal to the proxy estimate is a relative price loading. It is not a complete-market overround or realized hold.

δR=(1/2.45)/p−1≈10.25708985%

Synthetic scenario under an assumed margin

With the proxy absent, the synthetic method uses the assumed 0.165 overround and proportional allocation. This is a separate scenario.

psynthetic=1/2.451+0.165≈0.3503547342,EV≈−14.16309013%

Both conditional estimates are negative, but their agreement is not a second independent observation. A different defensible probability assumption can change the conclusion.

7. Python Implementation: One-Way Market Devigging Engine

The Python class below implements the first two methods (benchmark proxy and synthetic complement), so one-sided propositions can be checked automatically.

import math

def _validate_odds(*odds):
    if any(not math.isfinite(o) or o <= 1 for o in odds):
        raise ValueError("Require finite decimal odds greater than one.")

class OneWayDevigEngine:
    @staticmethod
    def devig_via_proxy(retail_odds, proxy_odds_target, proxy_odds_complement,
                        method="multiplicative"):
        """Assumes exactly matching, exhaustive, mutually exclusive proxy outcomes."""
        _validate_odds(retail_odds, proxy_odds_target, proxy_odds_complement)
        q = [1/proxy_odds_target, 1/proxy_odds_complement]
        total = sum(q)
        if method == "multiplicative":
            p = q[0]/total
        elif method == "shin":
            if total < 1-1e-12:
                raise ValueError("This Shin example does not support underround.")
            if abs(total-1) <= 1e-12:
                p = q[0]/total
            else:
                def probs(z):
                    return [(2*x*x/total)/(math.sqrt(z*z+4*(1-z)*x*x/total)+z) for x in q]
                lo, hi = 0.0, 1-1e-12
                for _ in range(100):
                    mid = (lo+hi)/2
                    if sum(probs(mid)) > 1:
                        lo = mid
                    else:
                        hi = mid
                result = probs((lo+hi)/2)
                if abs(sum(result)-1) > 1e-10 or any(not 0 < x < 1 for x in result):
                    raise ArithmeticError("No numerically valid Shin root.")
                p = result[0]
        else:
            raise ValueError("Unknown devig method; no silent fallback.")
        ev = p*retail_odds-1
        fair, percent, bps = 1/p, 100*ev, 10000*ev
        if not 0 < p < 1 or not all(math.isfinite(x) for x in [fair,percent,bps]):
            raise ArithmeticError("Derived proxy results are not finite probabilities/prices.")
        return {"method": method, "fair_probability": p, "fair_odds": fair,
                "expected_value_percent": percent, "edge_basis_points": bps,
                "is_positive_ev": ev > 0}

    @staticmethod
    def devig_via_synthetic_complement(retail_odds, tier_margin_estimate=0.15):
        """Scenario under an assumed overround and proportional allocation."""
        _validate_odds(retail_odds)
        q = 1/retail_odds
        margin = tier_margin_estimate
        if not math.isfinite(margin) or not 0 <= margin < q:
            raise ValueError("A valid synthetic decimal complement requires 0<=margin<1/retail_odds.")
        p = q/(1+margin)
        ev = p*retail_odds-1
        fair, complement, percent = 1/p, 1/(1+margin-q), 100*ev
        if (not 0 < p < 1 or complement <= 1
                or not all(math.isfinite(x) for x in [fair,complement,percent])):
            raise ArithmeticError("Synthetic results are not representable as valid finite prices.")
        return {"assumed_overround": margin, "fair_probability": p, "fair_odds": fair,
                "synthetic_complement_odds": complement,
                "expected_value_percent": percent, "is_positive_ev": ev > 0}

8. Model checks and decision limits

No universal 15% margin threshold follows from one quote. A participant may choose an exposure or uncertainty limit, but it must be labelled as a policy rather than an empirical law. Assess the sensitivity of EV=pO-1 to plausible probabilities: a probability error delta_p changes EV by O*delta_p. Price freshness, eligibility, settlement, commissions and actual capacity matter before interpreting a numerical result.

The code accepts finite odds above 1 and an explicitly named method. It rejects unsupported Shin underrounds, failed roots and synthetic complements below valid decimal odds. Validate each event match independently, inspect the chosen model and compare its out-of-sample probabilities with results. Passing these arithmetic checks demonstrates internal consistency, not that a bet should be made.

Frequently Asked Questions

RELATED RESEARCH

Cross-Referenced Studies

Compare the same market

Partner links

1win Sports: check the event, quoted odds and settlement rules

What the price includes → Visit 1win Sports 18+ · Terms on site

Stake Sportsbook: compare the same event, market and settlement rules

What the price includes → Visit Stake 18+ · Terms on site

Check the current price, exact market, settlement rules and availability in your country. A calculator result depends on its assumptions and does not verify a live betting opportunity.