← Back to blog

Closing Line Value (CLV): How to Measure It—and Its Limits

updated 2026-08-04 clv sports-betting polymarket kalshi betting-math strategy

By the ZenHodl team — we run the trading bots this blog writes about, and the qualifying live-position record, including losses, is public with its admission rules at /results.

Win rate alone is incomplete. A bettor can win often while accepting poor prices, or lose over a short sample despite consistently entering ahead of a well-defined pregame close.

Closing Line Value (CLV) is one useful market-relative diagnostic. It compares the price you accepted with a consistently defined later reference price. It does not prove causation, expected value, or future profit by itself.

ZenHodl correction (July 21, 2026): conventional pregame CLV can be outcome-blind; our in-play "close" is often near-terminal and can encode the eventual result. We therefore retracted our former win-rate-by-CLV-sign claim. See the full audit and rejected-side control.

What CLV Is

Closing Line Value is the difference between the price you got and a defined market reference close. For conventional sportsbook analysis that reference is usually the last pregame line. The definition must stay consistent across observations.

Two equivalent ways to compute it:

CLV for a BUY (cents)  = closing_price - entry_price
CLV (in basis points)  = (entry_decimal_odds / closing_decimal_odds - 1) × 10000

The first is the BUY-side sign convention used by ZenHodl. For pregame analysis, the close should be a pregame reference. Our live-trading scorecard also publishes a near-terminal captured close, but that in-play measure has an explicit outcome-contamination caveat and is descriptive only.

For sportsbook bettors the second form is more natural because the entry and closing are in odds rather than dollar prices. A +5% CLV means the market closed at odds about 5% worse for the bookmaker than the odds you took.

Why CLV Complements Win Rate

Win rate is a result. It mixes two things together — the quality of your picks and the variance of the outcomes. In a small sample, a coin-flip bettor can produce any win rate from 30% to 70% with completely random picks.

CLV is a process metric. It measures whether entries were systematically ahead of the chosen market reference. A liquid pregame close aggregates information from market participants, so sustained positive pregame CLV can be evidence worth investigating alongside calibration, execution costs, and realized outcomes.

It is not a mechanical profit theorem. Sample selection, vig, fees, liquidity, closing-price quality, market type, and correlated bets can all break a simplistic CLV-to-profit inference. Report uncertainty and keep P&L and calibration in the evaluation.

Sportsbook risk teams may use price quality among many account signals. Their exact limiting rules are proprietary, vary by operator, and should not be inferred from one public CLV threshold.

Worked Example: Prediction Market

You buy 100 shares of the Lakers YES contract on Polymarket at 35¢ pregame. Game starts. Twenty minutes before tipoff the market settles at a final pre-game price of 41¢.

CLV = entry_price - closing_price = 35¢ - 41¢ = -6¢

Wait — that's negative. Yes: positive CLV here means closing price is below entry price if you bought, because you paid more than the market eventually said the contract was worth. Let me re-state, carefully:

When you buy at price $p_\text{entry}$ and the contract closes at $p_\text{close}$:

CLV_for_buyer = p_close - p_entry

You want the closing price to be higher than your entry — the market eventually agreed the contract was worth more. So in the example above:

If the contract had closed at 28¢, your CLV would have been -7¢ (bad — you paid 35¢ for something the market eventually priced at 28¢).

ZenHodl records entry price, its defined close, and the difference where coverage exists. The public scorecard reports this unconditioned distribution and its coverage. For in-play execution we prefer fixed-horizon markouts measured before another major game event.

Worked Example: Sportsbook

You bet $100 on the Lakers at +110 (decimal 2.10, implied probability 47.6%). The market closes with the Lakers at +100 (decimal 2.00, implied probability 50.0%).

CLV (basis points) = (2.10 / 2.00 - 1) × 10000 = 500 bps = +5%

You got the Lakers at 47.6% implied probability and this reference close was 50%. That is a positive pregame price observation; a representative sample and uncertainty analysis are still needed before calling it an edge.

If the market had closed at +120 (decimal 2.20):

