Closing Line Value Scorecard

Bot P&L is high-variance. CLV — the difference between our entry price and the market's closing price — is not. It tells you within a day whether the model beat the market, regardless of which side won the game. Most prediction-market vendors don't measure CLV. The ones that do, don't publish it. Here's ours, every sport, with full data download.

Why CLV is the leading indicator

Trades that beat the close win 89% of the time.
Trades that lost the close win 11%.

That spread is real edge. Within 686 settled trades across 12 sports, the side of the closing-line you came out on is by far the strongest predictor of who won — stronger than the model's confidence, stronger than the live market price, stronger than any single feature in the model.

89%
+CLV WR
n=350
11%
−CLV WR
n=336
686 / 1428
trades with CLV measured
48.0% coverage
What CLV measures

Whether our model's entry price was better than the market's closing price. Positive = we got in cheaper than where the market settled. Negative = the market moved against us between our entry and game start. Independent of which side won the game.

What CLV does NOT measure
  • Profit / loss (variance dominates over short windows)
  • Model accuracy on a single game
  • Liquidity at our trade size
  • Slippage between fair and entry

Per-sport CLV — sorted best to worst

Each row is one sport's mean CLV across every settled trade we have. Green bars = positive (beating the close). Red bars = negative (losing the close). Sports with under 10 measured trades are flagged as preliminary.

Sport Verdict Mean CLV (all-time) 30d Beat close Overall WR n
NCAAMB
+CLV WR 100% (n=4) · −CLV WR 0% (n=0)
preliminary
PRELIMINARY
+17.75c +17.75c
n=4
100%
4/4
53%
124W/111L
4/242
NCAAWB
+CLV WR 100% (n=3) · −CLV WR 0% (n=1)
preliminary
PRELIMINARY
+6.82c +27.17c
n=3
75%
3/4
49%
41W/43L
4/84
ATP
+CLV WR 82% (n=44) · −CLV WR 19% (n=47)
beating close
PROMOTE
+5.16c +4.02c
n=89
48%
44/91
49%
45W/47L
91/99
LOL
+CLV WR 84% (n=43) · −CLV WR 6% (n=35)
beating close
PROMOTE
+3.44c +2.52c
n=72
55%
43/78
40%
38W/56L
78/96
NHL
+CLV WR 91% (n=53) · −CLV WR 24% (n=38)
beating close
PROMOTE
+1.08c +1.22c
n=88
58%
53/91
60%
60W/40L
91/127
MLB
+CLV WR 96% (n=86) · −CLV WR 16% (n=69)
bleeding
KILL
-2.04c -2.76c
n=151
56%
86/155
58%
124W/91L
155/217
SOCCER
+CLV WR 73% (n=15) · −CLV WR 10% (n=20)
bleeding
PAUSED
-2.12c -2.12c
n=35
43%
15/35
37%
13W/22L
35/36
WTA
+CLV WR 89% (n=18) · −CLV WR 4% (n=23)
bleeding
PAUSED
-2.67c -2.67c
n=41
44%
18/41
42%
17W/24L
41/42
?
+CLV WR 33% (n=3) · −CLV WR 0% (n=2)
preliminary
PRELIMINARY
-4.04c -4.04c
n=5
60%
3/5
20%
1W/4L
5/7
TENNIS
+CLV WR 100% (n=2) · −CLV WR 0% (n=3)
preliminary
PRELIMINARY
-5.12c -5.12c
n=5
40%
2/5
73%
8W/3L
5/11
CS2
+CLV WR 87% (n=63) · −CLV WR 5% (n=83)
bleeding badly
PAUSED
-5.46c -5.80c
n=144
43%
63/146
43%
145W/191L
146/341
NBA
+CLV WR 94% (n=16) · −CLV WR 0% (n=15)
bleeding badly
PAUSED
-7.87c -7.87c
n=31
52%
16/31
45%
57W/69L
31/126

Edge bucket detail — where the edge actually lives

For each sport with enough data, mean CLV broken down by the edge size at entry. This is the layer at which gate decisions get made: "do trades at 8-11c edge in MLB actually beat the close?" If the bucket is green, yes. If it's red, the model is selling closing-line value into that band.

