Skip to content
CURRENT
-7 → -6 (+1) over 24 captures ATL @ GB spread -7 → -6 house House backtest last 10: 6–4 · 90-day all-market 55.3% (n=8163) · 21h ago Wire Sources: Colts' Pierce out weeks; hoping for return midseason Wire Giants QB Jaxson Dart exits MNF game vs. Rams with knee injury Wire Seahawks plan to have Sam Darnold back at practice Wednesday
Access: Anonymous access. Content follows.
receipts-weekly

The CLV Ledger #1 — The board moved. The ledger hasn’t.

Read the price, role, and market first Week 1 captured spread moves from our own odds table, what CLV actually measures, and why our public graded CLV ledger starts empty.

5 sections

The House

Renamed to Model Desk on 2026-09-09. Kept for the posts published under the old name.

Key takeaways (from article sections)

  • What moved on our board
  • The move is not the CLV
  • The historical answer is also empty — for the right reason
  • The ledger starts at zero
  • VERIFY

Closing-line value is not whether a bet wins. It is whether the price you took was better than the final price available before kickoff. That distinction matters today because our Week 1 board has moved, while our NFL live_pregame graded ledger has no eligible rows yet.

So the first CLV Ledger starts with two ledgers, not one. The market ledger can show what our own captured prices have done. The graded ledger cannot show live CLV until eligible picks settle and carry a recorded closing benchmark. That second ledger starts empty on purpose.

What moved on our board

For a clean apples-to-apples board, we use Bovada because our capture covers every Week 1 game on the same book. “Captured open” means the first Bovada spread we stored for that game, not the market’s true opener. “Current” means the latest stored Bovada spread asOf 2026-08-31T15:45:00Z. Six of 16 games have moved between those two observations asOf 2026-08-31T15:45:00Z; 10 have not.

GameCaptured openCurrent
BUF at HOUHOU -1 asOf 2026-08-22T14:11:47.979ZPK asOf 2026-08-31T15:45:00Z
BAL at INDBAL -3 asOf 2026-08-22T14:11:47.979ZBAL -3.5 asOf 2026-08-31T15:45:00Z
CLE at JAXJAX -7.5 asOf 2026-08-22T14:11:47.979ZJAX -8 asOf 2026-08-31T15:45:00Z
MIA at LVLV -4 asOf 2026-08-22T14:11:47.979ZLV -3.5 asOf 2026-08-31T15:45:00Z
NYJ at TENTEN -2.5 asOf 2026-08-22T14:11:47.979ZTEN -2 asOf 2026-08-31T15:45:00Z
TB at CINCIN -3.5 asOf 2026-08-22T14:11:47.979ZCIN -4 asOf 2026-08-31T15:45:00Z
ARI at LACLAC -10 asOf 2026-08-22T14:11:47.979ZLAC -10 asOf 2026-08-31T15:45:00Z
ATL at PITPIT -3 asOf 2026-08-22T14:11:47.979ZPIT -3 asOf 2026-08-31T15:45:00Z
CHI at CARCHI -2.5 asOf 2026-08-22T14:11:47.979ZCHI -2.5 asOf 2026-08-31T15:45:00Z
DAL at NYGDAL -3 asOf 2026-08-26T16:15:00ZDAL -3 asOf 2026-08-31T15:45:00Z
DEN at KCKC -2.5 asOf 2026-08-26T16:15:00ZKC -2.5 asOf 2026-08-31T15:45:00Z
GB at MINMIN -1.5 asOf 2026-08-22T14:11:47.979ZMIN -1.5 asOf 2026-08-31T15:45:00Z
NE at SEASEA -3.5 asOf 2026-08-26T16:15:00ZSEA -3.5 asOf 2026-08-31T15:45:00Z
NO at DETDET -7 asOf 2026-08-22T14:11:47.979ZDET -7 asOf 2026-08-31T15:45:00Z
SF at LALA -3.5 asOf 2026-08-26T16:15:00ZLA -3.5 asOf 2026-08-31T15:45:00Z
WAS at PHIPHI -4.5 asOf 2026-08-22T14:11:47.979ZPHI -4.5 asOf 2026-08-31T15:45:00Z

The move is not the CLV

The loudest move is BUF at HOU: Houston went from -1 asOf 2026-08-22T14:11:47.979Z to pick’em asOf 2026-08-31T15:45:00Z. Five other games moved by a half-point over their captured windows asOf 2026-08-31T15:45:00Z. That tells us where the board traveled. It does not tell us who beat the close.