CLV = (2.10 / 2.20 - 1) × 10000 = -454 bps ≈ -4.5%

You took -4.5% CLV against this reference close. Whether the Lakers won does not change that one price comparison. Over a larger representative sample, compare the CLV distribution with calibration, fees, and realized results rather than assuming convergence.

How Bookmakers Use CLV

Sportsbooks can compare accepted bets with later price movement as one input to risk management, but their account-scoring systems are proprietary.

Illustrative price-quality review might consider sample size and average movement, but no public threshold should be presented as a universal operator rule:

Different operators may limit accounts for different commercial and risk reasons. CLV can arrive sooner than a stable realized-P&L estimate, but it is neither the only signal nor a guarantee of an operator response.

Prediction markets behave differently because positions are matched against other traders rather than a bookmaker taking principal risk. Positive CLV means the recorded entry finished ahead of the chosen close; identifying why requires separate evidence about quote freshness, selection, liquidity, and execution. It does not by itself prove that another trader was slower or less informed.

How to Track CLV Yourself

You need three things for every bet:

  1. Entry price (cents on a prediction market, or American/decimal odds at a sportsbook)
  2. Closing price (last price before event start, or last in-band quote before resolution)
  3. A consistent way to compute the difference

For a sportsbook:

def clv_bps(entry_decimal: float, closing_decimal: float) -> float:
    """CLV in basis points. Positive means you beat the close."""
    return (entry_decimal / closing_decimal - 1) * 10000

For a prediction market:

def clv_cents(entry_price_cents: float, closing_price_cents: float, side: str) -> float:
    """CLV in cents. Positive means you beat the close.
    `side` is 'buy' or 'sell'."""
    if side == 'buy':
        return closing_price_cents - entry_price_cents
    else:  # sell
        return entry_price_cents - closing_price_cents

Log every trade, including non-fills and rejected observations where relevant. There is no universal count at which CLV becomes reliable: dependence between bets and variation by sport, market, and close source determine the effective sample size. Publish a confidence interval and cluster by game where appropriate.

Sustained Positive CLV vs Lucky Streak

A common misread: someone has +10% CLV on their last 20 bets and concludes they have massive edge. That's noise. CLV variance across small samples is large.

As a rough workflow—not a universal threshold:

ZenHodl's CLV scorecard publishes the unconditioned breakdown across our admitted trade history. The separate CLV evidence page is the retraction explaining why our former outcome-conditioned interpretation failed its rejected-side control.

Using CLV as a Pre-Trade Gate

Once you've accumulated enough CLV history per market segment, you can use it to filter signals before placing them. The pattern: bucket your historical trades by (sport, edge band), measure the average realized CLV per bucket, and refuse to trade buckets that have consistently lost market value to the close.

ZenHodl uses historical price behavior as one input to operational review. A bucket with negative measured CLV is a warning hypothesis—late information, adverse selection, selection bias, or a measurement defect are all possible. It should be investigated and validated out of sample before changing a live gate.

The Bottom Line

Win rate tells you what happened. A consistently defined CLV tells you how the entry compared with a market reference. They answer different questions.

If you track CLV, pre-register the close, use executable prices, include fees and non-fills, report missingness, and avoid conditioning the analysis on information that arrived after entry. Treat it as a diagnostic—not an instruction to continue or stop betting by itself.

The useful question is not whether CLV is universally “good,” but whether your particular definition is outcome-blind, consistently captured, and predictive out of sample after costs.


Free interactive CLV calculator — paste your entry and closing prices, see CLV in cents and basis points. See live CLV breakdowns at /clv and /clv-evidence. Pair with the Kelly Criterion calculator, the hedge calculator, and the odds converter. Related reading: why we reject 65% of signals, betting strategies with ML probabilities.

Related reading

Get ZenHodl Weekly

One weekly email with live results, one model insight, and product updates.

Tuesday mornings. No spam.

Want the data behind this post?

Historical sports prediction-market datasets with measured coverage, documented schemas, and disclosed gaps.