A forecasting benchmark scores a prediction against a realized outcome, and that outcome was usually one draw from a process the forecaster was right to be uncertain about. A model that said 0.7 and a model that said 0.9 both look correct when the event happens, and no amount of data separates them without many repetitions. The ground truth is stochastic. Aggregate scores work around that rather than resolving it.
Some end-states are not stochastic. The clock-killing first down is a conversion by the leading team late enough to kneel out the remaining clock, given the trailing team's timeouts and the play clock. Whether it can is an arithmetic identity over observable state, the clock and the score and the timeout counts, and once it holds the game is over. The event can be labeled from raw game state without any expected-points or win-probability model, so the label is independent of the very quantities a forecaster predicts.
That turns a familiar limit into a measurement. At the clock-killing first down the win-probability series already gives the leading team about 0.97, while the clock makes the outcome 1.00. The gap of about 0.03 is a quantity that lives in observed clock state and is absent from the series. Because the answer is known, the question is no longer who scores well against a noisy outcome but who recovers this known quantity. The answer is a clean negative.
The label and the data
The sample is nflfastR play-by-play for the 2010 through 2024 regular seasons, pulled through nfl_data_py. After keeping regular-season plays, removing overtime and non-plays, and requiring defined expected-points and win-probability changes, it holds 595,510 plays across 3,903 games. Evaluation is out of sample by a walk-forward backtest: each season from 2013 on is scored by models trained only on earlier ones. Home win probability is a clean martingale here, which the paper verifies rather than assumes. The one-step change has mean near zero, the regression of the next value on the current value has slope 0.998 and intercept 0.001, and the mean change is within 0.002 of zero at every win-probability decile. The consequence that matters is that a univariate nowcast equals the current value, so a foundation model reduces to the feature-free estimate at the break.
The labeler encodes the kneel-out arithmetic over the clock, the timeout counts, and the play clock, and validates against known kneel-out sequences. It uses only raw game state, never the expected-points or win-probability models. Across the fifteen seasons there are 504 clock-killing first downs, 263 of them in one-score games. The pooled out-of-sample test set is 398 clock-kills, 208 of them one-score, and the leading team won all 398. The determinism is historical and close to but not exactly one. Victory-formation fumbles and defensive scores have occurred, so the label is treated as the near-certain outcome it is rather than an absolute guarantee. One detail earns the realized rate: crediting back a timeout-attribution quirk in the nflfastR columns — the defense's response timeout is charged to the play it interrupts, which would over-credit the kneel-out — removes sixteen boundary false positives across the fifteen seasons, including a 2022 game the leading team lost after a one-score "kill" the trailing team could still stop.
The certainty does not show up as size on either leverage axis. In one-score games the leading team's win probability before the play has a median near 0.964, the conversion's win-probability change a median near 0.017, and its expected-points change a median near 0.835. The play is small everywhere the standard axes can see. The certainty lives in the clock state.
The recovery ladder
Each method below forecasts the leading team's probability at the 398 out-of-sample clock-kills, arranged by how much clock or rule information it holds. With the outcome fixed, this is a degenerate-outcome set, so the informative quantity is the probability a method assigns, not its accuracy.
The recovery ladder
Who recovers the known answer?
Every method’s probability for the leading team at the 398 out-of-sample clock-kills. The rule-free family pins flat at ~0.97; only consuming the deductive label or applying the rule crosses the 0.027 residual.
Series only: best recovered P(win) = 0.973, residual 0.027. The win-probability series carries no clock certainty.
Show the numbers
| Method | P(win) | 95% CI | Residual |
|---|---|---|---|
| Feature-free win probability | 0.973 | [0.969, 0.977] | 0.027 |
| Random walk | 0.973 | [0.969, 0.977] | 0.027 |
| Chronos-Bolt | 0.973 | [0.969, 0.977] | 0.027 |
| TimesFM-2.5 | 0.968 | [0.963, 0.972] | 0.032 |
| TiRex | 0.972 | [0.968, 0.976] | 0.028 |
| Chronos-2 (univariate) | 0.969 | [0.964, 0.973] | 0.031 |
| GBM, raw clock covariates | 0.967 | [0.962, 0.972] | 0.033 |
| MLP, clock features | 0.958 | [0.95, 0.964] | 0.042 |
| GBM, exact kneel margin | 0.969 | [0.964, 0.973] | 0.031 |
| Chronos-2, clock covariates | 0.971 | [0.967, 0.975] | 0.029 |
| GBM, late-game region upweighted | 0.983 | [0.979, 0.987] | 0.017 |
| GBM, deductive label upweighted | 0.993 | [0.992, 0.994] | 0.007 |
| Oracle (deductive rule) | 1.000 | [1, 1] | 0.000 |
The whole univariate family sits at one rung near 0.97, every interval overlapping. The feature-free win probability, the random walk, and Chronos-Bolt land at 0.973, TiRex at 0.972, Chronos-2 at 0.969, TimesFM-2.5 at 0.968. On a martingale target the foundation models reduce to the current value with no series-end deviation, which is the verification rather than a coincidence. Covariate access does not lift off it. The production win-probability model already conditions on the clock and leaves the residual, the gradient-boosted model on the raw clock features leaves it at 0.967, a multilayer perceptron on the same features leaves it at 0.958, and Chronos-2 fed the clock and its known future values as exogenous covariates leaves it at 0.971, indistinguishable from its own univariate forecast.
Why no learner finds it
The sharpest case is the kneel-out margin. The gradient-boosted model is handed the exact quantity the rule thresholds on, so the deductive boundary collapses to a single axis-aligned split at margin zero, and the tree still leaves the residual at 0.969. The model has the exact discriminating feature and cannot use it. That rules out feature availability and representation as the obstacle and isolates the mechanism as loss geometry and rarity. A multilayer perceptron, a different architecture with a comparable held-out win-probability AUC, leaves it at 0.958 all the same, so the failure is the loss geometry and not one model.
Two ways to recover the residual, and they are not the same
What does cross the gap is information about the answer, in one of two forms, and the paper keeps them distinct because they are distinct.
The rule is the kneel-out arithmetic applied to observed state at inference. The oracle that runs it sits at 1.000 with a zero residual. It is exact because it reaches the threshold directly from the same fields every other method already holds. Nothing is learned and nothing is smoothed.
The deductive label is the rule's output baked into a training objective through sample weights. Upweighting the labeled cell reaches 0.993, recovering most of the residual, but it consumes the answer. The label is the deductive rule laundered into the loss, and the fitted boundary is not a model that discovered the structure. These are two ends of the same recovery, the rule at inference and the label at training time, and only one of them is exact.
The label upweighting is one of two upweightings the paper keeps strictly apart, and the contrast between them is the crux. The other is an observable region defined without the kneel-out rule: fourth-quarter plays with the leading team in possession and under 180 game-seconds. That region requires no arithmetic, contains all 398 out-of-sample clock-kills as a small subset, and is exactly the kind of neighborhood a practitioner would point a model at without knowing the rule. It lifts the clock-kills only to 0.983, partway and no further.
The weight sweep
Recovery is not reported at a single tuned point. Both upweightings are swept over the weight multiplier, and they separate not by direction but by where they land and why.
Upweighting the observable region lifts the cell partway and then plateaus: 0.981 at weight ten, 0.983 at weight three hundred, well short of the deductive answer. And the lift is largely blanket region-confidence rather than localization — the same upweighting raises the adjacent near-miss cell to a mean 0.965 against an actual 0.957, so the model leans on the whole late-game neighborhood instead of carving out the deductive cell. Reweighting toward the region approximates restricting training to it, where the cell is about five percent of plays rather than a tenth of a percent, so this also answers whether concentrating on the late-game region would help. It moves toward the region's average, not to the deductive answer.
Upweighting the deductive label rises monotonically and keeps going: 0.978 at weight ten, 0.997 at weight three hundred. The model is not failing to generalize. At weight three hundred it assigns 0.997 to the 398 out-of-sample clock-kills whose labels it never saw, so the boundary is learnable and generalizes cleanly across the walk-forward folds once the label points at the cell. The obstacle is localization, not representation or generalization. The region signal plateaus short because it cannot find the cell; the label climbs to 0.997 because it can.
The near-miss audit
A recovery that just inflated confidence toward the leader would also land near 1.0 on the test clock-kills, so it has to be ruled out directly. The audit is a calibration check on the adjacent cell, the 7,860 late-game leading plays in the out-of-sample seasons that are not clock-kills, where the leading team does not always win, which is exactly where label-derived overconfidence would show.
What shows is mild, and it is the right shape. On those 7,860 near-miss plays the label-upweighted model assigns the leading team a mean 0.972 against an actual 0.957, a small inflation, but binned by predicted probability it tracks the truth in the tails rather than lifting uniformly: 0.821 against an actual 0.818 in its low bin, 0.997 against an actual 0.991 in its high bin, with the overshoot concentrated in the middle band. Blanket leader-confidence would not produce that. The recovered clock-kills sit inside that calibrated high bin, so the recovery is specific to the labeled cell rather than generic confidence.
The recovery does not come for free in the neighborhood. On the 855 plays of the adjacent 0.95-to-0.98 band the label-fitted boundary overshoots, predicting 0.968 against an actual 0.909, a 5.9-point overconfidence that is larger than the 0.03 residual itself and larger than the two points the upweighting recovers on the cell. The overshoot does not reach the recovered cell, and it is not a defect to apologize for. It is the smoothing bias seen from the other side: even when the label points the learner exactly at the cell, the learner cannot represent the sharp arithmetic threshold without smearing onto its nearest neighbors, which is the same bias that left the cell undiscoverable to begin with. Label upweighting is not offered as a technique, since it trades a two-point recovery on the cell for a six-point bleed onto its neighbors. It is offered as proof that nothing rule-free localizes the cell and that even label-localized fitting carries the smoothing bias the paper is about.
No standard calibration diagnostic flags the break on its own. Point error and coverage do not separate the clock-kill from win-probability-matched controls, and the probability integral transform shows no boundary pile-up for any model: the per-model means at the clock-kills sit between 0.46 and 0.49 with at most six percent of the mass above 0.9, intervals that are if anything too wide for how little the win probability moves. The model is conservative at the clock-kill, not overconfident, and the realized value sits inside its interval. The residual is visible only against the known answer.
Where the clock-kill sits: two-axis leverage
Leverage in football has two correlated but distinct axes, the absolute per-play change in expected points (|EPA|) and the absolute change in win probability (|wpa|). Across the sample their Pearson correlation is 0.640 and Spearman 0.581, and there is a populated high-|wpa|, low-|EPA| region of about 4,060 plays at the ninetieth percentile of |wpa|, the lobe where a play barely moves the expected-points needle but swings the game. That structure formalizes a distinction familiar in football analytics and locates the clock-kill as small on both axes at once.
Over the 66,539 break windows at the ninetieth percentile of |wpa|, expected-points forecast error correlates with |EPA| far more than with |wpa| for all four predictors — Spearman near 0.35 against |EPA| and near 0.07 against |wpa| — with game-clustered intervals that cleanly separate the two, |EPA| within [0.34, 0.37] and |wpa| within [0.06, 0.10]. This is a property of the series, since the random walk reproduces it, and it does not bear on where the win-probability residual appears at the clock-kill. It is setup, kept as background. No expected-points-aware model is tested at the clock-kill, so the smallness on the |EPA| axis is a locating observation, not a tested claim.
The contribution, and the suite it points at
A known answer is the contribution. Forecast evaluation scores against stochastic outcomes, so it cannot cleanly ask whether a method recovered a specific quantity. A deductive end-state can. The clock-killing first down gives an outcome fixed by arithmetic and labeled without the models under test, against which recovery is a measurement rather than an inference. That deductive ground truth is the part that could carry beyond football, and it is the reusable idea.
No data-driven method recovers the residual, and that is one mechanism, not three surprises. The production win-probability model, the gradient-boosted model, the multilayer perceptron, the covariate foundation model, and the region-upweighted model all leave it because a 0.1-percent deductive cell is averaged into the surrounding population, whether the clock arrives as a feature, a covariate, or an upweighted region. Of the lineup, the gradient-boosted configurations are one family, the covariate foundation model a transformer, and the multilayer perceptron a third, so the mechanism holds across three distinct architectures rather than within one. The residual is low-loss rather than hard. The win-probability model already says about 0.97 and the leading team wins, so the per-event loss is about 0.03, which means difficulty-based reweighting, focal loss or hard-example mining, would no more surface it than region reweighting did. Only the arithmetic rule separates the cell from its neighbors. The localization has to be supplied.
The paradigm asks only for an end-state whose outcome is fixed by an arithmetic over observable state and can be labeled without the model under test, and several exist. In basketball, a trailing team that cannot tie or take the lead within the possessions the clock, the shot clock, and the foul situation allow is in a decided game, labelable from score, clock, team fouls, and timeouts. In fixed income, a callable bond past its call date once a rate condition holds has a deductive price to call, labelable from the rate path and the call schedule. In operations, a queue with arrivals closed and a fixed service rate has a deductive drain time, labelable from the queue length and the rate. Each supplies what the clock-kill does, a known answer at a labeled point, and each would test whether the failure to learn the boundary found here is particular to this cell or general to sharp deductive structure in a rare region.
This is offered as a case study on a single event with 398 out-of-sample test cases in one league, not a benchmark suite. The residual is small in absolute terms, the recovery by emphasis is shown on one learner family, and the determinism is near-certain rather than guaranteed. The reusable part is the harness: deterministic play-indexed windowing, the clock-killing labeler, the recovery ladder with both upweightings and the near-miss audit, and the oracle. The code and the deterministic labeler are released at github.com/CanadaApollo6/deductive-eval. A suite of deductive end-states, labeled the same way, is the next step.