- Taken
- DraftKings +195
- Other venue
- Kalshi +159
- Proj
- 3.3
- Actual
- 5
- Tip
- 10:00 pm ET
- Locked
- 9:02 pm ET
SHADOW Testing phase — every number on this page is a tracked shadow pick (record_type=shadow), not a betting record. The grading anchor is unset; nothing here counts until a lane is promoted at the checkpoint.
The Lab Shows
Its Work.
This is the shadow testing phase. Every NBA Labs pick since Friday, October 23, 2026 is locked before tip, graded off the NBA’s official game logs and tracked here in the open — win or lose. None of it counts as a record until the Monday, November 16, 2026 checkpoint.
The Track Record
Every graded pick by range — record, units and ROI at the price it locked at, flat 1-unit stakes, the real number win or lose. Shadow — not a betting record: nothing here counts until a lane is promoted at the checkpoint.
By market
Net shadow units by market, graded in range — best first.
By tier
PLAY cleared the full shadow gate; LEAN is the test line on a game with no PLAY.
By market
Net shadow units by market, graded in range — best first.
By tier
PLAY cleared the full shadow gate; LEAN is the test line on a game with no PLAY.
By market
Net shadow units by market, graded in range — best first.
By tier
PLAY cleared the full shadow gate; LEAN is the test line on a game with no PLAY.
By market
Net shadow units by market, graded in range — best first.
By tier
PLAY cleared the full shadow gate; LEAN is the test line on a game with no PLAY.
Daily P&L
The Shadow Record
Every graded pick at the price it locked at, flat 1-unit stakes, graded off the NBA’s official game logs. Shadow testing: tracked in the open, not a betting record.
PLAY vs LEAN
PLAY cleared the full shadow gate · LEAN = the test line on a game with no PLAY.
Kalshi vs DraftKings
Where each pick was taken — Kalshi is an exchange, DraftKings a sportsbook.
By market & side
Points and rebounds lines, over and under.
By odds band
The price each pick locked at, biggest favorite to longest shot. “Won X% vs Y% implied” = how often it hit vs the hit rate that price needed to break even.
Units, night by night
Go-Live Readiness
What has to be true before any NBA lane leaves shadow testing — every gate, its status and the evidence behind it.
2,707 Kalshi rungs 2026-10-23→10-28: engine Brier 0.1700 vs market 0.1702 — a dead heat (engine ahead on ast/pra/reb, behind on points/3pm). The 2025-26 season backtest: the engine loses on pts/reb/ast.
26 Kalshi-priced picks: mean CLV −0.1c vs the close (negative after cost). DraftKings picks have no close yet.
65 picks over 6 nights. At this size flat ROI has a ±28% 95% band (per-pick SD 1.14u); judge on Brier + CLV, not W-L.
Fixed 2026-10-29: duplicate game-log rows are summed (Booker 10-26 = the box score) and every night was regraded on fresh truth — Tre Jones 10-23 LOSS→WIN (the 03:00 pull was stale); regraded picks match Kalshi's settlement 46/46. Still to build: a later re-grade or settlement check so a stale 03:00 pull can't stick.
3 incidents in 6 nights: 10-24 network drop 17:48–21:51 ET, 10-25 Mac asleep → 2 games missed, 10-26 battery died 20:43 ET. From 10-29 each game locks inside its last hour — the Mac must be awake, online and plugged in for every tip.
New rule 2026-10-29 (Rob): a game locks inside the 60 min before its own tip, on the last injury report — it sees 58 of 70 rotation outs announced on game day 10-21→10-28 (a 2–3 h lock saw 40). Through 10-28 every game locked once the first tip was 4 h out (median 3.9 h).
Kalshi + DraftKings live; every pick takes the better of the two. The Odds API daily pull (more books) is not wired yet.
DK picks (31 of 65) get no CLV until an ESPN pull at tip is wired.
Set only when a lane is promoted at the checkpoint. Until then every pick is shadow.
LIVE 2026-10-29 as a shadow lane (Rob's go, auto-publish ON): this page at ctbetz.com/nba/progress/ (since 10:21 ET); the day's card at ctbetz.com/nba/ from each day's first slate run, republished at every lock. Still to do: the card's Home shows the shadow record numbers (today it links here).
Lock Timing
How early each pick locked: tip time minus lock time, from the stamps in the grade file. The rule since Thursday, October 29, 2026: each game locks inside the 60 minutes before its own tip, on the last injury report. Through October 28 every game locked once the first tip was 4 hours out.
Engine vs Market
Every Kalshi rung on the graded nights, scored after the fact: who called it sharper — the engine’s number or the market price? Plus how our picks did against the closing price.
3,342 Kalshi rungs over 8 nights · Brier engine 0.1709 vs market 0.1707 (lower is sharper)
28 Kalshi-priced picks · mean -0.1¢ vs the Kalshi closing mid · DraftKings picks have no close yet
Per-market reads are a few hundred rungs each and swing night to night — a read, not a verdict.
The Full Card
Every shadow pick, night by night, newest first: when it locked, the price taken, the other venue’s price, the engine’s projection, what happened. Tap a night to open it.
Friday, October 30, 20262 picks · 2 games · board: market ahead by a hair
- Taken
- DraftKings +158
- Other venue
- Kalshi +152
- Proj
- 15.4
- Actual
- 3
- Tip
- 10:00 pm ET
- Locked
- 9:02 pm ET
Thursday, October 29, 20263 picks · 3 games · board: market ahead by a hair
- Taken
- Kalshi +398
- Other venue
- DraftKings +290
- Proj
- 20.9
- Actual
- 25
- Tip
- 8:00 pm ET
- Locked
- 7:05 pm ET
- Taken
- DraftKings +209
- Other venue
- Kalshi +173
- Proj
- 12.0
- Actual
- 10
- Tip
- 8:00 pm ET
- Locked
- 7:05 pm ET
- Taken
- Kalshi +240
- Other venue
- DraftKings +227
- Proj
- 14.5
- Actual
- 13
- Tip
- 10:00 pm ET
- Locked
- 9:03 pm ET
Wednesday, October 28, 202614 picks · 12 games · board: engine well ahead
- Taken
- Kalshi -154
- Other venue
- DraftKings -163
- Proj
- 26.8
- Actual
- 20
- Tip
- 7:00 pm ET
- Locked
- 3:06 pm ET
- Taken
- DraftKings -110
- Other venue
- —
- Proj
- 26.0
- Actual
- 24
- Tip
- 7:00 pm ET
- Locked
- 3:06 pm ET
- Taken
- DraftKings -126
- Other venue
- Kalshi -131
- Proj
- 9.4
- Actual
- 18
- Tip
- 7:00 pm ET
- Locked
- 3:06 pm ET
- Taken
- DraftKings +121
- Other venue
- Kalshi +119
- Proj
- 20.8
- Actual
- 16
- Tip
- 7:00 pm ET
- Locked
- 3:06 pm ET
- Taken
- Kalshi +490
- Other venue
- DraftKings +431
- Proj
- 10.7
- Actual
- 14
- Tip
- 7:00 pm ET
- Locked
- 5:47 pm ET
- Taken
- Kalshi +1074
- Other venue
- DraftKings +760
- Proj
- 13.0
- Actual
- 3
- Tip
- 7:30 pm ET
- Locked
- 3:06 pm ET
- Taken
- Kalshi +129
- Other venue
- DraftKings +128
- Proj
- 12.0
- Actual
- 11
- Tip
- 8:00 pm ET
- Locked
- 3:06 pm ET
- Taken
- DraftKings -113
- Other venue
- Kalshi -131
- Proj
- 4.6
- Actual
- 5
- Tip
- 8:00 pm ET
- Locked
- 3:06 pm ET
- Taken
- DraftKings -128
- Other venue
- Kalshi -137
- Proj
- 4.8
- Actual
- 2
- Tip
- 8:00 pm ET
- Locked
- 3:06 pm ET
- Taken
- DraftKings -177
- Other venue
- Kalshi -191
- Proj
- 16.1
- Actual
- 9
- Tip
- 8:00 pm ET
- Locked
- 3:06 pm ET
- Taken
- DraftKings -108
- Other venue
- Kalshi -126
- Proj
- 21.9
- Actual
- 44
- Tip
- 8:00 pm ET
- Locked
- 3:06 pm ET
- Taken
- DraftKings -126
- Other venue
- Kalshi -137
- Proj
- 21.8
- Actual
- 31
- Tip
- 9:00 pm ET
- Locked
- 3:54 pm ET
- Taken
- DraftKings -373
- Other venue
- Kalshi -458
- Proj
- 14.1
- Actual
- 18
- Tip
- 9:30 pm ET
- Locked
- 8:25 pm ET
- Taken
- DraftKings -220
- Other venue
- Kalshi -322
- Proj
- 22.6
- Actual
- 16
- Tip
- 10:30 pm ET
- Locked
- 4:11 pm ET
Tuesday, October 27, 20266 picks · 4 games · board: market ahead by a hair
- Taken
- DraftKings -118
- Other venue
- —
- Proj
- 21.7
- Actual
- 40
- Tip
- 7:30 pm ET
- Locked
- 3:34 pm ET
- Taken
- DraftKings +189
- Other venue
- Kalshi +166
- Proj
- 9.3
- Actual
- 11
- Tip
- 7:30 pm ET
- Locked
- 6:40 pm ET
- Taken
- Kalshi +159
- Other venue
- DraftKings +158
- Proj
- 14.2
- Actual
- 12
- Tip
- 8:00 pm ET
- Locked
- 3:34 pm ET
- Taken
- DraftKings -132
- Other venue
- Kalshi -148
- Proj
- 17.9
- Actual
- 11
- Tip
- 8:00 pm ET
- Locked
- 3:34 pm ET
- Taken
- DraftKings -142
- Other venue
- Kalshi -154
- Proj
- 13.9
- Actual
- 22
- Tip
- 11:00 pm ET
- Locked
- 3:34 pm ET
- Taken
- DraftKings +128
- Other venue
- Kalshi +114
- Proj
- 11.1
- Actual
- 2
- Tip
- 11:00 pm ET
- Locked
- 6:09 pm ET
Monday, October 26, 202612 picks · 9 games · board: market ahead
- Taken
- Kalshi +181
- Other venue
- DraftKings +153
- Proj
- 9.9
- Actual
- 9
- Tip
- 7:00 pm ET
- Locked
- 3:12 pm ET
- Taken
- DraftKings -158
- Other venue
- Kalshi -183
- Proj
- 11.2
- Actual
- 12
- Tip
- 7:00 pm ET
- Locked
- 3:12 pm ET
- Taken
- Kalshi -126
- Other venue
- DraftKings -129
- Proj
- 5.9
- Actual
- 6
- Tip
- 7:30 pm ET
- Locked
- 3:12 pm ET
- Taken
- DraftKings -122
- Other venue
- Kalshi -131
- Proj
- 9.1
- Actual
- 14
- Tip
- 7:30 pm ET
- Locked
- 3:12 pm ET
- Taken
- DraftKings -103
- Other venue
- Kalshi -112
- Proj
- 26.6
- Actual
- 29
- Tip
- 7:30 pm ET
- Locked
- 6:37 pm ET
- Taken
- Kalshi +140
- Other venue
- DraftKings +108
- Proj
- 25.8
- Actual
- 3
- Tip
- 8:00 pm ET
- Locked
- 3:12 pm ET
- Taken
- DraftKings +265
- Other venue
- Kalshi +240
- Proj
- 13.1
- Actual
- 13
- Tip
- 8:00 pm ET
- Locked
- 3:12 pm ET
- Taken
- Kalshi +456
- Other venue
- —
- Proj
- 5.8
- Actual
- 9
- Tip
- 8:30 pm ET
- Locked
- 3:12 pm ET
- Taken
- DraftKings -112
- Other venue
- Kalshi -116
- Proj
- 23.5
- Actual
- 26
- Tip
- 9:00 pm ET
- Locked
- 3:12 pm ET
- Taken
- DraftKings -740
- Other venue
- Kalshi -1684
- Proj
- 21.1
- Actual
- 6
- Tip
- 9:00 pm ET
- Locked
- 3:27 pm ET
- Taken
- DraftKings -133
- Other venue
- Kalshi -183
- Proj
- 14.9
- Actual
- 13
- Tip
- 9:00 pm ET
- Locked
- 8:27 pm ET
- Taken
- Kalshi -161
- Other venue
- —
- Proj
- 4.1
- Actual
- 7
- Tip
- 10:00 pm ET
- Locked
- 3:12 pm ET
Sunday, October 25, 20265 picks · 5 games · board: engine ahead by a hair
- Taken
- Kalshi -137
- Other venue
- —
- Proj
- 9.3
- Actual
- 4
- Tip
- 7:00 pm ET
- Locked
- 6:34 pm ET
- Taken
- Kalshi +152
- Other venue
- DraftKings +115
- Proj
- 10.6
- Actual
- 1
- Tip
- 7:00 pm ET
- Locked
- 6:34 pm ET
- Taken
- DraftKings +390
- Other venue
- Kalshi +373
- Proj
- 4.6
- Actual
- 3
- Tip
- 7:00 pm ET
- Locked
- 6:34 pm ET
- Taken
- Kalshi -191
- Other venue
- DraftKings -273
- Proj
- 14.0
- Actual
- 21
- Tip
- 7:30 pm ET
- Locked
- 6:34 pm ET
- Taken
- Kalshi +351
- Other venue
- DraftKings +313
- Proj
- 13.8
- Actual
- 12
- Tip
- 9:00 pm ET
- Locked
- 6:34 pm ET
Saturday, October 24, 202610 picks · 8 games · board: engine ahead
- Taken
- DraftKings -124
- Other venue
- Kalshi -126
- Proj
- 7.7
- Actual
- 8
- Tip
- 6:00 pm ET
- Locked
- 2:09 pm ET
- Taken
- DraftKings -101
- Other venue
- —
- Proj
- 8.3
- Actual
- 6
- Tip
- 6:00 pm ET
- Locked
- 2:09 pm ET
- Taken
- Kalshi +625
- Other venue
- DraftKings +495
- Proj
- 5.6
- Actual
- 5
- Tip
- 7:30 pm ET
- Locked
- 2:09 pm ET
- Taken
- Kalshi -107
- Other venue
- DraftKings -115
- Proj
- 17.3
- Actual
- 21
- Tip
- 7:30 pm ET
- Locked
- 2:09 pm ET
- Taken
- DraftKings -107
- Other venue
- Kalshi -116
- Proj
- 18.0
- Actual
- 19
- Tip
- 8:00 pm ET
- Locked
- 2:40 pm ET
- Taken
- DraftKings -109
- Other venue
- —
- Proj
- 14.4
- Actual
- 10
- Tip
- 8:00 pm ET
- Locked
- 3:43 pm ET
- Taken
- DraftKings -112
- Other venue
- Kalshi -121
- Proj
- 8.5
- Actual
- 9
- Tip
- 8:30 pm ET
- Locked
- 2:09 pm ET
- Taken
- DraftKings -157
- Other venue
- Kalshi -191
- Proj
- 2.6
- Actual
- 5
- Tip
- 8:30 pm ET
- Locked
- 2:25 pm ET
- Taken
- DraftKings +110
- Other venue
- —
- Proj
- 5.7
- Actual
- 3
- Tip
- 9:00 pm ET
- Locked
- 2:09 pm ET
- Taken
- DraftKings -251
- Other venue
- Kalshi -290
- Proj
- 25.9
- Actual
- 43
- Tip
- 10:00 pm ET
- Locked
- 2:25 pm ET
Friday, October 23, 202618 picks · 12 games · board: market well ahead
- Taken
- Kalshi +124
- Other venue
- —
- Proj
- 16.6
- Actual
- 25
- Tip
- 4:00 pm ET
- Locked
- 2:56 pm ET
- Taken
- Kalshi +101
- Other venue
- —
- Proj
- 13.5
- Actual
- 11
- Tip
- 4:00 pm ET
- Locked
- 2:56 pm ET
- Taken
- Kalshi +114
- Other venue
- —
- Proj
- 19.2
- Actual
- 36
- Tip
- 7:00 pm ET
- Locked
- 6:05 pm ET
- Taken
- Kalshi -191
- Other venue
- —
- Proj
- 16.4
- Actual
- 9
- Tip
- 7:00 pm ET
- Locked
- 6:23 pm ET
- Taken
- Kalshi +252
- Other venue
- —
- Proj
- 10.6
- Actual
- 4
- Tip
- 7:00 pm ET
- Locked
- 6:23 pm ET
- Taken
- Kalshi +252
- Other venue
- —
- Proj
- 13.2
- Actual
- 11
- Tip
- 7:00 pm ET
- Locked
- 6:23 pm ET
- Taken
- Kalshi -126
- Other venue
- —
- Proj
- 13.8
- Actual
- 20
- Tip
- 7:00 pm ET
- Locked
- 6:23 pm ET
- Taken
- Kalshi +105
- Other venue
- —
- Proj
- 7.9
- Actual
- 12
- Tip
- 8:00 pm ET
- Locked
- 6:23 pm ET
- Taken
- Kalshi +152
- Other venue
- —
- Proj
- 13.0
- Actual
- 12
- Tip
- 9:30 pm ET
- Locked
- 6:23 pm ET
- Taken
- Kalshi -121
- Other venue
- —
- Proj
- 8.6
- Actual
- 7
- Tip
- 9:30 pm ET
- Locked
- 6:23 pm ET
- Taken
- Kalshi +152
- Other venue
- —
- Proj
- 13.2
- Actual
- 20
- Tip
- 9:30 pm ET
- Locked
- 6:23 pm ET
- Taken
- Kalshi +101
- Other venue
- —
- Proj
- 18.6
- Actual
- 7
- Tip
- 9:30 pm ET
- Locked
- 6:23 pm ET
- Taken
- Kalshi +218
- Other venue
- —
- Proj
- 17.9
- Actual
- 20
- Tip
- 9:30 pm ET
- Locked
- 6:23 pm ET
- Taken
- Kalshi +105
- Other venue
- —
- Proj
- 5.1
- Actual
- 3
- Tip
- 9:30 pm ET
- Locked
- 6:23 pm ET
- Taken
- Kalshi +101
- Other venue
- —
- Proj
- 21.1
- Actual
- 25
- Tip
- 9:30 pm ET
- Locked
- 6:23 pm ET
- Taken
- Kalshi +114
- Other venue
- —
- Proj
- 16.8
- Actual
- 18
- Tip
- 10:00 pm ET
- Locked
- 6:23 pm ET
- Taken
- Kalshi +490
- Other venue
- —
- Proj
- 5.7
- Actual
- 4
- Tip
- 10:00 pm ET
- Locked
- 6:23 pm ET
- Taken
- Kalshi -142
- Other venue
- —
- Proj
- 14.7
- Actual
- 19
- Tip
- 10:00 pm ET
- Locked
- 6:23 pm ET