Research notes from the desk.
Our number against the market, the signals that are holding, and what the tape is telling us — published either way, winners and losers on the same page. Free, no account.
One page per game, updated through the week as the line moves and the injury news lands. We publish where our number differs from the market — not what to bet.
Cardinals' Jeremiyah Love ruled out; our number sits 8.53 points off the market
2026-10-16 · 7 updates
Rice and Simmons out for KC; our number edges up 0.13 to 11.59
2026-10-16 · 8 updates
Lamar Jackson reported out vs. CLE; our number is BAL by 4.78, not yet revised
2026-10-16 · 10 updates
Mayfield ruled out; total slips to 39.5, our TB margin +2.81 vs market -2.5
2026-10-16 · 2 updates
Jets lose Hall and Mitchell; our NE margin widens to +4.76, still short of -7.5
2026-10-16 · 6 updates
Final: Seahawks 14, Broncos 17 — we were right on DEN
2026-10-15 · 6 updates
Evans misses practice, total ticks to 51.5; we sit 2.06 points off the SF line
2026-10-15 · 2 updates
Hurts out: line moves 2.5 to 3.5, and our gap to the market widens to 1.61
2026-10-15 · 9 updates
CHI-ATL total moves 50.5 to 53.5 as Williams' status stays unsettled
2026-10-15 · 4 updates
Texans' Montgomery, Pitre ruled out for London; our JAX number reads +5.72
2026-10-15 · 3 updates
Bills at Raiders line drops from +6.5 to +4.5; our gap narrows to 5.08
2026-10-13 · 4 updates
Colts move from -7.5 to -6.5 through the 7; our gap with the market narrows to -2.57
2026-10-13 · 4 updates
Final: Bills 37, Rams 34 — we were right on BUF
2026-10-12 · 13 updates
Packers news: LaFleur on Parsons' return, Hargrave reported out for the season
2026-10-12 · 2 updates
Our number has the Giants at 4.64 over the Saints; the market's sits at -1.0
2026-10-12 · 1 update
Final: Colts 22, Steelers 34 — we were wrong on IND
2026-10-11 · 5 updates
Final: Browns 12, Jets 17 — we were wrong on CLE
2026-10-11 · 9 updates
Final: Ravens 30, Falcons 23 — we were right on BAL
2026-10-11 · 9 updates
Final: Eagles 17, Jaguars 19 — we were right on PHI
2026-10-11 · 8 updates
Final: Broncos 23, Chargers 17 — we were wrong on LAC
2026-10-11 · 5 updates
Final: 49ers 32, Seahawks 29 — we were right on SF
2026-10-11 · 6 updates
Final: Raiders 17, Patriots 45 — we were wrong on LV
2026-10-11 · 5 updates
Final: Bengals 31, Dolphins 24 — we were wrong on MIA
2026-10-11 · 7 updates
Final: Buccaneers 24, Cowboys 16 — we were right on TB
2026-10-08 · 8 updates
Final: Vikings 23, Saints 13 — we were wrong on NO
2026-10-11 · 7 updates
Final: Bears 7, Packers 31 — we were right on GB
2026-10-11 · 11 updates
Final: Lions 45, Cardinals 21 — we were wrong on ARI
2026-10-11 · 8 updates
Final: Giants 27, Commanders 27 — we were right on NYG
2026-10-11 · 10 updates
Final: Texans 26, Titans 3 — we were wrong on TEN
2026-10-11 · 6 updates
Final: Falcons 45, Saints 24 — we were wrong on NO
2026-10-05 · 11 updates
Final: Jets 12, Bears 23 — we were right on CHI
2026-10-04 · 12 updates
Final: Cardinals 24, Giants 36 — we were right on NYG
2026-10-04 · 10 updates
Final: Chargers 23, Seahawks 30 — we were right on LAC
2026-10-04 · 11 updates
Final: Jaguars 22, Bengals 17 — we were right on JAX
2026-10-04 · 6 updates
Final: Cowboys 34, Texans 30 — we were right on DAL
2026-10-04 · 6 updates
Final: Patriots 29, Bills 26 — we were right on NE
2026-10-04 · 8 updates
Final: Rams 24, Eagles 20 — we were wrong on PHI
2026-10-04 · 14 updates
Final: Chiefs 30, Raiders 27 — we were right on LV
2026-10-04 · 4 updates
Final: Broncos 14, 49ers 24 — we were right on SF
2026-10-04 · 7 updates
Final: Lions 26, Panthers 32 — we were right on CAR
2026-10-04 · 10 updates
Final: Colts 30, Commanders 13 — we were wrong on WAS
2026-10-04 · 15 updates
Final: Titans 18, Ravens 24 — we were right on TEN
2026-10-04 · 8 updates
Final: Packers 17, Buccaneers 14 — we were wrong on TB
2026-10-04 · 13 updates
Final: Dolphins 10, Vikings 15 — we were right on MIA
2026-10-04 · 12 updates
Final: Steelers 24, Browns 27 — we were right on PIT
2026-10-01 · 6 updates
Final: Eagles 7, Bears 27 — we were right on CHI
2026-09-28 · 14 updates
Final: Chargers 16, Bills 24 — we were right on BUF
2026-09-27 · 7 updates
Final: Patriots 6, Jaguars 35 — we were wrong on NE
2026-09-27 · 4 updates
Final: Titans 7, Giants 12 — we were wrong on TEN
2026-09-27 · 9 updates
Final: Panthers 18, Browns 21 — we were right on CLE
2026-09-27 · 6 updates
Final: Cardinals 30, 49ers 36 — we were right on ARI
2026-09-27 · 6 updates
Final: Raiders 35, Saints 27 — we were right on LV
2026-09-27 · 3 updates
Final: Bengals 27, Steelers 30 — we were wrong on CIN
2026-09-27 · 7 updates
Final: Rams 26, Broncos 30 — we were right on DEN
2026-09-27 · 8 updates
Final: Ravens 34, Cowboys 31 — we were right on DAL
2026-09-27 · 4 updates
Final: Vikings 23, Buccaneers 16 — we were wrong on TB
2026-09-27 · 7 updates
Final: Texans 17, Colts 19 — we were right on HOU
2026-09-27 · 10 updates
Final: Jets 24, Lions 31 — we were wrong on NYJ
2026-09-27 · 6 updates
Final: Chiefs 24, Dolphins 10 — we were wrong on MIA
2026-09-27 · 7 updates
Final: Seahawks 31, Commanders 33 — we were right on WAS
2026-09-27 · 9 updates
Final: Falcons 35, Packers 14 — we were right on ATL
2026-09-24 · 5 updates
TRAILING_LATE at 10.8% over 344 bets: live markets reprice but don't read
Our proven in-game signals mostly track the pitcher, not the scoreboard. That is where we argue the live market is still slow, and here is what we haven't proved yet.
Does travel matter in the NBA? 8 ways of asking, 0 survivors at n=8033
We tested a whole family of travel angles at once, not one cherry-picked cut. None survived, and the direction of the misses tells us where to look next.
The MLB overs edge doesn't transfer: -0.5% ROI across 2073 bets
A lane that returned +7.2% failed to carry over to a wider test. The market priced overs at 47.9% and they hit 47.7%, so we are narrowing the filter.
Beating the close is the real test. TRAILING_LATE: 11.6% ROI over 324 bets
Winning picks are easy to sell. Beating the price the market settles on is much harder, and it's the only record we publish.
Better team getting points: p=0.0002, and still not a finding
The NBA underdog-value test cleared its significance bar and lost 18.0% anyway. Here is why a p-value is not a discovery.
NFL prop overs do not carry the MLB leak: +1.3% ROI at n=470 fails the test
We ported the MLB prop-OVERS edge to NFL yardage and TD props. Actual win rate 70.6% vs market-implied 69.7%, p=0.4502. The hypothesis is not supported.
Does Week 1 carryover exist in CFB? We asked 6 ways. Zero survived at n=1,243
A whole family of native_week1 angles tested at once returned -3.74% weighted ROI with 0 survivors — and one early-season cut that earned a closer look.
Does turnover luck predict CFB covers? We ran 10 tests. Zero survived.
A family of 10 native college-football angles, 9,319 bets in total, returned a weighted -2.79% ROI — the honest answer is the market already knows.
A p-value of 0.0085 on 1,872 bets, and we still threw it out
The CFB early-season unders test looked like a discovery until it met the correction. Here is why zero of 84 tests survived, and what we run next.
Model's five live edges all point over — the board says the same
Every flagged total edge on the board points over, and today's four-star reads are all in-game prices, not pregame lines.
Correlated observations: how a backtest lies to the person who ran it
On an 8-game board where 8 of 8 total edges point over, a 1,070-game backtest has far fewer independent observations than it claims.
Primetime public-team fade grades out flat: 32-32, 0.0% ROI at n=64
The public-money bias hypothesis is NOT_SUPPORTED — market-implied 50.0% win rate, actual 50.0%. Here is what we are running instead.
Rest and travel don't beat the price: hypothesis fails at n=3,242
A 3,242-bet grade of the rest/travel angle comes back 1085-2157 at -6.0% ROI, p=0.2839 — no edge. Here's what we run next.
$216,028 lands on one total: BAL/TB Over 8 is today's concentrated bet
The board's biggest pregame campaign is 66% one-sided on a single number, and the pitching trend underneath it points the same way.
The Signal Book Holds: VELO_DROP at 25.6% ROI Over 101 Graded Bets
Two proven signals are still paying out-of-sample while today's board shows eight-for-eight over lean and $906,280 of tracked money.
Model prices BAL +135 at 47.9% — a 12.65% edge against a one-sided market
98% of tracked money on this game's moneyline is on Tampa Bay. Our engine, pregame, has Baltimore roughly a coin flip.
Favourite-side bias fails: 268 bets, 268-0, and only +1.0% ROI
The favourite leg of our bias test won every graded bet and still returned +1.0%. Winning 100% of the time is not an edge if the market charged you for it.
NFL heavy favourites went 268-0. The edge was still 1.0%.
A perfect record across 268 graded legs at n=52 events produced a 1.0% return — and p = 0.231. The favourite-underpricing hypothesis is not supported.
One distribution, three prices: why we simulate outcomes, not markets
A single run distribution prices moneyline, run line and total simultaneously — which is why our signals are internally consistent instead of three separate guesses.
VELO_DROP holds at +22.1% ROI across 113 graded bets
A fastball-velocity decay signal has now settled 113 bets at a 61.9% hit rate — and it got worse as the sample grew, which is exactly what we expect.
VELO_DROP: +19.4% ROI across 110 graded bets
A starter velocity-decay signal has settled 110 wagers at a 60.6% hit rate — our best-documented edge of 14 graded signals.
Live, 11th inning, MIL 3-2 SD: our model likes Under 6.5 at +125 — and we still aren't betting it
A 57.6% model probability against a +125 live price implies 29.6% EV. Our engine declined the wager anyway. Here's why both facts are true.
How our lab is wired: the LLM writes, the engine computes
Every number we publish comes from deterministic code. The language model is allowed to select and explain — never to calculate.
$33,981 hit Toronto at 46c — 96% of one market's flow on one side
Concentration, not size, is the signal: nearly all measured money in Boston-Toronto went one direction, against a market pricing it under even.
Why we simulate a game instead of predicting a score
Our NBA model's total-points error was 15.17 vs the market's 14.36 across 1,070 games. That gap is exactly why we stopped predicting scores.
120 positive-EV prices cleared the model. Two cleared the bar.
Every one of the 120 was a live in-game price. Here is the filter that separated them from the two plays we actually took.
We have MIL at 36.5% to win in San Diego. The market is paying +228.
Our largest live disagreement with a posted price: a 19.83% expected-value gap on Milwaukee's moneyline at San Diego.
NBA 90-99¢ Favorites Are Not Mispriced: Our Bias Hypothesis Fails at n=636
Heavy favorites won 99.7% against a 98.8% market-implied rate — a gap that does not survive its own significance test (p=0.25).
The research is free. The live desk is where it pays.
Tonight's slate, our number against the market, and which signals are firing — updated all day.
Get access ›