To grade CLV, we need the exact side and line recorded when a pick became live, then the closing line from the same market. A move can help one side and hurt the other. Baltimore -3 asOf 2026-08-22T14:11:47.979Z is half a point better for a Baltimore backer than Baltimore -3.5 asOf 2026-08-31T15:45:00Z. But the latter is still a current capture, not a graded CLV row. The eligible settled record decides what enters this ledger.

The historical answer is also empty — for the right reason

We checked the graded spread backfill under the only provenance allow-list this ledger accepts: live_pregame. AsOf 2026-08-31T16:00:21.225367Z, that NFL-only query returns no graded win/loss/push spread rows and no populated CLV rows. That means we do not have a provenance-eligible historical ATS record to claim for “moves that beat the close.” We will not substitute leaked backfill, and we will not turn a batch stamp into a fake timeline: graded_at is a grading batch stamp, not the time axis for this franchise.

The Week 1 schedule tells the same story from the front. There are 16 scheduled games and no finals asOf 2026-08-31T15:55:05.840388Z; the scheduled window runs from 2026-09-09 through 2026-09-14 asOf that same query. No live graded CLV exists yet because there is nothing live to grade.

The ledger starts at zero

That is the point of publishing it now. We could wait until the first good-looking streak and launch a “track record” with a flattering denominator. Instead the record begins before the outcomes exist. Every week, the market ledger can show what moved. Once games close and eligible picks settle, the graded ledger can add ATS record and CLV from the same allow-listed provenance. Until then, the honest row is empty.

The only promise of this franchise is that zero stays zero until the tables say otherwise.

VERIFY

Run these read-only queries against production. Q1 produces every spread and movement count shown above; Q2 proves the graded CLV empty state; Q3 proves the Week 1 final-game empty state. For Q1, each captured_at value is the asOf for its price; Q2 and Q3 use their query timestamp as the asOf. Q2 deliberately does not use graded_at as a window.

-- Q1: odds_snapshots + nfl_schedules, Bovada captured open versus current
with week1 as (
  select game_id, away_team, home_team
  from public.nfl_schedules
  where season=2026 and week=1 and game_type='REG'
), ranked as (
  select w.away_team, w.home_team, o.game_id, o.id, o.captured_at, o.spread_home,
         row_number() over (partition by o.game_id order by o.captured_at asc, o.id asc) as rn_open,
         row_number() over (partition by o.game_id order by o.captured_at desc, o.id desc) as rn_current
  from public.odds_snapshots o
  join week1 w using (game_id)
  where o.book='bovada'
), paired as (
  select game_id, max(away_team) as away_team, max(home_team) as home_team,
         max(captured_at) filter (where rn_open=1) as open_as_of,
         max(spread_home) filter (where rn_open=1) as open_home_spread,
         max(captured_at) filter (where rn_current=1) as current_as_of,
         max(spread_home) filter (where rn_current=1) as current_home_spread
  from ranked
  group by game_id
)
select away_team, home_team, open_as_of, open_home_spread, current_as_of, current_home_spread,
       current_home_spread - open_home_spread as home_spread_move,
       count(*) over () as games_covered,
       count(*) filter (where current_home_spread != open_home_spread) over () as games_moved,
       count(*) filter (where current_home_spread = open_home_spread) over () as games_unchanged
from paired
order by abs(current_home_spread - open_home_spread) desc, away_team, home_team;

-- Q2: provenance-eligible graded spread ledger
select
  now() as as_of_utc,
  count(*) filter (where pr.bet_outcome in ('win','loss','push')) as graded_ats_rows,
  count(*) filter (where pr.clv is not null or pr.clv_cents is not null) as rows_with_clv,
  count(*) filter (where pr.bet_outcome='win') as wins,
  count(*) filter (where pr.bet_outcome='loss') as losses,
  count(*) filter (where pr.bet_outcome='push') as pushes
from public.prediction_results pr
join public.predictions p on p.id = pr.prediction_id
where pr.sport_key='nfl'
  and pr.prediction_type='game_spread'
  and pr.provenance_tier='live_pregame'
  and p.provenance_tier='live_pregame';

