Methodology: How finish chance and Elo work

Every fight gets a finish chance and every fighter gets an Elo. This is where both numbers come from, and how far to trust them.

Finish chance

The badge is a machine-learning model’s estimate that the fight ends inside the distance: a KO/TKO (doctor stoppages included) or a submission. A decision, split or draw included, counts as no finish.

1. Describe the matchup

For each fighter the model looks up 47 career statistics going into the bout: how their fights usually end, striking and grappling rates per minute, reach, age, layoff, recent results, Elo and more. Red and blue corners are arbitrary, so the order mustn’t matter. Each statistic s becomes four symmetric numbers:

min(sred,sblue), max(sred,sblue), sred+sblue, |sred−sblue|

Add the bout itself (weight class, venue, scheduled rounds, title fight, year) and the matchup becomes a row of 190 numbers, x.

2. Add up 300 small decision trees

The model is a gradient-boosted tree ensemble (LightGBM). Each tree asks a handful of yes/no questions and lands on a small score. The very first question is whether the two fighters’ decision rates add up to more than 1.0. The 300 scores are summed and squashed into a probability:

p=σ( ∑t=1300 ft(x) ), σ(z)= 11+e−z

Each tree is fitted to the mistakes of the trees before it. Training used all 8,393 eligible UFC bouts since 2005; no-contests, DQs and non-standard formats are left out.

Which kinds of input the trees lean on most, as a share of the total improvement their splits make:

No single kind of input dominates. The strongest is the fighters’ own history of going the distance.

3. Turn the probability into a tier

A raw “47%” promises more precision than the model has, so the card shows a tier. The cut points split 4,868 historical bouts into equal thirds by predicted chance:

tier= { Lowp≤0.428 Medium0.428<p≤0.556 Highp>0.556
Predicted chance of a finish, and the tier each range gets.

A fight shows — instead when either fighter has no UFC bouts yet, or has fought since the model’s data was last refreshed. Once an event’s date passes its tiers are frozen, so a results page shows what was predicted beforehand.

4. Does it work?

Every number below is out of sample: ten yearly folds from Oct 2015 to Sep 2025, each predicted by a model trained only on earlier bouts.

Share that actually finished Average predicted chance
TierPredicted chanceBoutsAvg. predictedFinished
Highabove 56%1,62365%62%
Medium43% to 56%1,62249%48%
Lowup to 43%1,62335%37%

High-tier fights finished 62% of the time, Low-tier fights 37%. Each tier’s predictions land close to what actually happened, but the edge is modest: a Low fight still ends early more than a third of the time. Accuracy is scored with log loss, where y is 1 for a finish and 0 otherwise, and lower is better:

L=−1N ∑i=1N [yilnpi+ (1−yi)ln(1−pi)]
0.665this model
0.693the same guess for every fight

Model export as of Nov 9, 2026 (version 2026-11-09+5006318a).

Elo

Elo is one number for how good a fighter is today. Beat someone you were expected to beat and you gain a little; beat someone better and you gain a lot. It’s the chess rating system, tuned for MMA.

1. The expected result

Before a bout, the rating gap gives each fighter an expected score, their chance of winning:

EA= 11+10(RB−RA)/400
0%25%50%75%100%-400-2000+200+400Rating gap (yours − theirs)Chance of winning+100 → 64%+200 → 76%
Being 100 points ahead means winning about two fights in three.

2. The update

After the bout, the rating moves by how surprising the result was:

RA′=RA+ K·(W−EA)

W is the result. A clear win (KO, submission, unanimous decision) is 1, a close win earns less, and the loser gets the rest, 1 − W. The method otherwise doesn’t matter: a knockout counts the same as a unanimous decision. No-contests don’t count at all.

The result score W, from the winner’s side.

3. How far ratings move

K sets the step size. A newcomer’s rating is a guess, so it moves fast; a veteran’s is well established, so it moves slowly. Here n is the fighter’s number of previous bouts, and each fighter uses their own K:

K=275(n+5)0.4
04080120160010203040Previous bouts (n)KDebut: 14410 bouts: 9330 bouts: 66
Ratings settle over a fighter’s first ten or so bouts.

A worked example

Fighter A is rated 1600 with 12 previous bouts. Fighter B is rated 1500 with 3. A is the favourite: EA = 0.640 and EB = 0.360. Their step sizes are KA = 88.5 and KB = 119.7.

A wins byA’s changeB’s change
Unanimous decision, W = 188.5 × (1 − 0.640) = +32119.7 × (0 − 0.360) = −43
Split decision, W = 0.688.5 × (0.6 − 0.640) = −4119.7 × (0.4 − 0.360) = +5

B loses more than A gains, because B’s rating is less settled. And a split-decision win costs A points: a fighter that much better was expected to win clearly.

4. Time off

Ratings drift 10% of the way back to 1500 for each year without a fight, starting from the last one:

R←1500+(R−1500)· 0.9years since last bout
1500155016001650170002468Years without a fightRatingAverage: 15001 year: 16803 years: 1646
A 1700 fighter sitting out. A comeback starts from a lower number.

5. What the card shows

The history covers every bout ufcstats records, including Strikeforce, PRIDE, WEC and Dana White’s Contender Series, so most fighters arrive in the UFC with a rating already moving.

6. Does it work?

The settings above were tuned for one job: predicting the winners of future fights. Tested on 5,432 UFC bouts from Oct 2015 to Oct 2026, the higher-rated fighter won 59.8% of the time, against 55.4% for plain chess-style Elo (a fixed step of 32, no decay). MMA is hard to predict, and no rating comes close to certainty.

Also tried and dropped, because they predicted worse or no better: Glicko-2, a weight-class handicap, separate per-division ratings, extra credit for finishes, a grace period before decay, and a smaller step for newcomers.