Bucs and Cowboys Decisions Methodology
Methods and sources for "One Lean, One Coin Flip." The study is NFL-01 in the Pascal research repository. It asks whether two late calls in Tampa Bay at Dallas on Oct. 8, 2026 were favored by a public decision model, judged only on what was known before each snap.
- The question
- What we fixed before seeing any data
- Where each number comes from
- How the model reaches a number
- Limits
The question
On Oct. 8, 2026, Tampa Bay went for it on fourth-and-goal from the Dallas 1 while up 14, and Dallas went for two while down 8. We asked whether a public decision model favored each call, and by how much, judged only on what was known before each snap. Our data run through Oct. 8, 2026. That covers the game itself, plus the 2015 to 2025 seasons for league rates.
What we fixed before seeing any data
We wrote down the question, the two decisions, the inputs the model was allowed to see, and the labels for the size of a gap. We fingerprinted that record (SHA-256) on Oct. 10, 2026, before any game data was retrieved. A gap of 2 points of win probability or more is clear, and 1 to 2 points is a lean. Less than 1 point is a toss-up.
Our expectations before the data were that the two-point try was a clear analytics call and that the fourth-down call was close, possibly favoring the field goal. The model found the reverse on both. We disclose those expectations so readers can see that the results did not shape the rules.
Two dated amendments followed:
- The first, after data retrieval: it corrected the game's location to Dallas, named ESPN's game data as the cross-check, and recorded that no published model verdict could be found.
- The second, before the model was run: it added three inputs the model needs, all known before the snap: the quarter clock, the season type, and which team received the opening kickoff.
Where each number comes from
| Numbers in the article | Source | Script or output (pascal-abs-research research/nfl01/) |
|---|---|---|
| Clock, score, field position, and results of both plays | nflverse play-by-play, checked against ESPN's game data field by field | build_states.py, output/states/decision_states.json |
| Win probabilities for each choice, the scoring and conversion chances, and the break-even rates | nfl4th version 1.0.7 by Ben Baldwin, run locally after the game | run_nfl4th.py, output/nfl4th/source_recommendations.json |
| The "if Dallas scores again" calculation | Arithmetic on league two-point and extra-point rates, with overtime as a coin flip | build_base_rates.py, output/base_rates/d2_conditional.json |
| League rates for fourth-and-goal from the 1, two-point tries, and extra points | nflverse play-by-play, 2015 to 2025, regular season and postseason | build_base_rates.py, output/base_rates/base_rates.json |
The model's inputs were compared with the verified game state, field by field. Two deliberately wrong test inputs, the next play's state and a field recorded after the play, were both rejected. Every build gives identical output when it is run again.
How the model reaches a number
For each choice, the model estimates how likely each result is, such as scoring from the 1 or being stopped there. It also estimates the win probability after each result. It weights those win probabilities by how likely each result is and compares the totals. Its inputs include the pregame betting lines, but the article makes no claim about the betting market.
Limits
- One model, run after the fact. We did not capture Baldwin's live bot posts, and we found no published verdict from ESPN, NFL Next Gen Stats, or EdjSports.
- Single values. The model gives single values without a published range of uncertainty.
- League inputs. The model does not see how either team was playing that night, in-game injuries, or play calls.
- An open question on the two-point try. The "if Dallas scores again" calculation and the full model disagree. We have not tested which view fits this situation better.
- Licenses. nflverse data is used under CC BY 4.0. The nflverse schedule file that feeds the model's betting lines carries no license, so it is used as a local input only and is not redistributed.