Skip to main content
CLV (Closing Line Value) compares the price you bet at to the closing price (the last fair odds just before kick-off). Because Pinnacle’s closing line is the sharpest on the market, consistently beating it is the best predictor of long-term profit — far more reliable than the outcome of any single bet. Positive CLV = you took a better price than the final market. Over hundreds of bets, a positive average CLV trends toward positive ROI.

How to compute it

CLV% = (bet_odds / closing_odds − 1) × 100 Example: you bet at 2.10, the close settles at 1.90. 2.10 / 1.90 − 1 = +10.5% → you beat the close by 10.5%.
Use the fair (devigged, todds) closing price rather than the raw odds: the margin skews the comparison. The /api/clv endpoint already returns a margin-free CLV.

With apinn

The /api/clv endpoint does the math for you: pass the event, period, market, selection and your bet_price.
1

Query the CLV of a bet

2

Track your portfolio's average CLV

Store each bet’s clv_pct and track the average over time — it’s your profitability compass.
Python

Best practices

  • Judge on CLV, not the result: a losing bet with positive CLV is still a good decision.
  • Volume: CLV only means something aggregated over many bets.
  • Timing: the earlier you bet (before the line hardens), the higher the potential CLV — see dropping odds.
  • Benchmark: always compare against the Pinnacle close, the most efficient line.