u/Falkordragon

GripLocked (Foundation Disc Golf) brought up some questions about my Austin Open simulation this week on their podcast. Spent some time poking holes in my own work. Plus OTB Open win probabilities.

The 2026 OTB Open is at Swenson Park this weekend. These are the top 10 MPO win probabilities from the 30k Monte Carlo simulation I ran for the weekend:

  1. Gannon Buhr 21.29%
  2. Calvin Heimburg 7.22%
  3. Isaac Robinson 5.37%
  4. Ricky Wysocki 4.82%
  5. Anthony Barela 3.46%
  6. Jaden Rye 3.39%
  7. Paul Krans 2.89%
  8. Corey Ellis 2.88%
  9. Austin Turner 2.40%
  10. Aaron Gossage 2.34%
  11. Eagle McMahon 2.30%
  12. Casey White 2.28%
  13. Sullivan Tipton 2.27%
  14. Ezra Aderhold 2.18%
  15. Ezra Robinson 2.15%
  16. Jake Monn 2.14%
  17. Raven Newsom 1.91%
  18. Xaelen Nash 1.84%
  19. Joseph Anderson 1.80%
  20. Paul Ulibarri 1.78%

Gannon is just too good.

Jaden Rye at #6 has the biggest residual (predicted score vs what they actually scored) of any top 10 pick with -1.66. His recent rounds have been hot (Austin Open -5, -10, -8, -12 for a T-3 finish, plus a -7 R1 at Jonesboro) which is pushing him up.

Paul Krans at #7 with a recent residual of -1.10. His recent rounds have been strong (Austin -7, -9, -10, -3; Kansas City -4, -3; Jonesboro -3, -4).

Austin Turner at #9 is the lowest-rated player to break into the top 10. A lights out performance at Austin Open two weeks ago (-9, -10, -3, -3 for T-19) and his 2025 Swenson rounds going 0, -6, -5, -5 lands him his spot.

It may be surprising to see Ezra Robinson outside of the top ten, coming in at #15. He was runner up at Austin Open but his recent residual is only -0.56 versus his -1.05 career average. The model thinks he's cooled off a little even with the strong finish at Austin Open.

Two weeks ago I posted a similar simulation for the Open at Austin (1.53% chance for Uli to win). The Foundation guys walked through it on GripLocked and one of their big observations was that Mason Ford had been ranked above Kyle Klein. In the comment section I mentioned high variance players get more "lottery tickets" in these one winner simulations, which was an intentional design decision with this model. This means Kyle, who historically plays more consistent golf, will have a worse chance to win. (see Per Player Per Course Residual for more info below)

While prepping the simulation for the OTB Open this weekend, I decided to do some more tuning on that variance term (it's the part of the model that gives high variance players a wider predicted score range). I ran the Austin backtest under three settings:

  1. Current model
  2. Variance clamped to the field median for every player
  3. Variance at half its current slope

So why am I not moving towards 2 or 3?
These versions get a little better at ranking the middle of the pack (rank correlation goes from 0.39 to 0.47), but they get worse at predicting actual upsets. Paul was the #28 pick under the current model to win the Open at Austin. Under the clamped model he'd have been #35, and under the half slope version #30. The current model gave him a higher probability while the other two would have made his actual win look like more of a fluke.

What does this tradeoff mean?
I'd be building a slightly better system for getting most of the field correct in exchange for losing the ability to model upsets accurately. I would much rather see a "surprising" Ulibarri showing up in my predicted top 20 backed by his PDGA number and his variability bumping him up, than have him win from outside the top 30 and shrug it off as noise.

I'm keeping the current variance term for OTB.

Per Player Per Course Residual
I still have a known gap I'm not going to pretend isn't there. The per player residual is still computed across every round a player has shot anywhere. There's no per player per course term yet. This per player per course term would likely move Kyle Klein’s win percentage up into the top 10. So Simon Lizotte (#30 at 0.89%) and Andrew Marwede (#27 at 1.03%) show up lower down in the simulation even though they have had strong Swenson history. This fix is at the top of the version 2 list.

This model isn’t claiming it's going to pick a winner. Buhr at 21% means 79% of the time the winner is someone else.

I will post the tournament breakdown Sunday night after the tournament.

reddit.com
u/Falkordragon — 2 days ago

I ran 30,000 simulated tournaments before The Open at Austin teed off. The model gave Paul Ulibarri 1.53%.

I've been building a disc golf app for the last year or so and it generates hole by hole scoring predictions for tournament courses. I ran the DGPT+ Open at Austin through 30,000 Monte Carlo iterations before the first tee on Thursday. Figured the result was worth sharing with Uli pulling out the big win.

Pre tournament win probabilities:

  • Gannon Buhr (1061) - 28.9%
  • Calvin Heimburg - top 5
  • Ricky Wysocki - top 5
  • Paul Ulibarri (1028) - 1.53%, ranked 20th in the field

Twenty other players had better odds than Paul going in.

What the model got right:

  • The top tier's dominance over the field. Buhr's 19x edge over Paul reflects the real consistency gap between the very top and the other pros.
  • Field depth: the predicted top 20 included most of the names that actually finished top 20 along with some outliers.

What the model got wrong:

Paul.

He shot 56, 56, 56, 54 for a -36, tied Ezra Robinson, and won in a playoff. That -36 was 21 strokes better than the model's median projection for him. On his own predicted distribution, -36 was a p1.5 outcome meaning he played better than 98.5% of his own simulated tournaments.

The honest reflection:

Models are good at who probably wins on average. They're bad at who catches fire for four rounds. That's not a flaw in the model, it's the sport. If the favorite won 30% of the time and the field never broke through, every tournament would be boring and nobody would watch. The variance is what makes it fun.

Paul's win is what 1.5% looks like when it actually lands. Worth celebrating because the model said it was very unlikely!

One thing I'll flag before someone else does: a couple of model quirks worth understanding.

First, some lower rated players ranked higher in win probability than some better rated players. That's a real feature of a winner takes all formats. A lower consistency, high variance player with a small edge gets more "lottery tickets" than a steady middle of the pack player. The format rewards variance, not the model glitching.

The inverse also happened. Kyle Klein (1041) ranked 20th at 1.4% despite a strong track record at this event the last two years. His recent residual (how much he typically beats our his hole predictions per round) has cooled to -0.4 strokes (for context: Calvin Heimburg is at -1.6, Buhr at -2.9), so the model didn't give him a big personal-form bump even at 1041. Technically his Austin rounds DO feed the residual since we predict against course-specific hole models for each round, but they're averaged with all his other rounds at every other course, so excelling at Austin specifically doesn't get extra weight. A per player per course term is on the v2 list. He still shot -35 to finish T-3, which means he beat the model too, just less dramatically than Paul did.

Happy to answer questions about the methodology, the assumptions, or where I think it's weakest.

Edit: I have had a few people ask. The model behind this analysis is a tournament prep tool I've been building called Run It Disc Golf. About a year of work and planning to release it on May 27th. runitdiscgolf.com if you want to follow along. Happy to keep talking model stuff here regardless.

u/Falkordragon — 8 days ago