Iowa GridironHS football · lines, ratings, history
How the numbers are made

The Model

12.09
Spread MAE
BCMoore 13.30 same games
81%
Straight up
BCMoore 83%
12.25
Total MAE
league-avg baseline 12.8
15.1
Residual SD
win prob: ×0.82 this week
1.0
Home field
points, flat
1275
Games fitted
2026 · updated Oct 23, 11:00 AM CT
Data health
current
Oct 16
Newest result
7d ago · published
3
Awaiting a score
3 in 4A/5A
0
Overdue
nothing past 2d
1
Unofficial scores
1 in 4A/5A · from Bound

3 games from the last slate are still unscored; the source usually fills them in within a day. The Iowa Scores Project is rebuilt once a week, Saturday or Sunday morning, so a fresh slate sits unscored for a day; scores marked ° come from Bound in the meantime. “Overdue” counts only games unscored for more than two days — if that number is not zero, something upstream or in the refresh cron has stopped.

Backtest: 2024 and 2025 seasons, 5A/4A games from week 4 on (508 games), ratings refit each week using only earlier games. Always-home baseline MAE 25.0; last season's final ratings with no updates 15.1. By the higher class in the game: 5A 11.85 MAE / 80% SU / SD 14.9 (251) · 4A 12.33 MAE / 83% SU / SD 15.4 (257) · 3A 13.29 MAE / 82% SU / SD 17.2 (230) · 2A 13.30 MAE / 85% SU / SD 16.3 (304) · 1A 13.46 MAE / 85% SU / SD 16.7 (310) · A 13.47 MAE / 88% SU / SD 16.5 (337). Win probability uses the SD for the game's class, widened early in the season when a line is mostly last year's team: ×1.67 in week 1, ×1.02 by week 3, ×0.82 late. Checked against every season since 1974, a favorite we call 85% wins about 85% of the time in any week; no forecast is shown as 100%.

2026 so far

Season to date · 5A/4A · 313 games
Games
313
Straight up
79%
246-67
Favorite ATS
172-130-11
57% covered
Over / under
123-185-5
40% over
Spread MAE
14.6
BCMoore 15.6 on 230
vs BCMoore
127–103
closer · SU 81% vs 80%
WeekGamesSUFav ATSO/UMAEBC MAECloser (us–BC)
14269%23-18-116-2617.8——
24073%19-19-219-2115.2——
34281%21-2114-2813.715.723–19
44480%24-17-315-28-115.616.322–21
53683%22-11-316-2013.418.624–12
63686%20-1614-2215.515.716–20
73675%15-2117-17-210.213.824–12
83683%27-7-211-23-214.313.017–19
91100%1-01-015.120.21–0

Lines are what the model published before each week (walk-forward). Brent's lines are captured from his report Thursday and Friday mornings; weeks before the capture started have no comparison.

Head to head vs BCMoore · backtest

Brent Moore publishes a line for every game each week and the archives keep them. Same games, scored the same way. His line is never an input to ours.

SeasonGamesMAE oursMAE BCMooreSU oursSU BCMoore
202425112.1713.2278%80%
202525312.1013.3884%85%
Combined50412.1413.3081%83%
274 – 230
Closer on a game
ours – BCMoore
48
Disagree on favorite
10% of games
20 – 28
Right when we disagree
ours – BCMoore

Class strength

Every class is rated in one pool, so the gap between class averages is in points: what an average team in one class would be favored by over an average team in another on a neutral field.

18.8
5A avg · 36 teams
—
11.0
4A avg · 36 teams
7.8 behind 5A
6.9
3A avg · 36 teams
11.9 behind 5A
1.8
2A avg · 47 teams
17.0 behind 5A
-9.6
1A avg · 48 teams
28.4 behind 5A
-15.7
A avg · 54 teams
34.5 behind 5A

Spread

One power rating per team, every Iowa team in one pool, solved by weighted least squares on margin = HFA + Rhome − Raway. Every 4A and 5A team plays 3A opponents, and those opponents' other games are what pin the ratings down.

Margin transformuncapped
Home fieldflat 1.0
Recency weight1.00
Prior regression a0.76
Prior weight W₀3 games
Neutral sites29

Totals

One tempo rating per team fitted on game totals: total = c + thome + taway. Offense and defense are derived from rating and tempo — O = (R + t)/2, D = (R − t)/2 — so the line, the total and the split can never disagree.

League-average total53.2
Winsorize scores at56
Recency weight0.90
Tempo prior a0.26
Tempo prior W₀8 games
Total residual SD15.2

Data: every Iowa result 2022–2026 from Brent Moore's Iowa Scores Project (IHSAA). Forfeits, cancellations and out-of-state opponents are dropped; shared venues are detected from the data. Knobs are re-tuned each offseason; the MAE trail for each is in lib/model/config.ts.