-- Q3: Week 1 schedule state
select
  now() as as_of_utc,
  min(gameday) as first_gameday,
  max(gameday) as last_gameday,
  count(*) as week1_games,
  count(*) filter (where is_final) as final_games
from public.nfl_schedules
where season=2026 and week=1 and game_type='REG';

This is analytics, not advice — bet responsibly, set your own limits, and never chase losses.

Model calibration from graded predictions

Calibration points render only when a verified source binds prediction probabilities to settled outcomes for the same observations.

Expected value from graded outcomes

Expected-value cells render only when a verified source binds observed win outcomes to the price paid for the same bets.

blog.receipts source receipts_summary · prediction_results window graded receipt window Data as of 2026-09-21T04:04:00.968457+00:00 n=2480
Receiptsas_of 2026-09-21T04:04:00.968457+00:00 · all-market graded rows n=2480
ATS spread win rate50.3% · n=1436 723-713-35 ATS spread
Units · secondary-173.27
Vig-laden ROI · secondary-7.1%
CLV · secondary-11.3%

Frequently asked questions

When does the angle in "The CLV Ledger #1 — The board moved. The ledger hasn’t." actually apply?
Treat it as a price-shopping checklist, not a play. The framework lands when the market is still building consensus — typically Tuesday-through-Thursday lines for NFL, two hours pre-tip for NBA. After major information drops (injury news, weather updates, lineup confirmations) the edge usually compresses or flips.
What invalidates the thesis?
A late line move past the threshold called out in the post, a starter ruled out, or a model retrain that materially changes the implied probability. When in doubt, pass — Shark Snip's closing-line-value tracker will tell you whether your read was actually sharp regardless of result.
How does this connect to the rest of the line-movement cluster?
It is one read inside a larger framework. Pair it with the cluster's cornerstone post on the same topic — they are designed as hub/spoke, not standalone. The "Related posts" section at the bottom and the internal links throughout the article will route you to the rest of the cluster.
Where do I check that the data behind "closing line value week 1" is current?
Numbers cited inline are pulled from the daily-refreshed feeds powering /tinker, /desk, /picks. Hover any data table for the as-of date. Schedule, lineup, and injury references update with the league's official feeds; market lines update on the half-hour from our consensus aggregator.

Build a free model in 60 seconds →

Go →
6m read time
12 players/teams
8 key angles

Angles in this read

  • Edge meter Positive expected value is presented as a meter, not a guarantee.
  • Model sparkline Model output and projection movement get a tiny sparkline rhythm.
  • Line arrow Spread, total, and price movement sections get directional cues.
  • Fourth-down tilt Aggressive coaching and game-state decisions get a tilted cue.
  • CLV scan A scanning underline highlights closing-line value concepts.
  • Closing bell Market close and stale-price warnings get a quick final-scan cue.

This article's context stays anchored to CLV Ledger, Game Captured and Current BUF and closing line value, line movement and model, all of which appear in the post itself.

Names and terms found in this article
CLV LedgerGame CapturedCurrent BUFHOU HOUIND BALJAX JAXLV LVTEN TENclosing line valueline movementmodelpriceclv ledger
Share this guide Help another reader make a sharper decision.

Get picks in your inbox

One email, every slate — ranked edges, no touts. Unsubscribe any time.

Start free — pick NFL

Go →

Continue with evidence

Related reading and source status

Related Reads

From a Trained Model to a Bet: Sizing, Closing-Line Value and the Track Record — Shark Snip
Betting Tools

From a Trained Model to a Bet: Sizing, Closing-Line Value and the Track Record

A trained model is not a bet yet. Studio's three sizing options, what closing-line value measures, and the rule that keeps an empty record empty.

Sep 9, 2026 7 min read
Bets of the Week: Week 1: anglerfish at work, cover art
NFL Picks

Bets of the Week: Week 1

Four Week 1 spreads moved half a point or more. Three of those moves are worth backing, and one is worth skipping.

Sep 8, 2026 5 min read
Week 1 Line Moves: what changed since the open: marlin at work, cover art
NFL Picks

Week 1 Line Moves: what changed since the open

Six Week 1 numbers moved half a point or more. Every open, every current price, the outlier book, and what the graded record says.

Sep 8, 2026 6 min read

query: loadMergedBlogPostCards + scoreRelated · n = 3

No data

No graded source picks match this article yet

The public.source_accuracy_scores 90-day query returned no rows for this article's inferred sport.