The record
Every bet I publish,
graded either way.
Anyone can pick winners yesterday. Everything below was published in the letter before kickoff, with the side, the number and the price it needed, and then graded once the games were played.
Bands are two standard errors. At one season of bets that interval is wide, and it is the honest way to read any of this.
| Bets | W-L-P | Hit | Expected W | Return | |
|---|---|---|---|---|---|
| Weather unders | 8 | 6-2-0 | 75.0% ±27.2 | 4.5 | +45.11% |
| Spreads | 7 | 3-2-2 | 60.0% ±33.1 | 3.8 | +8.94% |
| QB props | 16 | 10-6-0 | 62.5% ±21.9 | 10.0 | +7.32% |
| Rushing props | 12 | 6-6-0 | 50.0% ±25.0 | 6.7 | −5.35% |
| Receiving props | 18 | 10-8-0 | 55.6% ±21.2 | 11.8 | −5.62% |
| Week | Bets | W-L-P | Return |
|---|---|---|---|
| 2026 week 1 | 8 | 6-2-0 | +41.79% |
| 2026 week 2 | 27 | 15-11-1 | +1.66% |
| 2026 week 3 | 26 | 14-11-1 | −0.15% |
Last graded 2026-09-29. First letter 2026-09-09.
How this page is kept honest
Logged before kickoff, graded after
A bet is written to the log at the moment the letter is sent, carrying the side, the number, the book, the price and the probability stated at publication. The result column is empty until the games are played and is filled from public play-by-play. Nothing can be added to a week after it has happened.
Losses stay up
Every bet published is graded, including the ones that lose and the weeks that are bad. There is no featured-picks tier, no separate premium record, and no bet that quietly fails to appear here.
Nothing is backfilled
The log starts accruing the day it is switched on and a lost season cannot be recovered. That is why this page begins at zero rather than opening with a decade of what the model would have done.
My picks and the model's are separated
Most bets come from the model. Some are mine — reads where I have context it lacks. Both are tagged at publication and reported apart, because blended into one line a good season tells you nothing about which half earned it.
The return decides, not the hit rate
A bet hitting 53% at −130 loses money. Wherever both appear, the return is the number that matters, and every rate carries the sampling error around it — one season is a small sample and the interval usually says more than the estimate does.
Watch it happen in real time
The bets on this page arrive in your inbox the morning of the games, hours before kickoff, with the exact price each one needs. Then they land here once those games finish, whatever they did. Free, a letter every game day.
Want to see the format first? Read an example letter.