Sport Repair Status

For every sport in the model index, what its current operational status is, why it's there, and what would need to happen for it to come back online if it's paused. Most prediction-market vendors don't show this. We do because the pipeline is the product.

Updated 2026-05-01 · 6 active sports · 4 paused

How to read these statuses
PROMOTE
CLV ≥ +1c on n ≥ 10 — scale carefully
KEEP
CLV between −1c and +1c — hold
RESTRICT
CLV between −2c and −1c — narrow gates
KILL / PAPER
CLV ≤ −2c — pause real-money

ATP

live
active · CLV positive, gates working
PROMOTE
promote · CLV positive, scale carefully
Mean CLV
+5.16c
n=91
30d
+4.02c
n=89
Overall WR
49%
+CLV 82% / −CLV 19%
Failure-mode breakdown (47 negative-CLV trades)
bad_model30
bad_blend15
bad_timing0
bad_clv_label2
What needs to be true

Maintain. Strongest +CLV sport in the index.

LOL

live
active · CLV positive on small sample
PROMOTE
promote · CLV positive, scale carefully
Mean CLV
+3.44c
n=78
30d
+2.52c
n=72
Overall WR
40%
+CLV 84% / −CLV 6%
Failure-mode breakdown (35 negative-CLV trades)
bad_model18
bad_blend15
bad_timing1
bad_clv_label1
What needs to be true

Maintain at small size until 50+ measured trades confirm.

NHL

live
active · CLV positive, gates working
PROMOTE
promote · CLV positive, scale carefully
Mean CLV
+1.08c
n=91
30d
+1.22c
n=88
Overall WR
60%
+CLV 91% / −CLV 24%
Failure-mode breakdown (38 negative-CLV trades)
bad_model22
bad_blend8
bad_timing2
bad_clv_label6
What needs to be true

Maintain. Watch for drift. Consider scaling size if 50+ more trades hold +CLV.

MLB

live
monitor · high WR but slight -CLV in current measure
KILL
kill or paper · CLV deeply negative
Mean CLV
-2.04c
n=155
30d
-2.76c
n=151
Overall WR
58%
+CLV 96% / −CLV 16%
Failure-mode breakdown (69 negative-CLV trades)
bad_model47
bad_blend13
bad_timing0
bad_clv_label9
What needs to be true

Investigate live in-play CLV measurement (T+60s / T+180s micro-CLV) before assuming the model is wrong. The high WR / negative CLV combo often means timing, not model.

SOCCER

paused
narrow · per-league CLV is the right gate
PAUSED
paused · CLV not yet recovered
Mean CLV
-2.12c
n=35
30d
-2.12c
n=35
Overall WR
37%
+CLV 73% / −CLV 10%
Failure-mode breakdown (20 negative-CLV trades)
bad_model17
bad_blend1
bad_timing0
bad_clv_label2
What needs to be true

Re-enable per league as each shows +CLV. LIGUE1 is already +1.19c; EPL is breakeven; smaller leagues need their own data before re-enable.

WTA

paused
rebuild · model overconfident on lower-liquidity matches
PAUSED
paused · CLV not yet recovered
Mean CLV
-2.67c
n=41
30d
-2.67c
n=41
Overall WR
42%
+CLV 89% / −CLV 4%
Failure-mode breakdown (23 negative-CLV trades)
bad_model21
bad_blend2
bad_timing0
bad_clv_label0
What needs to be true

Reactivate after WTA-specific calibration on 30+ paper trades with CLV trending positive. Edge gate may need to rise from current ATP level.

CS2

paused
rebuild · model lacks map / liquidity context
PAUSED
paused · CLV not yet recovered
Mean CLV
-5.46c
n=146
30d
-5.80c
n=144
Overall WR
43%
+CLV 87% / −CLV 5%
Failure-mode breakdown (83 negative-CLV trades)
bad_model55
bad_blend26
bad_timing0
bad_clv_label2
What needs to be true

Reactivate after adding map-level features (map veto, side strength, stand-in flag) and gating on liquidity (spread ≤ 4c, depth ≥ fill size). 50+ paper trades with CLV ≥ +1c required.

NBA

paused
rebuild · model overconfident on a small sample
PAUSED
paused · CLV not yet recovered
Mean CLV
-7.87c
n=31
30d
-7.87c
n=31
Overall WR
45%
+CLV 94% / −CLV 0%
Failure-mode breakdown (15 negative-CLV trades)
bad_model12
bad_blend3
bad_timing0
bad_clv_label0
What needs to be true

Reactivate when 100+ paper trades show CLV ≥ +0.5c across at least 3 separate weeks.

NCAAMB

live
uncategorized
PRELIMINARY
preliminary · need 10+ measured trades
Mean CLV
+17.75c
n=4
30d
+17.75c
n=4
Overall WR
53%
+CLV 100% / −CLV 0%
What needs to be true

No specific repair plan recorded.

NCAAWB

live
uncategorized
PRELIMINARY
preliminary · need 10+ measured trades
Mean CLV
+6.82c
n=4
30d
+27.17c
n=3
Overall WR
49%
+CLV 100% / −CLV 0%
Failure-mode breakdown (1 negative-CLV trades)
bad_model1
bad_blend0
bad_timing0
bad_clv_label0
What needs to be true

No specific repair plan recorded.

?

paused
uncategorized
PRELIMINARY
preliminary · need 10+ measured trades
Mean CLV
-4.04c
n=5
30d
-4.04c
n=5
Overall WR
20%
+CLV 33% / −CLV 0%
Failure-mode breakdown (2 negative-CLV trades)
bad_model2
bad_blend0
bad_timing0
bad_clv_label0
What needs to be true

No specific repair plan recorded.

TENNIS

paused
uncategorized
PRELIMINARY
preliminary · need 10+ measured trades
Mean CLV
-5.12c
n=5
30d
-5.12c
n=5
Overall WR
73%
+CLV 100% / −CLV 0%
Failure-mode breakdown (3 negative-CLV trades)
bad_model3
bad_blend0
bad_timing0
bad_clv_label0
What needs to be true

No specific repair plan recorded.

Why we publish this. Most vendors don't tell you which of their sports are bleeding because doing so reveals which models work. We publish because (a) the pipeline is the product, and (b) the act of publishing creates the discipline to actually act on the data instead of letting bleeders compound.

Failure-mode taxonomy. Every -CLV trade is tagged with one of four causes — bad_model (probability wrong), bad_blend (model+market disagreement was wrong), bad_timing (paid too much for the right answer), or bad_clv_label (the measurement itself is misleading for this live market). The dominant mode tells us what to fix.

Reactivation criteria. Paused sports come back when their paper-mode CLV trends positive on a meaningful sample (typically 30–100 trades depending on sport variance). The criteria for each sport are listed on the cards above.

Data & methodology. CLV is computed weekly via backfill_clv.py from Polymarket price history. Failure-mode tags are deterministic from clv_failure_tagger.py. Both are reproducible from the public /clv.json + /clv/failures.json endpoints.