Michigan 79, Duke 78 Is Dead. Michigan Is Not.
By Collin Lee | March 30, 2026
Braylon Mullins was 0-for-4 from three.
Duke was up 19 at halftime. Cameron Boozer had 27 points. The model had Duke at 93%. The East bracket - our only perfect region, the one that went 13 of 14 through three rounds without a single advancing-team miss - was about to deliver Duke to the Final Four exactly as planned.
And then UConn came back. Slowly at first, then all at once. Silas Demary Jr. hit back-to-back corner threes. Tarris Reed Jr. started dominating the glass with 26 points and 9 rebounds. The 19-point lead became 10, then 5, then 2. And with 0.4 seconds left, Mullins - the freshman who couldn't buy a three all night - stole the ball from the Boozer twins, pulled up from 35 feet, and buried the shot from the logo.
UConn 73, Duke 72.
The prediction that survived four rounds, 56 games, and 16 incorrect picks died in 0.4 seconds. Michigan 79, Duke 78 is gone. The refrain that held this series together for a month, repeated four times across four posts, never changing by a single point - it's over. Duke's season is over. Our championship game prediction is over.
I sat in my living room and watched the shot go in, and I felt two things at exactly the same time. The first was the bracket collapsing - the runner-up pick, the championship game, the 320 ESPN points, all dead on one shot. The second was something I didn't expect.
Relief.
I don't have to root for Duke anymore.
| ELITE 8 SCORECARD | |
| Correct Final Four picks | 2 / 4 (50%) |
| ESPN points earned (E8) | 160 / 320 |
| Running total (R64-E8) | 810 / 1280 |
| Champion pick alive | Yes |
| ESPN scoring: 80 pts per correct Elite 8 pick | |
Two of four Final Four picks correct. Arizona and Michigan - the two teams we had meeting in the Final Four semifinal - both won their regional finals. Duke and Florida - the two we had meeting in the other semifinal - are both gone. One bracket half is perfect. The other is dust.
The full results
Here's every original bracket Elite 8 prediction against what actually happened.
| Our Pick | Predicted Opp. | Conf | Actual |
|---|---|---|---|
| (1) Duke | (2) UConn | 93% | UCONN 73-72 |
| (1) Arizona | (2) Purdue | 81% | 79-64 |
| (1) Florida | (2) Houston | 64% | Elim. in R32 |
| (1) Michigan | (2) Iowa St.* | 87% | Beat Tenn. 95-62 |
* Iowa State was eliminated in the Sweet 16; Michigan faced Tennessee instead.
Two correct, two wrong. One dead pick (Florida, whose departure in the Round of 32 has now cascaded through three full rounds). And one 93% confidence pick that died on a freshman's 35-foot prayer. Here's the damage:
- Duke at 93% - Our most confident E8 pick and our second Final Four pillar. Duke led by 19 at halftime and reportedly became the first #1 overall seed in tournament history to lose after leading by 15+ at the half - previously, such teams were 134-0. The 93% is now the highest-confidence miss in the entire bracket. It eclipses even the Florida 91% loss in the Round of 32.
- Florida (dead) - Fifth consecutive round where this pick has been wrong. Florida's Round of 32 exit has now cost us the South regional final, the Final Four semifinal, and potentially the championship game. One three-pointer by Alvaro Folgueiras in the R32 has cascaded into at least four dead picks downstream. Exactly what the data predicted.
What went right
Michigan vs. Arizona is happening
Before the tournament started, the model said Michigan and Arizona would meet in the Final Four. Michigan would win 90-86 at 66% confidence. That exact matchup is now set.
Think about what had to happen for this to come true. Michigan had to survive Howard, Saint Louis, Alabama, and Tennessee - beating each opponent by an average of more than 22 points. Arizona had to survive LIU, Utah State, Arkansas (109-88), and Purdue (79-64, after trailing at halftime). Through four rounds, 16 games between them, both teams navigated every obstacle to arrive at the exact collision point the model predicted on day one.
That's not luck. That's the model seeing structural dominance - the kind of team-level superiority that survives four rounds of single-elimination basketball. The model didn't know Michigan would outscore Alabama 43-28 in the second half, or that Arizona would shoot 63.8% against Arkansas. It just knew that teams with these efficiency profiles, these defensive ratings, these rebounding numbers tend to keep winning. And they did.
Michigan looks unstoppable
Michigan 95, Tennessee 62. A 33-point win. Their largest Elite 8 victory since the 1989 championship run. Yaxel Lendeborg had 27 points, 7 rebounds, and 4 assists. Aday Mara recorded his 100th block of the season - the first Wolverine ever to reach that mark. Michigan has now scored 90 or more points in every single tournament game.
The model's champion pick is playing like a champion. 35-3 on the season, a program record. Four tournament wins by an average of more than 22 points. The team that the model has been calling since before the first game is doing everything possible to prove the model right.
Arizona dominated
Arizona 79, Purdue 64. The Wildcats trailed by 7 at halftime - their largest halftime deficit all season - then outscored Purdue 48-26 in the second half. Freshman Koa Peat had 20 points. Arizona is in the Final Four for the first time since 2001, powered by a freshman class that's been dominant all tournament.
Our model had Arizona at 81% in this game. Arizona won by 15. The model was right about who and generous about how.
What went wrong
0.4 seconds
There's no way to write about the Duke loss analytically. I've tried three times and I keep coming back to the same place: the model gave Duke a 93% chance and a freshman hit a 35-foot three with 0.4 seconds left to beat them.
We've been here before - Wisconsin at 96%, Florida at 91%. Low-probability events happen. But 93% at this stage of the tournament, with the championship prediction on the line, hits differently than any of those.
Duke was up 44-29 at halftime. The UConn comeback - 19 points, the third-largest Elite Eight deficit ever erased - was improbable on its own. But the finish wasn't improbable. It was impossible. A freshman who was 0-for-4 from three, stealing the ball with under a second left, pulling up from the logo, and burying it. That's not a low-probability event. That's the kind of thing the model correctly assigns near-zero probability to and ignores, because you have to ignore it to be right the other 99 times.
This was the 1 time.
Michigan 79, Duke 78. I've written those five words more than any other phrase in this series. It was the first prediction the model made and the last one I expected to lose. Four rounds. Four posts. Four times I reported the same number. And it ended not because the model was wrong about Duke - Duke was the better team for 39 minutes and 59.6 seconds - but because March Madness doesn't care about your model's opinion on who's better. It cares about who makes the last shot.
The relief I wasn't supposed to feel
In the Sweet 16 post, I wrote about the strange experience of rooting for Duke as a Miami guy. Needing Duke to win. Pumping my fist when they came back against St. John's. The algorithm had turned me into a Duke fan for the duration of the bracket, and I hated it.
When Mullins's shot went in, the bracket collapsed. But something else did too: the obligation. I don't have to watch Duke games hoping they win. I don't have to feel conflicted when Cameron Boozer dunks on someone. I don't have to explain to my friends why I'm rooting for Duke. The algorithm's hold on my allegiance is broken.
And here's the part I really didn't expect: the bracket is actually better without Duke in it. Not emotionally - the championship prediction is gone and that hurts. But structurally. The model sees Michigan beating UConn or Illinois in the final at 94-98% confidence. It saw Michigan beating Duke at 80%. Duke was the biggest threat to the champion pick. Duke's elimination paradoxically made the model more confident that Michigan wins it all.
The prediction died. The prediction's intent survived. The model always said Michigan was going to win the championship. It just had the wrong opponent.
What the model says about the Final Four
One of these two semifinals is exactly what the original bracket predicted before the tournament. The other never existed in our bracket - both teams that were supposed to be there (Duke and Florida) are gone. I applied the same unchanged model to the actual UConn-Illinois matchup and the resulting championship scenarios.
From the original bracket (predicted pre-tournament)
| Winner | Loser | Conf | Score |
|---|---|---|---|
| (1) Michigan | (1) Arizona | 66% | 90-86 |
Michigan vs. Arizona: 66%, 90-86. This prediction has existed since before the first game was played. Same matchup. Same confidence. Same predicted score. The model called this semifinal a month ago and here it is. No adjustments needed - this is the original bracket, word for word.
New predictions (same model, actual matchups)
| Winner | Loser | Conf | Score |
|---|---|---|---|
| (3) Illinois | (2) UConn | 53% | 72-70 |
UConn vs. Illinois: 53%, 72-70. This matchup was never in our bracket - the original had Duke vs. Florida here. I ran the same model on the actual teams and it barely has an opinion. Illinois's dominant frontcourt against UConn's championship pedigree (third Final Four in four years). At 53%, the model is saying "watch the game." This is the closest prediction I've seen from it all tournament.
| Winner | Loser | Conf | Score |
|---|---|---|---|
| (1) Michigan | (3) Illinois | 94% | 87-73 |
Championship: Michigan over Illinois, 94%, 87-73. Or if UConn wins, Michigan over UConn at 98%, 83-69. The model doesn't care who comes out of the other semifinal. Against either opponent, Michigan at 94-98% is as close to certain as the model gets. The champion pick that was 80% against Duke is now 94%+ against everyone else. Duke was the biggest threat to Michigan's title, and Duke is gone.
The prediction went from "Michigan 79, Duke 78" to just "Michigan." No asterisk, no nail-biter, no one-point margin. Just Michigan.
What's next
The Final Four is in Indianapolis this weekend. Two games. Here's what I'm watching:
- Michigan vs. Arizona (66%) - The game our bracket predicted before the tournament. Michigan has won every game by 13 or more. Arizona has the best freshman class in the country. The model says Michigan, but at 66% - the model's least confident remaining prediction. If Arizona's freshmen play like they did against Purdue and Arkansas, this will be the best game of the tournament.
- UConn vs. Illinois (53%) - The coin flip. UConn is trying to win its third title in four years. Illinois is in the Final Four for the first time since 2005. UConn survived a 19-point deficit to get here. Illinois dominated on the glass to get here. This is the game no model can call.
Michigan 79, Duke 78 is dead. But Michigan is alive, dominant, and two wins from the championship the model predicted all along. The specific prediction - the exact score, the exact opponent - is gone. But the machine's core belief hasn't wavered: Michigan is the best team in the country, and they're going to prove it.
For four weeks, the model made me root for Duke. It took Braylon Mullins and 0.4 seconds to fix that. I'm free. The bracket is broken. The champion pick is not.
The question now isn't "will Michigan 79, Duke 78 come true?" That's answered. The question is whether the model was right about the thing that actually matters - that Michigan is the best team in the country. Two more games to find out.
One more weekend.
Update: The Final Four is done. The model called Michigan-Arizona a month ago. Michigan won by 18. Then Lendeborg went down.