Week 9 2025 · October 25, 2025
App State at Old Dominion, Week 9 2025: who deserved to win?
Old Dominion beat App State 24–21, but the replays call it close to a coin flip: with the way both teams played, Old Dominion wins 6 of 10.
Before kickoff Old Dominion was an 81% favorite.
Final
| 21 | |
| 24 |
Replay with same day's form
Luck index +44 Old Dominion lucky · −44 App State
Each team’s own plays from this game, resampled into new drives 4,000 times: with the way both teams actually played, how often does this performance win? How the replay works
Ten replays. App State wins 4, Old Dominion wins 6.
- 1 APP 48 ODU 24
- 2 APP 34 ODU 20
- 3 APP 24 ODU 16
- 4 APP 34 ODU 31
- 5 APP 21 ODU 23
- 6 APP 27 ODU 33
- 7 APP 28 ODU 38
- 8 APP 16 ODU 31
- 9 APP 10 ODU 30
- 10 APP 10 ODU 41
Three other ways to ask
Each answers a different question, so none of them replaces the replay above.
Before kickoff
The closing betting line, turned into a probability. What everyone knew before the game.
Same teams, fresh game
The line plus what this game showed, weighted by how much one game can tell. It stays close to the line because one game says little.
Only coin-flips re-rolled
Every kick, fumble bounce, conversion and judgment call redrawn; everything else fixed. The narrowest view of luck.
How 4,000 replays ended
App State wins 44% of them, Old Dominion 56%, counting the 4% still level after regulation as half each. The line is what actually happened: Old Dominion by 3.
Show as a table
| Final margin in the replays | Share of replays |
|---|---|
| App State by 17+ | 12.1% |
| App State by 9–16 | 11.9% |
| App State by 1–8 | 16.9% |
| Level after regulation | 3.6% |
| Old Dominion by 1–8 | 19.7% |
| Old Dominion by 9–16 | 14.8% |
| Old Dominion by 17+ | 21.1% |
Where the luck was
What the luck was worth
Every lucky and unlucky play, weighted by the moment it happened: its swing in win probability, added up by kind. A missed kick in a decided game counts for nothing; the same kick at the end of a tie game can be most of a win.
The kicks
How likely each kicker was to make that kick (his own record, the distance), and what happened.
- R. Callaghan, 47 yds missed · 59% expected
- R. Callaghan, 33 yds made · 82% expected
- R. Callaghan, 50 yds missed · 53% expected
- R. Callaghan, 39 yds missed · 73% expected
Penalties: App State 6 for 65 yards, Old Dominion 7 for 86 yards
Every accepted flag, in order, and what it did to the helped team’s chance of winning at that moment, including any play it wiped out (points on the scoreboard in grey). A flag in a decided game is worth nothing; one at the turn of a close game can be worth most of a win. Judgment calls count toward luck, pre-snap fouls mostly don’t. How calls are valued
| When | Flag | Win probability for |
|---|---|---|
| Q1 11:50 | Pass Interference on Old Dominion, 15 yards | +8% APP +4.6 pts |
| Q1 9:03 | Targeting on App State, 15 yards, wiping out the play | +7% ODU +4.9 pts |
| Q1 8:20 | Face Mask on Old Dominion, 11 yards | +1% APP +0.9 pts |
| Q1 8:20 | Pass Interference on App State, 15 yards | +5% ODU +4.8 pts |
| Q2 12:55 | False Start on App State, 5 yards · pre-snap | +1% ODU +1.0 pts |
| Q2 10:00 | Holding on App State, 10 yards | +1% ODU +0.6 pts |
| Q2 7:03 | Pass Interference on App State, 15 yards | +1% ODU +1.2 pts |
| Q2 2:10 | Pass Interference on Old Dominion, 15 yards | +1% APP +0.9 pts |
| Q3 13:57 | Holding on Old Dominion, 10 yards | +2% APP +1.1 pts |
| Q4 14:29 | False Start on Old Dominion, 5 yards · pre-snap | 0% APP +1.2 pts |
| Q4 11:23 | Roughing the Passer on Old Dominion, 15 yards | 0% APP +1.2 pts |
| Q4 11:23 | Roughing the Passer on Old Dominion, 15 yards | 0% APP +1.7 pts |
| Q4 1:30 | Offside on App State, 5 yards · pre-snap | 0% ODU +0.3 pts |
When it happened
Old Dominion’s chance of winning
Numbers mark the biggest luck moments, listed below.
| # | When | What happened | Win probability for | Next drive |
|---|---|---|---|---|
| 1 | Q1 11:50 | App State converted 3rd & 23rd & 4th downs · 66% expectedApp State was stopped on 3rd & 53rd & 4th downs · 45% expectedPass Interference on Old Dominion, 15 yardsJudgment calls | +7% APP | APP: Turnover |
| 2 | Q1 9:03 | Targeting on App State, 15 yards, wiping out the playJudgment calls | +7% ODU | ODU: Touchdown |
| 3 | Q1 8:20 | App State converted 3rd & 33rd & 4th downs · 57% expectedApp State was stopped on 3rd & 83rd & 4th downs · 34% expectedApp State converted 4th & 83rd & 4th downs · 33% expectedOld Dominion converted 3rd & 63rd & 4th downs · 38% expectedFace Mask on Old Dominion, 11 yardsJudgment callsPass Interference on App State, 15 yardsJudgment calls | +3% ODU | APP: End of half |
| 4 | Q2 7:03 | Old Dominion converted 3rd & 73rd & 4th downs · 35% expectedOld Dominion was stopped on 3rd & 113rd & 4th downs · 26% expectedPass Interference on App State, 15 yardsJudgment calls | +3% ODU | ODU: Field goal |
| 5 | Q2 0:30 | App State converted 3rd & 63rd & 4th downs · 41% expected | +3% APP | APP: Punt |
| 6 | Q2 0:00 | Old Dominion was stopped on 3rd & 53rd & 4th downs · 42% expectedR. Callaghan missed a 50-yard field goalKicks · 53% expected for him, 2 of 5 from 45+ before | +3% APP | ODU: End of half |
| 7 | Q3 10:02 | Old Dominion converted 3rd & 133rd & 4th downs · 23% expected | +5% ODU | ODU: Punt |
| 8 | Q3 4:49 | App State was stopped on 3rd & 13rd & 4th downs · 79% expectedOld Dominion fumbled and recovered itFumble bounces · loose balls are close to 50/50 | +3% ODU | APP: Punt |
Adjust the assumptions
Disagree with how much of a fumble bounce or a pass interference call is luck? Change it and the coin-flip replay reruns in your browser.
Only coin-flips re-rolled
App State 36% · Old Dominion 64%
- Final margin
- Old Dominion by 3
- Luck in points
- 0.3 for Old Dominion
- Luck-adjusted margin
- Old Dominion by 2.7
- Replay with same day's form
- App State 44% · Old Dominion 56% unchanged: why
About these numbers
Play-by-play and expected points from CollegeFootballData.com via cfbfastR; win probability from our own model of the score, the possession and the betting line; kicks valued against each kicker’s own record. College play-by-play has no charting of drops or interception-worthy throws and no injury reports, so those kinds of luck aren’t counted here.
Methodology and validation · All Week 9 2025 games ·
App State ·
Old Dominion
More from Week 9 2025
- South Alabama at Georgia State USA 38–31 · replay 39% for the winner
- Louisiana at Troy TROY 35–23 · replay 62% for the winner
- Georgia Southern at Arkansas State ARST 34–24 · replay 86% for the winner
- UL Monroe at Southern Miss USM 49–21 · replay 99% for the winner
- Virginia at North Carolina UVA 17–16 · replay 15% for the winner
- BYU at Iowa State BYU 41–27 · replay 26% for the winner
- South Florida at Memphis MEM 34–31 · replay 28% for the winner
- Akron at Buffalo AKR 24–16 · replay 30% for the winner
- Auburn at Arkansas AUB 33–24 · replay 30% for the winner
- Bowling Green at Kent State KENT 24–21 · replay 38% for the winner
- Alabama at South Carolina ALA 29–22 · replay 38% for the winner
- Ole Miss at Oklahoma MISS 34–26 · replay 38% for the winner