How the model works

Every probability on this site comes from one model, retrained on 9,623 UFC bouts. Last trained Nov 10, 2026.

1. A rating for every fighter

Each fighter carries an Elo rating that moves after every UFC bout. Beat someone rated higher and you gain more; lose to someone rated lower and you drop more. We tuned it for MMA: a finish moves ratings 1.25× as much as a clear decision, a split or majority decision only 0.6×, newcomers' ratings move faster while we learn about them, and long layoffs pull a rating back toward average.

2. The matchup

The rating gap is combined with a handful of things Elo doesn't see: experience, recent form, ring rust, age, reach, finishing power and durability. The weights are learned from past fights using only information available before each one, and we don't allow nonsense directions — more reach can never count against you, however noisy the data.

On top of that sits a small, capped adjustment from career striking and grappling numbers, because they include fights the training data “hasn't seen yet” and would otherwise flatter the backtest.

3. How it ends

For the method, we look at how each fighter usually wins and how the opponent usually loses, shrunk toward UFC-wide base rates so a 3–0 prospect with three knockouts isn't treated as a guaranteed finisher.

How well it works

Trained on fights from Mar 10, 1994 to Dec 15, 2023, then scored on the 1409 fights that followed (Jan 12, 2024 – Nov 7, 2026). Log loss and Brier score measure how good the probabilities are, not just the picks — lower is better.

ApproachWinners pickedLog lossBrier
MMA ProTips model61.5%0.6520.230
Coin flip50.0%0.6930.250
More UFC fights43.8%0.7370.271
Better UFC win %59.9%0.6720.239
Elo only58.5%0.6670.237

Method of victory, given the right winner: 51.7% correct over 1749 fights.

Calibration

When the model makes someone a 70% favorite, do they win about 70% of the time? Bar is the actual win rate; the tick is what the model predicted.

50–55%
won 53% · 460
55–60%
won 61% · 401
60–65%
won 63% · 275
65–70%
won 71% · 180
70–80%
won 83% · 88
80–100%
won 80% · 5

Weights

Change in log-odds per unit. A zero means the data didn't support it.

Elo gap (per 100 points)+0.468
Avoiding stoppage losses+0.274
Years past 32 (per 3 years)-0.208
Years since last fight-0.136
Reach gap (per 4 inches)+0.128
Age gap (per 5 years)-0.072
Results over the last three fights+0.020
UFC experience (log of fights)0.000
Share of wins by stoppage0.000

Tested, not used

Each retrain tries these extra inputs one at a time. One only stays if it makes the probabilities better on fights held back from training. These didn't, so the model leaves them out.

  • Strength of schedule (avg opponent Elo)
  • First-round finish rate
  • Round 3+ finish rate
  • Avoiding KO losses
  • UFC win rate
  • Fights in the last two years
  • Southpaw vs orthodox
  • Height gap
  • Head-to-head history
  • Five-round and title-fight experience

What it can't see

  • Weight cuts, injuries, camp changes and short-notice replacements.
  • Anything before a fighter's UFC debut — debutants start at an average rating.
  • Betting markets. Once we add odds, you'll see where we disagree with the bookmakers.

How the picks are made

The win probabilities on every fight come from the site model above. The picks are something else. “Our pick” on a fight, and the write-up under it, comes from my own external model (I'm Greg Spencer): about 43 parameters per fighter, built on the same framework I use for my Dota 2 predictions, followed by a final read of the matchup.

Here is everything it looks at:

Striking

  • Significant strikes landed per minute (SLpM) and absorbed per minute (SApM)
  • Damage differential (SLpM minus SApM), one of the strongest single signals
  • Striking accuracy and striking defense
  • Knockdown rate
  • Head / body / leg breakdowns and target-specific accuracy and defense
  • Distance vs clinch vs ground strike distribution

Grappling

  • Takedowns per 15 minutes, takedown accuracy and takedown defense
  • Submission attempts
  • Control time, on average and per takedown
  • Ground-and-pound and positional advances
  • Share of fight time spent standing vs on the ground

Finishing and durability

  • Finish rate (KO/TKO and submission share of wins)
  • How a fighter loses: vulnerability to KO vs submission
  • Round 1 finish rate (early aggression)
  • Round 3+ finish rate (cardio and damage accumulation)

Endurance

  • Output drop-off from round to round
  • Late-round finish rate

Record and experience

  • Overall record and win rate, UFC and pro
  • Number of UFC fights and total pro fights
  • Championship experience and title-fight history

Form and activity

  • Current streak and win rate over the last 3–5 fights
  • Days since the last fight and activity rate
  • Recent-form weighted versions of every rate (career and recent blend)

Opposition

  • Elo rating of each fighter and the gap between them
  • Strength of schedule: average opponent Elo and win rate
  • Opponent-adjusted performance: striking and grappling rates weighted by who they came against
  • Head-to-head history, when it exists

Physicals and format

  • Age and age gap
  • Height and reach, as differences and ratios
  • Stance and stance matchup (orthodox vs southpaw)
  • Weight class, catchweight and title fights
  • Short-notice replacements and confirmed three- or five-round format

Matchup

  • Style edges: how one fighter's strengths map onto the other's weaknesses, striking and grappling
  • A-minus-B differential versions of almost every metric above

Context

  • News, sentiment and expert consensus, used as a light check

Why the two sometimes disagree: the site model only uses what it can test honestly against past fights, which rules out career stats that include later bouts. My model uses those numbers, the round-by-round and control-time data, and judgment. When my pick goes against the site model's favorite, it's marked “Against the model”.

Both are graded in public. Every pick is locked before the card starts, with the model's number frozen next to it, and the track record shows our record next to the model's on the same fights.