Methodology: how we estimate whether a player will play
Each probability on this site is a historical base rate: of all players who carried the same game designation and the same final practice status, how many were active for that week’s game?
Data
- Injury reports: nflverse
injuriesrelease (official NFL report: game designation plus the final practice day's participation), regular season 2020–2026 (through Week 5). - Did he play? nflverse
weekly_rosters: the NFL’s official game-day roster status. A player “played” if he was on the active list (ACT) for that week’s game rather than inactive (INA). This status is reliable from 2020 on. Only games that have finished are counted. - ID join: Injury rows are matched to nflverse
weekly_rostersby NFL GSIS ID, season and week. 0 of 34,810 rows (0.00%) had no roster record and were dropped; 212 rows without a practice status were also excluded. - Why 2020? Weekly-roster status before 2020 doesn’t reliably reflect game-day inactives, so the model uses 2020–2026 (through Week 5). (The NFL also dropped the “Probable” designation in 2016 and redefined Questionable, so everything here uses the current definitions.)
All data comes from nflverse, licensed CC BY 4.0. The underlying injury reports and game-day rosters are the NFL’s official, league-wide public reports.
Base rates, 2020–2026 (through Week 5) regular seasons (34,581 entries)
| Designation + final practice | Played | Sample | 95% CI |
|---|---|---|---|
| Questionable (all) | 68.4% | 8,682 | 67.4%–69.4% |
| + DNP | 48.4% | 1,466 | 45.8%–50.9% |
| + Limited | 70.6% | 5,446 | 69.3%–71.8% |
| + Full | 78.2% | 1,770 | 76.3%–80.1% |
| Doubtful (all) | 1.9% | 937 | 1.2%–3.0% |
| + DNP | 1.5% | 617 | 0.8%–2.7% |
| + Limited | 1.8% | 271 | 0.8%–4.2% |
| + Full | 8.2% | 49 | 3.2%–19.2% |
| Out (all) | 0.2% | 6,484 | 0.1%–0.3% |
| + DNP | 0.2% | 5,756 | 0.1%–0.3% |
| + Limited | 0.2% | 532 | 0.0%–1.1% |
| + Full | 0.0% | 196 | 0.0%–1.9% |
| No designation (all) | 93.9% | 18,478 | 93.5%–94.2% |
| + DNP | 77.0% | 2,096 | 75.2%–78.8% |
| + Limited | 95.3% | 2,425 | 94.4%–96.1% |
| + Full | 96.1% | 13,957 | 95.8%–96.4% |
Sanity check against public research (slatestats.com): Questionable overall ≈67%, Questionable + no practice ≈43%, Questionable + full practice ≈82%. Our numbers: 68.4%, 48.4%, 78.2%.
Questionable players by position
| Position | DNP | Limited | Full |
|---|---|---|---|
| QB | 29% n=35 | 50% n=155 | 69% n=36 |
| RB | 39% n=109 | 68% n=479 | 75% n=148 |
| WR | 50% n=214 | 73% n=781 | 80% n=222 |
| TE | 47% n=70 | 71% n=307 | 81% n=109 |
| OL | 44% n=281 | 72% n=946 | 77% n=298 |
| DL | 59% n=248 | 76% n=816 | 77% n=263 |
| LB | 60% n=178 | 73% n=697 | 80% n=244 |
| DB | 41% n=306 | 66% n=1,190 | 79% n=420 |
| ST | 48% n=25 | 84% n=75 | 83% n=30 |
Per-player estimates combine the position-specific rate with the overall rate for that designation and practice status, using a pseudo-count of 100 (empirical-Bayes shrinkage) so small position samples don’t produce noisy numbers.
Questionable play rate by season
| Season | Played | n |
|---|---|---|
| 2020.0 | 69.2% | 1,403 |
| 2021.0 | 70.8% | 1,424 |
| 2022.0 | 68.2% | 1,438 |
| 2023.0 | 67.9% | 1,525 |
| 2024.0 | 66.7% | 1,441 |
| 2025.0 | 67.6% | 1,186 |
| 2026.0 (Weeks 1–5) | 67.5% | 265 |
Does it work?
The current base rates include 2026. They use every completed 2026 week (through Week 5) on top of 2020–2025, and are recomputed on every build, so each newly finished week is added automatically. Weeks are only added once every game in them is final. Because 2026 is now in the rates, the 2026 holdout below is kept as a historical record, and the walk-forward check is the ongoing out-of-sample test.
Earlier out-of-sample result: 2026 Weeks 1–5 holdout test of 2020–2025 rates
Before any 2026 games were added, we trained on 2020–2025 only and scored every completed 2026 report entry; n=1,426. Brier score: 0.065 (lower is better; 0.25 = coin flip). Questionable players: predicted 69.7%, actual 67.7% (n=266). These numbers are frozen as recorded. (That run also included the Week 6 Thursday game, the only Week 6 game finished at the time.)
| Predicted bucket | Avg predicted | Actually played | n |
|---|---|---|---|
| (-0.001, 0.1] | 0.3% | 0.3% | 339 |
| (0.1, 0.5] | 46.0% | 44.0% | 25 |
| (0.5, 0.7] | 65.5% | 59.0% | 78 |
| (0.7, 0.85] | 75.6% | 76.5% | 204 |
| (0.85, 0.95] | 92.9% | 99.2% | 123 |
| (0.95, 1.0] | 96.2% | 95.4% | 657 |
Rolling check: each 2026 week predicted from prior data only
For every completed 2026 week, we rebuild the rates from 2020 up to the week before and score that week. Overall: Questionable predicted 69.7%, actual 67.5% (n=265); Brier 0.066 on all 1,411 entries. Updated every build.
| Week | Q predicted | Q actual | Q n | Brier (all) | All n |
|---|---|---|---|---|---|
| Week 1 | 71.1% | 41.7% | 24 | 0.088 | 182 |
| Week 2 | 68.5% | 66.7% | 54 | 0.075 | 250 |
| Week 3 | 69.1% | 67.4% | 43 | 0.044 | 301 |
| Week 4 | 68.8% | 71.0% | 62 | 0.067 | 317 |
| Week 5 | 71.0% | 73.2% | 82 | 0.065 | 361 |
Practice pattern (Wed/Thu/Fri)
Historical nflverse data records only the final practice day’s status, so the model conditions on that. We also snapshot the report every day, which builds the full Wed/Thu/Fri pattern for current weeks and, over time, a history to model the trajectory (e.g. DNP→Limited→Full vs Full→Limited→DNP).
Limitations
- A base rate isn’t a prediction about the specific injury. Coach quotes, beat reports and injury type all carry information we don’t use.
- “Played” means active on game day. An active player who never gets on the field (for example a backup quarterback) counts as playing, and a player can be active but limited.
- Teams playing Thursday, Monday or after a bye issue reports on different days; until the final report is out, odds are marked provisional.
- Players elevated, released or traded mid-week may be mismatched.
Not betting advice. 21+ for sports betting/DFS; 1-800-GAMBLER.