Machine Learning / Fight Predictions
How Upset Predicts Fights
An XGBoost model trained on 8,500+ historical fights, powered by Glicko-2 skill ratings and 283 carefully selected features.
65%
Test Accuracy
283
Selected Features
8,500+
Fights Analyzed
4,400+
Fighters Tracked
Performance
How our model compares to other prediction methods.
Vegas closing lines represent the practical ceiling (65–70%). Our model approaches this benchmark using only historical fight data — no odds, no insider info.
What We Analyze
Six categories of fighter data feed into every prediction.
Physical Attributes
- Reach
- Height
- Age
- Weight class
Fight Record
- Wins & streaks
- Experience
- Win methods
- Quality win rate
Striking Stats
- Accuracy & defense
- Round 1 output
- Volume & power
- Head/body/leg mix
Grappling Stats
- Takedowns
- Submissions
- Control time
- Ground striking
Fighter Ratings
- Glicko-2 skill
- Uncertainty
- Rating trend
- Opponent quality
Fighting Style
- Activity & recency
- Fight duration
- Finishing rate
- Cardio profile
All stats computed at point-in-time · No future data leakage · Bayesian priors for debut fighters
Top Factors
The five most predictive features, ranked by importance.
Younger fighters have a measurable edge
Physical reach is a key predictor of outcomes
Rating gap between fighters predicts winners
Early aggression and striking volume matter
How recently and frequently a fighter competes
Integrity
Three safeguards that keep our predictions honest.
No Future Data
Every stat is computed using only fights that happened before the predicted bout.
No Corner Bias
Fighter positions are randomly assigned to prevent systematic red/blue advantage.
Real Validation
Tested on 318 fights across 26 cards the model never saw during training.
Documentation
Download our prediction model documentation for a deeper look.