| starting point (level 22.67 a team) | C | | -0% | | | | — / — | Run 1 (baseline) | — | | |
starting point (v1.4): the league's average points per team over the training seasons: every team starts here. How we know: no test possible: the line's intercept. Grade C: kept as structure; no test possible. Review: [project record]. Agenda: A1 (season scoring baseline).
| Column | What it is | Points per SD (2022 step) [95%] | Team points | Margin SD | Total SD | Adoption test: change in margin / total miss when added (minus = better), seasons improved, beyond-line r | Tested in | Read more |
(starting point) Starting point | the training seasons' average points per team | — | | 0 (equal for both) | 0.25 | — | Run 1 | |
Tested and removed- Season scoring baseline (last season or last 3 seasons blended in) (Run 3): no gain; coefficient came out negative (10.847 vs 10.846 totals)
- League scoring level / recent-bias tracker as a feature or offset (Run 7): no pooled gain (points MAE 7.508-7.526 vs 7.512)
|
| scoring-level update | B | | 4% | | | | +0.013 / +0.061 | Run 15 -> Line v1.3 | — | | |
scoring-level update (v1.4): this season's scoring so far: the totals shift by the season's mean miss, shrunk n/(n+64). How we know: Run 15 adoption (total): v1.3 10.840 vs v1.2 10.853 (2013-22), 10.935 vs 10.996 (2019-22 trained 2018+). Grade B: costs in both variants; no coefficient (a fixed rule). Review: [project record]. Agenda: D8 (rule changes and scoring level).
| Column | What it is | Points per SD (2022 step) [95%] | Team points | Margin SD | Total SD | Adoption test: change in margin / total miss when added (minus = better), seasons improved, beyond-line r | Tested in | Read more |
(scoring-level update) Scoring-level update | the season's mean team-points miss to date x n/(n+64), the same for both teams | — | | 0 (equal for both) | 1.35 | — | Run 15 | |
Tested and removed- Start-of-season shift (k = 1) (Run 15): not chosen
- Recent-bias tracker as an offset (last 3 weeks) (Run 7): pooled accuracy unchanged
|
| quarterback | A | | 26% | | 30% | | +0.087 / +0.158 | Run 2 (Line v1); backup/return flags Run 11 | 9 of 10 | | |
quarterback (v1.4): the starter's career quality, and whether he is a backup or returning. How we know: run 14 leave-one-out (margin): without it 10.257 vs 10.170 (2013-22), 10.261 vs 10.103 (2019-22 trained 2018+). Grade A: costs accuracy to remove in both variants; key interval clear of zero (key column qb_epa_career, 95% interval +0.96 to +1.65 points per SD). Review: [project record]. Agenda: A17 (QB status) and A13 (backup-relative value).
| Column | What it is | Points per SD (2022 step) [95%] | Team points | Margin SD | Total SD | Adoption test: change in margin / total miss when added (minus = better), seasons improved, beyond-line r | Tested in | Read more |
qb_epa_career Starting quarterback's career quality | unit: EPA per dropback, shrunk | +1.30 [+0.96, +1.65] | | 1.54 | 1.53 | -0.124 / -0.079 / 9 / +0.045 | Run 1 register; Run 2 (Line v1) | |
qb_backup Backup quarterback starting | 1 when the starter is not the established starter and has fewer career dropbacks (Run 11 addendum) | -0.78 [-1.04, -0.52] | | 1.02 | 1.02 | -0.011 / -0.003 / 7 / -0.046 | Run 11 | |
qb_return Established starter returning | 1 when the established starter is back after someone else started the previous game | -0.08 [-0.33, +0.16] | | 0.20 | 0.20 | +0.008 / +0.004 / 6 / -0.005 | Run 11 | |
qb_rookie Rookie starting quarterback | unit: 1 = yes | +0.01 [-0.25, +0.27] | | 0.15 | 0.16 | -0.014 / -0.009 / 9 / -0.024 | Run 1 register; Run 2 (Line v1) | |
Tested and removed- Quarterback change flag (Run 11 (Q1)): replaced by the backup and return flags (-0.006 / -0.039 margin)
- Backup-relative QB value with a draft-round prior (Run 11): worse than v1 (+0.04); career EPA already carries it
- Rookie passers shrunk to the draft-round mean (Run 15): margin worse in both variants
- QB by coverage family; QB indoor/outdoor; QB-defense pairings (Runs 13 and 16): nothing (no persistence, no line gain)
|
| offense (own) | A | | 26% | | 29% | | +0.076 / +0.109 | Run 1 (baseline); recent-form terms Run 2 (Line v1) | 7 of 10 | SD 1.25, share 21%, grade A | |
offense (own) (v1.4): how well the team's own offense plays per snap (EPA per play and success rate), this season and recently. How we know: run 14 leave-one-out (margin): without it 10.246 vs 10.170 (2013-22), 10.212 vs 10.103 (2019-22 trained 2018+); run 14 removed the whole old "efficiency" group (own offense and defense faced together); the blend columns count once here, so this covers the prior-season part too. Grade A: costs accuracy to remove in both variants; key interval clear of zero (key column off_epa_play_blend:current part, 95% interval +0.42 to +1.19 points per SD). Review: [project record]. Agenda: A14 (sharps' input practices).
| Column | What it is | Points per SD (2022 step) [95%] | Team points | Margin SD | Total SD | Adoption test: change in margin / total miss when added (minus = better), seasons improved, beyond-line r | Tested in | Read more |
off_epa_play_blend:current part Own offense efficiency, this season | EPA per play, opponent-adjusted, this season's part of the blend | +0.81 [+0.42, +1.19] (one input, split by the blend weight) | | 0.93 | 0.96 | — | Run 1 baseline | |
off_epa_play_exp8 Own offense efficiency, last 8 games weighted | unit: EPA per play | +0.31 [-0.14, +0.77] | | 0.92 | 0.95 | +0.007 / -0.013 / 5 / -0.007 | Run 1 register; Run 2 (Line v1) | |
off_success_rate_exp4 Own success rate, last 4 weighted | unit: share of plays | +0.46 [+0.05, +0.87] | | 0.47 | 0.50 | -0.027 / +0.002 / 7 / +0.001 | Run 1 register; Run 2 (Line v1) | |
Tested and removed- Luck-filtered EPA (garbage time out / fumbles out / turnovers out) (Run 13): all three worse than v1 (10.198-10.204 vs 10.170)
- Offense-over-defense weighting; single-EMA inputs (Run 13): nothing beats v1 (10.177 vs 10.170)
- Pass and rush split of the efficiency inputs (Run 8): gain within noise (10.162-10.174 vs 10.176)
- Last 4 games only as the team measure (Run 1): worst recency window (10.566 vs 10.428)
- Volume stats (yards per game, pass and rush yards) (Run 1): nothing beyond efficiency
- Rushing efficiency (rush EPA, yards per carry) (Run 1): weak, 4 of 10 seasons
- Turnovers, raw and regressed (Run 1): mostly luck
- Third-down, red-zone, explosive-play, sack and penalty rates (Run 1): inside EPA already
- Early-season shrinkage (k 2-12) and prior-season-as-target shrinkage (Run 7): gains within noise (best 10.155 vs 10.176)
- Elo rating as the line, or blended with ours (Run 7): worse by 0.1; the blend adds nothing
|
| home field | A | | 10% | | 1% | | +0.093 / +0.037 | Run 1 (baseline) | — | SD 1.01, share 8%, grade A | |
home field (v1.4): playing at home (and the neutral-site flag). How we know: run 14 leave-one-out (margin): without it 10.263 vs 10.170 (2013-22), 10.140 vs 10.103 (2019-22 trained 2018+). Grade A: costs accuracy to remove in both variants; key interval clear of zero (key column is_home, 95% interval +0.76 to +1.24 points per SD). Review: [project record]. Agenda: A7 (home field).
| Column | What it is | Points per SD (2022 step) [95%] | Team points | Margin SD | Total SD | Adoption test: change in margin / total miss when added (minus = better), seasons improved, beyond-line r | Tested in | Read more |
is_home Home field | unit: 1 = home | +1.00 [+0.76, +1.24] | | 0.37 | 0.29 | — | Run 1 baseline | |
is_neutral Neutral site | unit: 1 = neutral | +0.09 [-0.16, +0.33] | | 0 (equal for both) | 0.47 | — | Run 1 baseline | |
Tested and removed- League home-field trend as a feature or interaction; 2020 no-crowd flag (Run 8): no gain (10.175-10.179 vs 10.176)
- Team-specific slopes on home field (Run 14): overfits at every penalty
|
| defense faced (opponent's) | A | | 9% | | 12% | | +0.076 / +0.109 | Run 1 (baseline); recent-form terms Run 2 (Line v1) | 7 of 10 | SD 0.92, share 7%, grade A | |
defense faced (opponent's) (v1.4): how well the opponent's defense plays per snap (EPA and success rate it allows), this season and recently. How we know: run 14 leave-one-out (margin): without it 10.246 vs 10.170 (2013-22), 10.212 vs 10.103 (2019-22 trained 2018+); run 14 removed the whole old "efficiency" group (own offense and defense faced together); the blend columns count once here, so this covers the prior-season part too. Grade A: costs accuracy to remove in both variants; key interval clear of zero (key column opp_def_epa_play_exp8, 95% interval +0.25 to +1.05 points per SD). Review: [project record]. Agenda: A14 (sharps' input practices).
| Column | What it is | Points per SD (2022 step) [95%] | Team points | Margin SD | Total SD | Adoption test: change in margin / total miss when added (minus = better), seasons improved, beyond-line r | Tested in | Read more |
opp_def_epa_play_exp8 Opponent's defense efficiency, last 8 games weighted | unit: EPA allowed per play | +0.65 [+0.25, +1.05] | | 1.04 | 1.06 | +0.007 / -0.013 / 5 / -0.007 | Run 1 register; Run 2 (Line v1) | |
opp_def_epa_play_blend:current part Opponent's defense efficiency, this season | EPA allowed per play, adjusted, this season's part | +1.03 [+0.73, +1.33] (one input, split by the blend weight) | | 0.93 | 0.99 | — | Run 1 baseline | |
opp_def_success_rate_exp4 Opponent's defense success rate allowed, last 4 | unit: share of plays | -0.38 [-0.75, -0.02] | | 0.59 | 0.63 | -0.027 / +0.002 / 7 / +0.001 | Run 1 register; Run 2 (Line v1) | |
Tested and removed- Offense-over-defense weighting (defense weighted less) (Run 13): nothing beats v1 (10.177 vs 10.170)
|
| prior-season carryover | B | | 10% | | 12% | | +0.132 / — | Run 1 (carryover chosen); w0 = 1.0, G = 12 in Run 2 | 9 of 10 | SD 0.84, share 9%, grade B | |
prior-season carryover (v1.4): last season's efficiency, blended in early and faded out by game 12. How we know: Run 1: the baseline without carryover 10.527 vs 10.395 with it (margin, 2013-22; the 2018+ variant was not run); run 14 counts the blends inside efficiency. Grade B: costs at least 0.02 in one variant (the other not run) (key column off_epa_play_blend:prior-season part, 95% interval +0.42 to +1.19 points per SD). Review: [project record]. Agenda: A16 (drop what no one uses).
| Column | What it is | Points per SD (2022 step) [95%] | Team points | Margin SD | Total SD | Adoption test: change in margin / total miss when added (minus = better), seasons improved, beyond-line r | Tested in | Read more |
off_epa_play_blend:prior-season part Own offense efficiency, last season's part | last season's EPA per play, weight 1 at game 0 fading to 0 by game 12 | +0.81 [+0.42, +1.19] (one input, split by the blend weight) | | 0.95 | 0.99 | -0.035 / -0.037 / 9 / +0.007 | Run 1; Run 2 | |
opp_def_epa_play_blend:prior-season part Opponent's defense, last season's part | the opponent's last-season EPA allowed, same fade | +1.03 [+0.73, +1.33] (one input, split by the blend weight) | | 0.92 | 0.93 | -0.035 / -0.037 / 9 / +0.007 | Run 1; Run 2 | |
Tested and removed- The three prior-year rate columns (success rates, TD-drive rate) (Run 14 (R14.6a) -> Line v1.2): cost nothing on 2013-22; 2019-22 trained 2018+ improves
- Carryover scaled down under a new coordinator (Run 15): worse at every level (10.170-10.190 vs 10.167)
- No carryover at all (Run 1): clearly worst (10.527 vs 10.395)
|
| weather | A | | 4% | | | | +0.087 / +0.157 | Run 2 (Line v1) | 6 of 10 | | |
weather (v1.4): wind speed (0 indoors), indoor game, rain or snow. How we know: run 14 leave-one-out (total): without it 10.952 vs 10.865 (2013-22), 11.379 vs 11.222 (2019-22 trained 2018+). Grade A: costs accuracy to remove in both variants; key interval clear of zero (key column wind_mph_0indoor, 95% interval -0.99 to -0.38 points per SD). Review: [project record]. Agenda: A15 (piecewise wind), D6 (forecast).
| Column | What it is | Points per SD (2022 step) [95%] | Team points | Margin SD | Total SD | Adoption test: change in margin / total miss when added (minus = better), seasons improved, beyond-line r | Tested in | Read more |
wind_mph_0indoor Wind (0 indoors) | unit: mph | -0.69 [-0.99, -0.38] | | 0 (equal for both) | 1.17 | +0.000 / -0.062 / 6 / +0.005 | Run 1 register; Run 2 (Line v1) | |
indoor Indoor game | unit: 1 = yes | +0.12 [-0.19, +0.42] | | 0 (equal for both) | 0.38 | +0.000 / -0.035 / 4 / -0.015 | Run 1 register; Run 2 (Line v1) | |
precip Rain or snow recorded | unit: 1 = yes | -0.18 [-0.42, +0.06] | | 0 (equal for both) | 0.29 | +0.000 / -0.006 / 6 / +0.005 | Run 1 register; Run 2 (Line v1) | |
Tested and removed- Piecewise wind (excess over 10 mph) (Run 13): no gain (10.169 vs 10.170); linear stays
- Temperature on its own; cold flag (Run 1): nothing once wind is in
- Wind x pass-heavy offense, x pass or rush efficiency (Run 2): no effect
- Dome team outdoors in bad weather (Run 2): no effect
|
| standings | A | | 5% | | 6% | | +0.016 / +0.022 | Run 2 (Line v1) | 8 of 10 | | |
standings (v1.4): games back in the division, division leader, clinched and eliminated. How we know: run 14 leave-one-out (margin): without it 10.186 vs 10.170 (2013-22), 10.125 vs 10.103 (2019-22 trained 2018+). Grade A: costs accuracy to remove in both variants; key interval clear of zero (key column games_back, 95% interval -1.00 to -0.22 points per SD). Review: [project record]. Agenda: A16 (standings detail kept).
| Column | What it is | Points per SD (2022 step) [95%] | Team points | Margin SD | Total SD | Adoption test: change in margin / total miss when added (minus = better), seasons improved, beyond-line r | Tested in | Read more |
games_back Games back in the division | unit: games | -0.61 [-1.00, -0.22] | | 0.67 | 0.87 | -0.077 / -0.066 / 8 / -0.027 | Run 1 register; Run 2 (Line v1) | |
div_leader Division leader | unit: 1 = yes | -0.21 [-0.56, +0.13] | | 0.53 | 0.60 | -0.025 / -0.026 / 8 / +0.018 | Run 1 register; Run 2 (Line v1) | |
pp_eliminated Eliminated from playoffs (wins only) | unit: 1 = yes | +0.11 [-0.18, +0.40] | | 0.27 | 0.39 | — | Run 2 | |
pp_clinched Clinched a playoff spot (wins only) | unit: 1 = yes | +0.04 [-0.20, +0.29] | | 0.23 | 0.26 | — | Run 2 | |
Tested and removed- Playoff position flags on their own (Run 1): nothing beyond games back
- Standings held at 0 for the first games (Run 10 (A6d)): same miss; kept only inside the v2 early-season holds
|
| division | C | | 2% | | | | +0.015 / -0.003 | Run 2 (Line v1) | 9 of 10 | | |
division (v1.4): the two teams play in the same division. How we know: run 14 leave-one-out (total): without it 10.880 vs 10.865 (2013-22), 11.219 vs 11.222 (2019-22 trained 2018+). Grade C: small or mixed: removing it gains in one variant (key column div_game, 95% interval -0.62 to -0.13 points per SD). Review: [project record]. Agenda: Run 1 register.
| Column | What it is | Points per SD (2022 step) [95%] | Team points | Margin SD | Total SD | Adoption test: change in margin / total miss when added (minus = better), seasons improved, beyond-line r | Tested in | Read more |
div_game Division game | unit: 1 = yes | -0.37 [-0.62, -0.13] | | 0 (equal for both) | 0.98 | -0.001 / -0.009 / 9 / -0.024 | Run 1 register; Run 2 (Line v1) | |
Tested and removed- Division game x late season; clinched x week 17+ (Run 2): no effect
|
| special teams faced (opponent's) | A | | 1% | | 5% | | +0.034 / +0.076 | Run 2 (Line v1) | 9 of 10 | SD 0.41, share 1%, grade B | |
special teams faced (opponent's) (v1.4): the opponent's special-teams EPA and the drive start its defense allows, last 8 games. How we know: run 14 leave-one-out (margin): without it 10.204 vs 10.170 (2013-22), 10.179 vs 10.103 (2019-22 trained 2018+); run 14 removed the whole old "special teams" group (own and faced together). Grade A: costs accuracy to remove in both variants; key interval clear of zero (key column opp_def_start_field_pos_exp8, 95% interval +0.06 to +0.58 points per SD). Review: [project record]. Agenda: Run 1 register.
| Column | What it is | Points per SD (2022 step) [95%] | Team points | Margin SD | Total SD | Adoption test: change in margin / total miss when added (minus = better), seasons improved, beyond-line r | Tested in | Read more |
opp_def_start_field_pos_exp8 Opponent's defense: drive start allowed, last 8 | unit: yards from own goal | +0.32 [+0.06, +0.58] | | 0.52 | 0.53 | -0.028 / +0.001 / 7 / +0.041 | Run 1 register; Run 2 (Line v1) | |
opp_st_epa_exp8 Opponent's special teams, last 8 games | unit: EPA per game | -0.14 [-0.40, +0.12] | | 0.17 | 0.16 | -0.032 / +0.001 / 9 / +0.063 | Run 1 register; Run 2 (Line v1) | |
Tested and removednothing tested and removed in this group |
| special teams (own) | A | | 2% | | 4% | | +0.034 / +0.076 | Run 2 (Line v1) | 9 of 10 | | |
special teams (own) (v1.4): the team's own special-teams EPA and average drive start, last 8 games. How we know: run 14 leave-one-out (margin): without it 10.204 vs 10.170 (2013-22), 10.179 vs 10.103 (2019-22 trained 2018+); run 14 removed the whole old "special teams" group (own and faced together). Grade A: costs accuracy to remove in both variants; key interval clear of zero (key column off_st_epa_exp8, 95% interval +0.12 to +0.64 points per SD). Review: [project record]. Agenda: Run 1 register.
| Column | What it is | Points per SD (2022 step) [95%] | Team points | Margin SD | Total SD | Adoption test: change in margin / total miss when added (minus = better), seasons improved, beyond-line r | Tested in | Read more |
off_st_epa_exp8 Own special teams, last 8 games | unit: EPA per game | +0.38 [+0.12, +0.64] | | 0.43 | 0.42 | -0.032 / +0.001 / 9 / +0.063 | Run 1 register; Run 2 (Line v1) | |
off_start_field_pos_exp8 Own average drive start, last 8 | unit: yards from own goal | +0.30 [+0.03, +0.57] | | 0.30 | 0.30 | -0.028 / +0.001 / 7 / +0.041 | Run 1 register; Run 2 (Line v1) | |
Tested and removednothing tested and removed in this group |
| injuries | C | | 1% | | 1% | | +0.006 / -0.001 | Run 2 (Line v1) | 8 of 10 | | |
injuries (v1.4): share of the team's offensive starters out, and of the opponent's defensive starters. How we know: run 14 leave-one-out (margin): without it 10.176 vs 10.170 (2013-22), 10.102 vs 10.103 (2019-22 trained 2018+). Grade C: small or mixed: removing it gains in one variant (key column opp_inj_out_snapshare_def, 95% interval +0.11 to +0.59 points per SD). Review: [project record]. Agenda: D1 (practice status), A21 (value-weighted injuries).
| Column | What it is | Points per SD (2022 step) [95%] | Team points | Margin SD | Total SD | Adoption test: change in margin / total miss when added (minus = better), seasons improved, beyond-line r | Tested in | Read more |
opp_inj_out_snapshare_def Opponent's defensive starters out (snap share) | unit: starter-shares | +0.35 [+0.11, +0.59] | | 0.41 | 0.43 | -0.013 / -0.005 / 8 / -0.005 | Run 1 register; Run 2 (Line v1) | |
inj_out_snapshare_off Own offensive starters out (snap share) | unit: starter-shares | -0.10 [-0.34, +0.15] | | 0.20 | 0.21 | -0.013 / -0.005 / 8 / -0.005 | Run 1 register; Run 2 (Line v1) | |
inj_out_snapshare_missing Injury snap data missing flag (pre-2013) | unit: 1 = missing | +0.02 [-0.22, +0.26] | | 0 (equal for both) | 0.27 | — | Run 2 | |
Tested and removed- Practice participation for Questionable players (Run 3): no gain (10.186 vs 10.176)
- Game-day inactives in place of the injury report (ceiling) (Run 3): nothing beyond the injury report
- Value-weighted injuries (Run 13): inconsistent (-0.022 full, +0.064 worse on 2018+)
- Top receiver out; top running back out (Run 1): no effect / small
- Offensive-line changes (depth chart) (Run 1): no effect
|
| pace (v2.3 only) | W | | 5% | | 4% | | -0.019 / -0.041 | Run 3 (A2), candidate | 4 of 10 | moves only the shadow line | |
pace (v2.3): plays per game and seconds per play in neutral situations, own and faced; no-huddle rate. How we know: Run 10 adding it to v1 (margin): +0.019 (2013-2022 all training), +0.041 (2019-22 trained 2018+); totals -0.107 / -0.146. Grade W: candidate in v2.3 only, awaiting live (key column opp_def_plays_allowed_exp8, 95% interval +0.44 to +0.95 points per SD). Review: [project record]. Agenda: A2 (pace), A12 (v2 set).
| Column | What it is | Points per SD (2022 step) [95%] | Team points | Margin SD | Total SD | Adoption test: change in margin / total miss when added (minus = better), seasons improved, beyond-line r | Tested in | Read more |
opp_def_plays_allowed_exp8 Plays the opponent's defense allows | plays allowed per game, last 8 weighted | +0.70 [+0.44, +0.95] | | 0.81 | 0.80 | +0.002 / -0.072 / 4 / +0.030 | Run 3 | |
off_no_huddle_rate_exp8 Own no-huddle rate | share of plays run without a huddle, last 8 weighted | +0.09 [-0.18, +0.36] | | 0.57 | 0.60 | +0.025 / -0.015 / 2 / -0.003 | Run 3 | |
off_neutral_sec_per_play_exp8 Own seconds per play (neutral) | seconds between plays when the score is close, last 8 weighted | -0.36 [-0.64, -0.08] | | 0.43 | 0.46 | +0.004 / -0.046 / 6 / +0.012 | Run 3 | |
off_plays_exp8 Own plays per game | offensive plays per game, last 8 games weighted | -0.08 [-0.35, +0.19] | | 0.39 | 0.41 | +0.010 / +0.008 / 6 / -0.002 | Run 3 | |
opp_def_neutral_sec_per_play_exp8 Opponent's seconds per play faced | seconds per play the opponent's defense faces in neutral situations | +0.04 [-0.21, +0.29] | | 0.09 | 0.10 | +0.010 / -0.010 / 2 / +0.018 | Run 3 | |
Tested and removed- No-huddle rate; own plays per game, on their own (Run 3): not kept on their own (the value is plays allowed and seconds per play)
|
| team home field (vs the league home field) (v2.3 only) | W | | 3% | | 7% | | +0.000 / -0.018 | Run 8 (A7b), candidate | — | moves only the shadow line | |
team home field (vs the league home field) (v2.3): the stadium's own home edge from past games, shrunk toward the league's. How we know: Run 10 adding it to v1 (margin): -0.000 (2013-2022 all training), +0.018 (2019-22 trained 2018+); totals -0.012 / +0.015. Grade W: candidate in v2.3 only, awaiting live (key column team_home_field, 95% interval +0.07 to +0.57 points per SD). Review: [project record]. Agenda: A7b (team home field), A12.
| Column | What it is | Points per SD (2022 step) [95%] | Team points | Margin SD | Total SD | Adoption test: change in margin / total miss when added (minus = better), seasons improved, beyond-line r | Tested in | Read more |
team_home_field Team home field | the stadium's own past home edge over the league's, shrunk with k = 24 (home row +, away row -) | +0.32 [+0.07, +0.57] | | 0.84 | 0.00 | -0.000 / -0.012 / — / — | Run 8 | |
Tested and removed- Team and coach past-residual intercepts (Run 14): team nothing (+0.004); coach -0.009, not adopted
|
| surface mismatch (v2.3 only) | W | | 2% | | 1% | | +0.011 / +0.000 | Run 13 (A21), candidate | 9 of 10 | moves only the shadow line | |
surface mismatch (v2.3): the visitor's home surface differs from the venue's. How we know: Run 13 adding it to v1 (margin): -0.011 (2013-22), -0.000 (2019-22 trained 2018+). Grade W: candidate in v2.3 only, awaiting live (key column surface_mismatch, 95% interval -0.67 to +0.01 points per SD). Review: [project record]. Agenda: A21 (surface, value-weighted injuries).
| Column | What it is | Points per SD (2022 step) [95%] | Team points | Margin SD | Total SD | Adoption test: change in margin / total miss when added (minus = better), seasons improved, beyond-line r | Tested in | Read more |
surface_mismatch Surface mismatch | 1 on the visitor's row when its home surface differs from the venue's | -0.33 [-0.67, +0.01] | | 0.44 | 0.07 | -0.011 / +0.008 / 9 / -0.041 | Run 13 | |
surface_mismatch_missing Surface data missing | flag: stadium surface unknown | -0.12 [-0.36, +0.12] | | 0 (equal for both) | 0.38 | — | Run 13 | |
Tested and removed- Grass vs turf, surface change (generic) (Run 1): no effect beyond the line
- Pacific team at 1 p.m. ET; Eastern team late (Run 13): nothing
|
| matchups (v2.3 only) | C | | 2% | | 3% | | -0.010 / -0.013 | Run 2 (Line v1) | — | moves only the shadow line | |
matchups (v2.3): own pass and rush offense against the opponent's pass and rush defense. How we know: run 14 leave-one-out (margin): without it 10.160 vs 10.170 (2013-22), 10.090 vs 10.103 (2019-22 trained 2018+). Grade C: small or mixed: removing it gains in one variant (key column match_rush, 95% interval -0.16 to +0.42 points per SD). Review: [project record]. Agenda: D3 (coverage matchups), A18-A20 (QB matchups).
| Column | What it is | Points per SD (2022 step) [95%] | Team points | Margin SD | Total SD | Adoption test: change in margin / total miss when added (minus = better), seasons improved, beyond-line r | Tested in | Read more |
match_rush Rush matchup | unit: EPA | +0.13 [-0.16, +0.42] | | 0.35 | 0.37 | — | Run 2 | |
match_pass Pass matchup (own pass offense + opp pass defense allowed, centered) | unit: EPA | -0.15 [-0.61, +0.31] | | 0.30 | 0.25 | — | Run 2 | |
Tested and removed- Man/zone and box-count matchup interactions (Run 9): no gain (0 to +0.07)
- Opponent two-high rate (Run 9): no gain
- QB x coverage, QB x venue, pairings, tree challenger (Runs 13 and 16): all nothing
- General screen of 306 factor pairs (Run 2): 1 flag of 306, 1.7 expected by chance
|
| offensive-line experience (v2.3 only) | W | | 1% | | 1% | | +0.006 / +0.018 | Run 9 (G3), candidate | 3 of 10 | moves only the shadow line | |
offensive-line experience (v2.3): mean years of experience of the five depth-chart line starters. How we know: Run 10 adding it to v1 (margin): -0.006 (2013-2022 all training), -0.018 (2019-22 trained 2018+); totals +0.008 / -0.026. Grade W: candidate in v2.3 only, awaiting live (key column ol_mean_exp, 95% interval +0.10 to +0.59 points per SD). Review: [project record]. Agenda: G3 (offensive line), A12.
| Column | What it is | Points per SD (2022 step) [95%] | Team points | Margin SD | Total SD | Adoption test: change in margin / total miss when added (minus = better), seasons improved, beyond-line r | Tested in | Read more |
ol_mean_exp Offensive-line experience | mean years of experience of the five depth-chart line starters | +0.34 [+0.10, +0.59] | | 0.37 | 0.39 | -0.022 / -0.024 / 3 / +0.027 | Run 9 | |
ol_mean_exp_missing Line experience missing | flag: no depth-chart line data for the game | +0.15 [-0.08, +0.39] | | 0 (equal for both) | 0.00 | — | Run 9 | |
Tested and removed- New line starters; pressure allowed and created (Run 9): no gain beyond line experience
|
| receivers' YAC over expected (v2.3 only) | W | | 1% | | 1% | | +0.007 / +0.021 | Run 9 (D4), candidate | 4 of 10 | moves only the shadow line | |
receivers' YAC over expected (v2.3): yards after catch over expected of the top three targets, last 8 games. How we know: Run 10 adding it to v1 (margin): -0.007 (2013-2022 all training), -0.021 (2019-22 trained 2018+); totals -0.002 / +0.027. Grade W: candidate in v2.3 only, awaiting live (key column off_top3_yac_oe_exp8, 95% interval -0.07 to +0.43 points per SD). Review: [project record]. Agenda: D4 (receivers), A12.
| Column | What it is | Points per SD (2022 step) [95%] | Team points | Margin SD | Total SD | Adoption test: change in margin / total miss when added (minus = better), seasons improved, beyond-line r | Tested in | Read more |
off_top3_yac_oe_exp8 Top-three receivers' YAC over expected | yards after catch over expected of the top three targets, last 8 weighted | +0.18 [-0.07, +0.43] | | 0.27 | 0.29 | -0.011 / -0.003 / 4 / +0.021 | Run 9 | |
off_top3_yac_oe_exp8_missing Receiver data missing | flag: no tracking data (before 2016) | -0.05 [-0.41, +0.30] | | 0.03 | 0.37 | — | Run 9 | |
Tested and removed- Top-three separation; weighted top-receiver-out (Run 9): add nothing
|
| pressure (decomposed sack rate) (v2.3 only) | W | | 0% | | 1% | | +0.005 / +0.005 | Run 9 (G4), candidate | — | moves only the shadow line | |
pressure (decomposed sack rate) (v2.3): pressure allowed times the quarterback's career sacks per pressure. How we know: Run 10 adding it to v1 (margin): -0.005 (2013-2022 all training), -0.005 (2019-22 trained 2018+); totals +0.004 / +0.007. Grade W: candidate in v2.3 only, awaiting live (key column sack_rate_decomposed, 95% interval -0.31 to +0.19 points per SD). Review: [project record]. Agenda: G4 (QB share of line play), A12.
| Column | What it is | Points per SD (2022 step) [95%] | Team points | Margin SD | Total SD | Adoption test: change in margin / total miss when added (minus = better), seasons improved, beyond-line r | Tested in | Read more |
sack_rate_decomposed Pressure x sacks per pressure | pressure allowed times the quarterback's career sacks per pressure | -0.06 [-0.31, +0.19] | | 0.14 | 0.14 | -0.005 / +0.004 / — / — | Run 9; Run 10 | |
sack_rate_decomposed_missing Pressure data missing | flag: no pressure data (before 2018) | +0.04 [-0.31, +0.40] | | 0 (equal for both) | 0.20 | — | Run 9 | |
Tested and removed- Pressure allowed / created as plain factors (Run 9): no gain (margin -0.005 to +0.025)
|
| In testing (each term added to v1.4 alone, ledger rows "testing:<term>": its contribution to each team's points, the margin and the total, over the ledger's games that carry it) |
| pace | | | | | | | — | in testing | — | 15 games | |
| team home field (vs the league home field) | | | | | | | — | in testing | — | 15 games | |
| offensive-line experience | | | | | | | — | in testing | — | 15 games | |
| receivers' YAC over expected | | | | | | | — | in testing | — | 15 games | |
| pressure (decomposed sack rate) | | | | | | | — | in testing | — | 15 games | |
| surface mismatch | | | | | | | — | in testing | — | 15 games | |