Anatomy of a Query: A Week 1 Conversation
The hunch
Carol calls her friend John on a Thursday before Week 1. She's a lifelong Patriots fan; he's a data scientist who happens to follow every team in the league just as closely.
Carol: "Drake Maye had such a great year — first Super Bowl trip for New England in the whole post-Brady era, and his completion percentage was outstanding. But that's exactly what worries me. Boston fans are going to expect the world after a season like that, and I'm not sure the team can live up to it right out of the gate. They're a 3.5-point underdog on the road, and it's against Seattle — the team that beat them in the Super Bowl."
John: "Funny you say that — I've been thinking about the exact same thing. Instead of guessing, why don't we actually see if there's any analytical support for the Patriots here?"
Step 1 — the naive query
John opens the query tool and starts with the most literal version of Carol's worry: just this team, on the road, getting points.
John: "Okay — here's how the Patriots specifically have done as a road underdog, any size, over the last five seasons. Not great: 11-17 straight up, 39%, and 15-12-1 against the spread, only 56%."
Carol: (sighs) "So I was right to worry."
John: "Hold on — one team, one narrow situation, is a small sample and it's exactly the kind of specific query Lesson 3 warns about. Let's ask a bigger, more general question instead: forget the Patriots by name — how have teams in ANY season done as a real road underdog in the first three weeks, if they were coming off a genuinely excellent passing season the year before? That's the actual shape of Carol's worry, tested across the whole league and 27 years of data instead of one team's last five."
Step 2 — generalizing the hunch into a real query
This is the move Lesson 4 calls building a system instead of a
one-off query: he swaps the specific team for a general condition using
tpS(COMP) — the "previous-season completion percentage"
lookup — and searches across every team, every season.
John: "Holy cow, Carol, listen to this. Road underdogs of 3.5 points or more, in Weeks 1 through 3, coming off a season where they completed 65% or more of their passes — over the last five years, that's an 18-22 record straight up, only 45%. But against the spread? 29-10-1. Seventy-four point four percent."
John: "And here's the part I actually care about, Carol — the p-value. 0.0034. You know how much I love using that number to try to knock down my own idea before I trust it."
Carol: "What does .0034 even mean, in plain English?"
John: "It means if this were really nothing — no real edge at all, just a coin flip dressed up to look smart — you'd only see a 29-10-1 record like this by pure chance about 34 times out of every 10,000 tries. It's not proof. But it's a real signal, not noise, and paired with a 42% ROI it's telling us the same thing two different ways: a $50 bettor has cleared $818 running this, and a $1,000 bettor has pocketed $16,364, across five seasons."
Step 3 — drilling down
A good result invites one more honest question, not a victory lap: does trimming the range tighten the signal, or was 3.5+ points doing all the work? John narrows the spread range to a defined band instead of an open-ended one.
John: "Carol, Carol — listen to this. If I trim it to dogs priced between 3.5 and 9.5 points specifically, it gets BETTER. 18-17 straight up, 51.4%. Against the spread: 26-8-1. Seventy-six point five percent."
John: "The p-value dropped to 0.0029, which is remarkable — it means this exact, narrower version of the system would show a record this lopsided by pure chance even less often than the broader one did, despite having fewer games to work with. That's the opposite of what you'd expect from a query that got lucky by being narrowed down — a p-hacked query usually gets LESS convincing the more precisely you describe exactly what happened to work, not more. This one held up, and it did it on a smaller sample, which is a genuinely good sign."
Carol: "You are entirely too smart and creative for a phone call before Thursday Night Football."
Step 4 — the robustness check
This is the step Lesson 3 insists on and most people skip: instead of stopping at a good total, John reruns the same query all the way back to 2015 and groups it by season, to see whether this is a system that wins most years — or one great total built on top of one or two monster seasons.
John: "This is the one I actually trust the most, Carol. Grouped by season, going back to 2015: this system has had exactly one losing season — 1-3 against the spread — and it was 2020. Games with no fans in the stands, shortened practice weeks, half the league dealing with outbreaks — that's about as clean an outlier explanation as you'll ever get in this business. Pull 2020 out, and it's been profitable in every other season on record, including going 3-1 ATS last year."
Where the story actually ends
Carol: "So... we're betting the Patriots?"
John: "We're betting that the numbers are honest, which isn't quite the same thing. Eleven seasons of history, a real statistical signal, and a story that makes sense — a great college or breakout passing season followed by a letdown against a raised line, early, on the road — all point the same direction. None of that tells us what happens Sunday in one specific game against one specific Seattle defense. That's the whole reason the site never calls a p-value proof, just evidence."
Carol: "So what do we actually do with that?"
John: "We size the bet like people who respect a small sample, we don't rewrite the query tomorrow if it loses, and we watch the game the same way either way — because a system this is what you follow over a season, not something you judge off one Sunday in September."
They agree to watch together Sunday. What actually happens in that specific game isn't something a five-year backtest — or this article — gets to decide in advance, and it isn't the point of the exercise anyway. The system either adds one more covered game to an 11-season record, or it doesn't; either way, the record it's built on doesn't change because of what one more Sunday does.
← Revisit: Avoiding Overfitting · The P-Value, Start to Finish → · Go run your own query →