Week 4 report · Sat, Sep 26 · 2026 Week 4

James Madison
7–2 · Ours #36 enteringOur rank going into this game, from the rankings page. The board's line comes from the betting model, which sees more than this one number.
46–20FinalWe had JMU 33 – ODU 16

Old Dominion
2–7 · Ours #99 enteringOur rank going into this game, from the rankings page. The board's line comes from the betting model, which sees more than this one number.
Win chanceOur odds before kickoff: how often each team won outright when we played the game out thousands of times from our line.
JMU 84%JMU won
JMU 84%JMU wonSpreadOur last pregame odds pull, usually inside the hour before kickoff. A median of the books we track, not a sharp close. First seen at JMU −4.5.JMU −6.5oursOur computer's point spread for this game, built from team stats, not from the betting odds. Read it like a betting line: −7 means we have that team winning by 7. −16.4 · JMU covered by 19.5
TotalOur last pregame odds pull, usually inside the hour before kickoff. A median of the books we track, not a sharp close. Our total was 48.7.44final 66 · over by 22
Our callThe side our number took at the early-week line, graded at that line. Line value is how far the market moved toward it by the last capture before kickoff.No call
Quarterbacksthis game

Camden Coleman24/42 · 243 yards
- EPA / dropbackExpected points added per dropback (passes and sacks) in this game. The percentile is among every 2026 FBS quarterback game with 10+ dropbacks.
- −0.1427th pct
- Comp %
- 57.1
- TD
- 4
- Turnovers
- 11 INT · 0 fum
- Sacked
- 1

Ryan Huff20/40 · 261 yards
- EPA / dropbackExpected points added per dropback (passes and sacks) in this game. The percentile is among every 2026 FBS quarterback game with 10+ dropbacks.
- −0.2022nd pct
- Comp %
- 50.0
- TD
- 1
- Turnovers
- 11 INT · 0 fum
- Sacked
- 9
The matchupthis game · ▲▼ better or worse than the unit's usual · percentile vs every 2026 team game
James Madisonoffense | Played like JMU +4.0Fitted from non-garbage efficiency; describes how the game was played, not who deserved it. | defenseOld Dominion![]() | ||
|---|---|---|---|---|
| 45th | 40.8%▼2.7 | Success rateSuccessShare of plays that kept the offense on schedule, outside garbage time. | 40.8%▲1.3 | 55th |
| 17th | −0.18▼0.31 | EPA / playEPA/playExpected points added per play, outside garbage time. | −0.18▲0.19 | 83rd |
| 30th | −0.14▼0.31 | PassingPassingExpected points added per dropback, outside garbage time. | −0.14▲0.25 | 70th |
| 15th | −0.23▼0.34 | RushingRushingExpected points added per run, outside garbage time. | −0.23▲0.18 | 85th |
| 41st | 1 | TurnoversTurnoversInterceptions and lost fumbles: giveaways for the offense, takeaways for the defense. | 1▲0.5 | 59th |
Old Dominionoffense | defenseJames Madison![]() | |||
|---|---|---|---|---|
| 5th | 24.1%▼4.9 | Success rateSuccessShare of plays that kept the offense on schedule, outside garbage time. | 24.1%▲16.2 | 95th |
| 15th | −0.20▲0.01 | EPA / playEPA/playExpected points added per play, outside garbage time. | −0.20▲0.22 | 85th |
| 29th | −0.15▲0.15 | PassingPassingExpected points added per dropback, outside garbage time. | −0.15▲0.13 | 71st |
| 8th | −0.35▼0.16 | RushingRushingExpected points added per run, outside garbage time. | −0.35▲0.37 | 92nd |
| 41st | 1▲0.3 | TurnoversTurnoversInterceptions and lost fumbles: giveaways for the offense, takeaways for the defense. | 1▼0.1 | 59th |
Team statsthis game · percentile vs every 2026 team game
James MadisonJMU | Old DominionODU | |
|---|---|---|
| Special teams & field position | ||
| Average startWhere the team's drives started on average. | Own 4096th | Own 2955th |
| Kicking vs expectedKickingPoints from field goals and extra points against what an average kicker makes from the same spots. | +1.7 pts89th | +1.8 pts92nd |
| Drives & pace | ||
| PlaysOffensive plays outside garbage time. | 7693rd | 5848th |
| Drive pointsThe part of the final margin the offense moved the ball for (efficiency, success rate, big plays, finishing drives), in points. A margin over the opponent. | +15.987th | −15.913th |
| Turnovers & hidden points | ||
| Penalty first downsPenalty 1st downsFirst downs the team was handed by the opponent's penalties. | 486th | 372nd |
| 4th downsPoints from going for it on fourth down, against what the average team gets from the same spots. | +1.1 pts94th | +0.1 pts59th |
| Hidden pointsPoints from outside the offense's drives: turnovers, field position, kicking, fourth downs, penalty first downs, return touchdowns and safeties. A margin over the opponent. JMU +8.4: turnovers +2.6, field position +3.8, kicking −0.1, 4th downs +1.3, penalty first downs +0.8. | +8.485th | −8.415th |
Season so far
James Madison7–2 · 114th-hardest schedule
W
vs Liberty20–13covered −6.5
vs Liberty20–13covered −6.5Wvs Wagner87–3covered −46
W
at San Diego State26–13covered +1.5
at San Diego State26–13covered +1.5W
at Old Dominion46–20covered −6.5
at Old Dominion46–20covered −6.5W
vs Marshall45–17covered −15.5
vs Marshall45–17covered −15.5W
at Georgia Southern27–24missed −7
at Georgia Southern27–24missed −7W
vs Georgia State49–22covered −8
vs Georgia State49–22covered −8L
at App State31–34missed −12.5
at App State31–34missed −12.5L
vs Troy21–24missed −19.5
vs Troy21–24missed −19.5
Old Dominion2–7 · 84th-hardest schedule
Wvs Norfolk State31–10missed −41
L
at Virginia Tech21–44missed +19.5
at Virginia Tech21–44missed +19.5L
vs East Carolina17–20missed −2.5
vs East Carolina17–20missed −2.5L
vs James Madison20–46missed +6.5
vs James Madison20–46missed +6.5L
at Georgia State10–42missed +2.5
at Georgia State10–42missed +2.5W
at App State10–3covered +9.5
at App State10–3covered +9.5L
vs Georgia Southern15–23missed +3QB change mid-game
vs Georgia Southern15–23missed +3QB change mid-gameL
at Louisiana Tech0–26missed +14
at Louisiana Tech0–26missed +14L
vs Marshall23–36missed +3
vs Marshall23–36missed +3Model cfb_best · uncertainty ±15.6 · run Sep 26, 4:05 PM EDT · froze at kickoff and graded as-is