Week 8 2025 · October 18, 2025
Purdue at Northwestern, Week 8 2025: who deserved to win?
Northwestern beat Purdue 19–0, and the replays lean its way: with the same day's form, it wins 8 of 10.
Before kickoff Northwestern was a 58% favorite.
Final
| 0 | |
| 19 |
Replay with same day's form
Luck index +23 Northwestern about even · −23 Purdue
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. Purdue wins 2, Northwestern wins 8.
- 1 PUR 33 NU 20
- 2 PUR 14 NU 10
- 3 PUR 7 NU 10
- 4 PUR 7 NU 13
- 5 PUR 17 NU 26
- 6 PUR 10 NU 23
- 7 PUR 7 NU 22
- 8 PUR 10 NU 29
- 9 PUR 0 NU 23
- 10 PUR 14 NU 46
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
Purdue wins 23% of them, Northwestern 77%, counting the 4% still level after regulation as half each. The line is what actually happened: Northwestern by 19.
Show as a table
| Final margin in the replays | Share of replays |
|---|---|
| Purdue by 17+ | 3.8% |
| Purdue by 9–16 | 6.9% |
| Purdue by 1–8 | 12.6% |
| Level after regulation | 3.6% |
| Northwestern by 1–8 | 22.5% |
| Northwestern by 9–16 | 20.9% |
| Northwestern by 17+ | 29.8% |
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.
- J. Olsen, 27 yds made · 89% expected
- J. Olsen, 38 yds made · 75% expected
- J. Olsen, 26 yds missed · 90% expected
Penalties: Purdue 7 for 98 yards, Northwestern 3 for 20 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 3:49 | Illegal Snap on Northwestern, 5 yards · pre-snap | +1% PUR +0.8 pts |
| Q1 3:27 | Pass Interference on Purdue, 15 yards | +4% NU +2.1 pts |
| Q2 14:55 | Pass Interference on Purdue, 15 yards | +7% NU +3.5 pts |
| Q2 12:38 | Ineligible Downfield on Purdue, 5 yards | +1% NU +0.7 pts |
| Q2 11:17 | Holding on Purdue, 10 yards | +4% NU +2.1 pts |
| Q2 10:32 | Horse Collar Tackle on Purdue, 15 yards | +2% NU +1.6 pts |
| Q2 8:38 | Unnecessary Roughness on Purdue, 23 yards | +2% NU +1.4 pts |
| Q2 0:01 | Holding on Northwestern, 10 yards | +1% PUR +0.9 pts |
| Q3 7:12 | Pass Interference on Purdue, 15 yards | 0% NU +0.5 pts |
| Q3 5:07 | False Start on Northwestern, 5 yards · pre-snap | 0% PUR +0.7 pts |
When it happened
Northwestern’s chance of winning
Numbers mark the biggest luck moments, listed below.
| # | When | What happened | Win probability for | Next drive |
|---|---|---|---|---|
| 1 | Q1 11:34 | Northwestern converted 3rd & 73rd & 4th downs · 36% expected | +3% NU | NU: Field goal |
| 2 | Q1 10:08 | Northwestern converted 3rd & 103rd & 4th downs · 29% expectedNorthwestern fumbled and recovered itFumble bounces · loose balls are close to 50/50 | +7% NU | NU: Field goal |
| 3 | Q1 4:41 | Northwestern converted 3rd & 33rd & 4th downs · 56% expected | +3% NU | NU: Touchdown |
| 4 | Q1 3:27 | Pass Interference on Purdue, 15 yardsJudgment calls | +4% NU | NU: Touchdown |
| 5 | Q1 2:28 | Northwestern converted 3rd & 73rd & 4th downs · 37% expected | +3% NU | NU: Touchdown |
| 6 | Q2 14:55 | Pass Interference on Purdue, 15 yardsJudgment calls | +7% NU | NU: Touchdown |
| 7 | Q2 11:17 | Holding on Purdue, 10 yardsJudgment calls | +4% NU | NU: Field goal |
| 8 | Q2 8:38 | J. Olsen made a 38-yard field goalKicks · 75% expected for himUnnecessary Roughness on Purdue, 23 yardsJudgment calls | +3% NU | NU: Turnover on downs |
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
Purdue 2% · Northwestern 98%
- Final margin
- Northwestern by 19
- Luck in points
- 5.2 for Northwestern
- Luck-adjusted margin
- Northwestern by 13.8
- Replay with same day's form
- Purdue 23% · Northwestern 77% 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 8 2025 games ·
Purdue ·
Northwestern
More from Week 8 2025
- USC at Notre Dame ND 34–24 · replay 73% for the winner
- Maryland at UCLA UCLA 20–17 · replay 82% for the winner
- Washington at Michigan MICH 24–7 · replay 90% for the winner
- Nebraska at Minnesota MINN 24–6 · replay 91% for the winner
- Penn State at Iowa IOWA 25–24 · replay 95% for the winner
- Ohio State at Wisconsin OSU 34–0 · replay 99% for the winner
- Oregon at Rutgers ORE 56–10 · replay 100% for the winner
- Michigan State at Indiana IU 38–13 · replay 100% for the winner
- Texas at Kentucky TEX 16–13 · replay 7% for the winner
- Wyoming at Air Force AF 24–21 · replay 13% for the winner
- Louisville at Miami LOU 24–21 · replay 24% for the winner
- Washington State at Virginia UVA 22–20 · replay 29% for the winner