Methodology
Our rankings come from Elo with three corrections: inactivity decay, provisional shrinkage, and bootstrap uncertainty. Fighters are sorted by the lower confidence bound of their rating, not the point estimate.
1. Elo engine
Standard Elo: we give each fighter a starting rating of 1500. After each fight the winner gains, the loser loses, and the size of the swing depends on the pre-fight gap. K-factor is 32, bumped by 25% for title fights, 15% for finishes, and 50% for fighters with <5 UFC appearances (so ratings find their level faster).
2. Inactivity decay
A retired champion shouldn't top the rankings forever. After 12 months of inactivity a fighter's Elo drifts back toward the division mean at 15% of the "above-mean excess" per year, capped at 25% total.
3. Provisional shrinkage
Fighters with fewer than 4 UFC fights have their rating pulled toward the division mean, weighted by n_fights / 4. A 1-fight newcomer keeps only 25% of their raw swing; at 4 fights the rating stands on its own.
4. Bootstrap uncertainty (σ)
We re-simulate each fighter's last 8 fights 400 times by resampling with replacement and recomputing the Elo update chain. The standard deviation of the final ratings is our σ. Fighters with fewer than 8 fights get σ inflated by √(8/n) to reflect the thin sample.
5. LCB ranking
Published rank uses LCB = Elo − σ. A provisional star with Elo 1700 and σ 120 (LCB 1580) ranks below a proven contender with Elo 1680 and σ 40 (LCB 1640) — and that's the point.
Prediction, not advice
On every fighter page we show an Elo-based p_win for past fights. It's the standard logistic from the pre-fight Elo gap, nothing else. We deliberately do not publish a "betting pick": our research model stays internal, and that's not what this site is for.
Data
Historical UFC event records, 8,477 fights between 1994-03-11 and 2026-03-28. This page reflects the snapshot from Mar 28, 2026.