luckadjusted
CFB Week 4 · 2026

Week 7 2025 · October 11, 2025

Purdue at Minnesota, Week 7 2025: who deserved to win?

Minnesota beat Purdue 27–20, but the replays lean toward Purdue: it takes 8 of 10 with the same day's form. Luck ran its way: kicks alone were worth 10 points of win probability to Minnesota.

Minnesota won on an off day: its offense and defense both played far below their usual level. In a fresh game against Purdue it would win 64% of the time; with this day’s form, 25%. The numbers

Before kickoff Minnesota was a 69% favorite. The biggest swing (Q4, 7:40 left): Return touchdown by Minnesota, worth 36 points of win probability to Minnesota.

Final

Purdue Boilermakers 20
Minnesota Golden Gophers 27

October 11, 2025 · Huntington Bank Stadium · Closing line: Minnesota −7.5

Luck index +75 Minnesota very lucky · −75 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 8, Minnesota wins 2.

  1. 1 PUR 32 MINN 0
  2. 2 PUR 27 MINN 3
  3. 3 PUR 34 MINN 14
  4. 4 PUR 26 MINN 10
  5. 5 PUR 23 MINN 10
  6. 6 PUR 12 MINN 3
  7. 7 PUR 21 MINN 15
  8. 8 PUR 20 MINN 17
  9. 9 PUR 17 MINN 20
  10. 10 PUR 10 MINN 21

Three other ways to ask

Each answers a different question, so none of them replaces the replay above.

The closing betting line, turned into a probability. What everyone knew before the 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.

Every kick, fumble bounce, conversion and judgment call redrawn; everything else fixed. The narrowest view of luck.

Minnesota won on an off day

Its offense and defense both played far below their usual level. In a fresh game against Purdue it would win 64% of the time; with this day’s form, 25%.

39 points apart for Minnesota: the gap is how differently this game went from what the two teams usually are.

UnitThis gameUsual levelBetter or worse than usual
Purdue offenseEPA per play gained +0.12 +0.05 better by 0.06
Purdue defenseEPA per play allowed −0.14 +0.14 better by 0.28
Minnesota offenseEPA per play gained −0.14 +0.09 worse by 0.22
Minnesota defenseEPA per play allowed +0.12 +0.00 worse by 0.12

EPA (expected points added) per play on competitive snaps, turnovers left out because they are valued as luck. Usual level: the team’s earlier games this season plus half of last season, pulled toward the league average. One team’s defense and the other team’s offense are the same snaps, so one game can’t fully say whose day it was; it shows how far this one was from both teams’ norms.

How 4,000 replays ended

Purdue wins 75% of them, Minnesota 25%, counting the 6% still level after regulation as half each. The line is what actually happened: Minnesota by 7.

Show as a table
Final margin in the replaysShare of replays
Purdue by 17+31.5%
Purdue by 9–1619.9%
Purdue by 1–820.1%
Level after regulation6.2%
Minnesota by 1–812.4%
Minnesota by 9–166.6%
Minnesota by 17+3.4%

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.

Swings add up across a game, so in one that went back and forth they can pass 100%. On the scoreboard the same luck was worth +3.0 points to Purdue: the final margin was Minnesota by 7, without the luck Minnesota by 10. Luck shares are the fitted ones (how much of each kind is luck).

The kicks

How likely each kicker was to make that kick (his own record, the distance), and what happened.

  • S. Porath, 33 yds made · 82% expected
  • B. Denaburg, 46 yds made · 60% expected
  • B. Denaburg, 29 yds made · 87% expected
  • S. Porath, 20 yds made · 93% expected
  • S. Porath, 47 yds missed · 59% expected
Bar: expected chance of a make. Filled dot: made. Open dot: missed or blocked.

Penalties: Purdue 8 for 61 yards, Minnesota 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

WhenFlagWin probability for
Q1 5:36 Ineligible Downfield on Purdue, 5 yards, wiping out the play +3% MINN +1.6 pts
Q1 5:14 Holding on Purdue, 7 yards +2% MINN +1.1 pts
Q1 3:26 Illegal Touching on Purdue, 0 yards, wiping out the play +5% MINN +2.3 pts
Q2 14:54 False Start on Minnesota, 0 yards · pre-snap 0% PUR 0.0 pts
Q2 3:28 Holding on Purdue, 10 yards +3% MINN +1.2 pts
Q2 0:35 Holding on Purdue, 10 yards +2% MINN +0.6 pts
Q3 12:58 Pass Interference on Minnesota, 15 yards +3% PUR +1.1 pts
Q3 5:26 False Start on Minnesota, 5 yards · pre-snap +2% PUR +0.5 pts
Q4 13:26 Face Mask on Purdue, 15 yards +12% MINN +3.2 pts
Q4 8:13 Face Mask on Purdue, 4 yards +6% MINN +1.2 pts
Q4 2:20 Holding on Purdue, 10 yards +8% MINN +1.3 pts

When it happened

Minnesota’s chance of winning

As low as 17% and as high as 100%. Numbers mark the biggest luck moments, listed below.

Our in-game win probability: the score, the value of the possession and the time left, starting from the betting line. Overtime has no clock and is drawn at a fixed width. Shaded above the middle while Minnesota was ahead in it, below while Purdue was.
#WhenWhat happenedWin probability forNext drive
1 Q2 1:52 Purdue converted 3rd & 123rd & 4th downs · 22% expected +8% PUR PUR: Field goal
2 Q3 6:08 Minnesota converted 3rd & 103rd & 4th downs · 28% expected +8% MINN MINN: Turnover
3 Q4 13:26 Face Mask on Purdue, 15 yardsJudgment calls +12% MINN MINN: Touchdown
4 Q4 10:22 Minnesota converted 4th & 23rd & 4th downs · 63% expected +9% MINN MINN: Touchdown
5 Q4 9:37 Minnesota converted 3rd & 103rd & 4th downs · 28% expected +10% MINN MINN: Touchdown
6 Q4 7:40 Return touchdown by MinnesotaSpecial teams +36% MINN MINN: Punt
7 Q4 3:09 Purdue converted 4th & 53rd & 4th downs · 39% expected +16% PUR PUR: Turnover on downs
8 Q4 2:20 Holding on Purdue, 10 yardsJudgment calls +8% MINN MINN: 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

Purdue 5% · Minnesota 95%

Final margin
Minnesota by 7
Luck in points
3.0 for Purdue
Luck-adjusted margin
Minnesota by 10.0
Replay with same day's form
Purdue 75% · Minnesota 25% unchanged: why
How much of each is luck?

0% treats it as skill, 100% as pure luck. The tick is our fit.

What counts

None by default: our tests measured no carryover after a lucky break. Slide it up to count a break for more than its own swing. Why

Flip a play

Force the other outcome, in this game and in every replay: a made kick becomes a miss, a stop becomes a conversion, a flag goes the other way.

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 7 2025 games · Purdue · Minnesota

More from Week 7 2025

Every week 7 game, 2025