NCAAMB
mean CLV +17.75c · 4 measured
preliminary
Edge band n Mean CLV Beat % WR
8-11c 2 +10.50c 100% 100%
11-15c 1 +26.00c 100% 100%
15-20c 1 +24.00c 100% 100%
NCAAWB
mean CLV +6.82c · 4 measured
preliminary
Edge band n Mean CLV Beat % WR
11-15c 1 +32.80c 100% 100%
15-20c 2 -12.25c 50% 50%
25c+ 1 +19.00c 100% 100%
ATP
mean CLV +5.16c · 91 measured
beating close
Edge band n Mean CLV Beat % WR
8-11c 31 -1.45c 42% 55%
11-15c 20 -3.90c 50% 40%
15-20c 18 +12.06c 50% 56%
20-25c 13 +11.55c 54% 31%
25c+ 9 +25.06c 56% 67%
LOL
mean CLV +3.44c · 78 measured
beating close
Edge band n Mean CLV Beat % WR
<5c 2 +3.00c 50% 50%
8-11c 21 +3.72c 67% 67%
11-15c 10 -1.85c 50% 50%
15-20c 12 +11.42c 67% 67%
20-25c 9 -13.33c 22% 22%
25c+ 24 +7.75c 54% 33%
NHL
mean CLV +1.08c · 91 measured
beating close
Edge band n Mean CLV Beat % WR
<5c 5 +4.64c 80% 60%
8-11c 29 -7.38c 45% 55%
11-15c 21 +4.57c 71% 67%
15-20c 18 +11.78c 61% 83%
20-25c 9 -6.13c 44% 56%
25c+ 9 +4.08c 67% 44%
MLB
mean CLV -2.04c · 155 measured
bleeding
Edge band n Mean CLV Beat % WR
<5c 7 -13.49c 29% 29%
5-8c 57 -1.14c 63% 72%
8-11c 26 -10.14c 46% 54%
11-15c 24 -5.58c 50% 58%
15-20c 10 -4.33c 50% 50%
20-25c 13 +8.15c 62% 62%
25c+ 18 +9.92c 61% 56%
SOCCER
mean CLV -2.12c · 35 measured
bleeding
Edge band n Mean CLV Beat % WR
<5c 2 +39.50c 100% 100%
8-11c 9 -14.90c 33% 44%
11-15c 10 -14.55c 30% 30%
15-20c 9 -0.90c 33% 22%
20-25c 3 +39.20c 100% 67%
25c+ 2 +8.50c 50% 0%
WTA
mean CLV -2.67c · 41 measured
bleeding
Edge band n Mean CLV Beat % WR
8-11c 10 -21.88c 30% 30%
11-15c 3 +2.33c 33% 33%
15-20c 23 -0.51c 48% 44%
20-25c 3 +3.50c 33% 33%
25c+ 2 +51.75c 100% 100%
?
mean CLV -4.04c · 5 measured
preliminary
Edge band n Mean CLV Beat % WR
<5c 5 -4.04c 60% 20%
TENNIS
mean CLV -5.12c · 5 measured
preliminary
Edge band n Mean CLV Beat % WR
<5c 5 -5.12c 40% 40%
CS2
mean CLV -5.46c · 146 measured
bleeding badly
Edge band n Mean CLV Beat % WR
<5c 6 -30.83c 33% 33%
5-8c 6 -42.58c 0% 17%
8-11c 21 -2.71c 52% 52%
11-15c 27 -6.88c 41% 48%
15-20c 34 -2.54c 44% 41%
20-25c 35 -2.71c 46% 31%
25c+ 17 +3.97c 47% 41%
NBA
mean CLV -7.87c · 31 measured
bleeding badly
Edge band n Mean CLV Beat % WR
<5c 1 +23.50c 100% 100%
5-8c 9 +3.67c 78% 78%
8-11c 5 -2.50c 60% 60%
11-15c 3 -37.20c 0% 0%
15-20c 7 -15.64c 43% 29%
20-25c 5 -19.08c 20% 20%
25c+ 1 +28.50c 100% 100%

Why we publish this

Bot P&L is the wrong scoreboard for whether a probability model is good. P&L is dominated by single-game variance — five coin-flips in a row can wipe out a quarter of edge that took 200 trades to build. CLV doesn't have that problem. It settles within a day, can't be flipped by a buzzer-beater, and answers exactly the question every quant cares about: did the model beat the market on price, before the game even started?

We publish CLV by sport because that is where the trading decisions actually get made. If a sport's CLV is consistently negative, the model is selling closing-line value into the market — the bot will lose money on that sport regardless of which side wins. We use this page to make those decisions in public. As of this update, we trade only sports with positive or breakeven CLV. The bleeders (NBA, CS2, WTA, Soccer) are paused until their CLV either improves or the underlying model is retrained — see the changelog for the suspension log.

The data is updated by a weekly cron that pulls Polymarket price history for every settled trade and computes the closing-line difference. Coverage is currently 48.0% across all trades. Older trades may not have CLV because Polymarket's history API doesn't always return non-terminal prices for resolved markets.

Citing this dataset

CC BY 4.0. Reproduce, quote, and embed freely with attribution. Programmatic access via JSON / CSV is rate-unlimited for non-abusive use.

ZenHodl Sports Forecasting CLV. Accessed 2026-05-01. https://zenhodl.net/clv

Definition. CLV is computed as closing_price_c − entry_price_c for each trade. Closing price is the last non-terminal Polymarket midpoint observed before the market converges to its 0/100 resolution. Entry price is the ask we paid at trade-open time.

Coverage. Older trades may lack CLV because the close-price-tracker only stored prices in a 5–95c band; markets that resolved fast can have no non-terminal price recorded. The weekly backfill_clv.py cron pulls Polymarket price history to close that gap retroactively. Current coverage: 48.0%.

Verdicts. A sport is labeled beating close at mean CLV ≥ +1c, breakeven between −1c and +1c, bleeding from −1c to −3c, and bleeding badly below −3c. Sports with under 10 measured trades are flagged preliminary and excluded from go/no-go decisions.

Active vs paused sports. The bot currently trades only NHL, ATP, LOL, and MLB (the sports with positive or breakeven CLV). NBA, CS2, WTA, and Soccer remain in this dataset because their historical CLV is meaningful research data and we'd rather show it than hide it. Their trading is paused until CLV trends positive or the underlying model is retrained.

Why most vendors don't publish CLV. Because most can't measure it (no entry-price stamp, no closing-price archive), and the ones that can usually find their CLV is negative. Negative CLV is uncomfortable to publish. We publish it anyway — it's the same reason the transparency index shows ZenHodl ranked #2 instead of fudging us to #1.