| first_name | last_name | nickname | height | weight | reach | Stance | wins | losses | draws | belt | weight_lbs | reach_in | height_in | total_fights | win_rate |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Tom | Aaron | NA | – | 155 lbs. | – | NA | 5 | 3 | 0 | NA | 155 | NA | NA | 8 | 0.6250000 |
| Danny | Abbadi | The Assassin | 5’ 11” | 155 lbs. | – | Orthodox | 4 | 6 | 0 | NA | 155 | NA | NA | 10 | 0.4000000 |
| Nariman | Abbasov | Bayraktar | 5’ 8” | 155 lbs. | 66.0” | Orthodox | 28 | 4 | 0 | NA | 155 | 66 | NA | 32 | 0.8750000 |
| Darion | Abbey | NA | 6’ 2” | 265 lbs. | 80.0” | Orthodox | 9 | 5 | 0 | NA | 265 | 80 | NA | 14 | 0.6428571 |
| David | Abbott | Tank | 6’ 0” | 265 lbs. | – | Switch | 10 | 15 | 0 | NA | 265 | NA | NA | 25 | 0.4000000 |
| Hamdy | Abdelwahab | The Hammer | 6’ 2” | 265 lbs. | 72.0” | Southpaw | 7 | 1 | 0 | NA | 265 | 72 | NA | 8 | 0.8750000 |
| Farida | Abdueva | NA | – | 115 lbs. | – | NA | 6 | 1 | 0 | NA | 115 | NA | NA | 7 | 0.8571429 |
| Mansur | Abdul-Malik | NA | 6’ 2” | 185 lbs. | 80.0” | Orthodox | 9 | 1 | 1 | NA | 185 | 80 | NA | 11 | 0.8181818 |
| Shamil | Abdurakhimov | Abrek | 6’ 3” | 235 lbs. | 76.0” | Orthodox | 20 | 8 | 0 | NA | 235 | 76 | NA | 28 | 0.7142857 |
| Hiroyuki | Abe | Abe Ani | 5’ 6” | 145 lbs. | – | Orthodox | 8 | 15 | 3 | NA | 145 | NA | NA | 26 | 0.3076923 |
UFC Fighter Statistics Analysis
Do physical attributes predict career success in the UFC?
Part 1: Question
The Ultimate Fighting Championship (UFC) is the world’s premier mixed martial arts (MMA) organization. With hundreds of active fighters spanning multiple weight classes, some fighters dominate their competition while others struggle to crack the win column. What characteristics actually differentiate elite fighters from average ones?
This analysis investigates the following question: Do physical attributes, specifically height, reach, and weight, have a measurable relationship with a fighter’s win rate and overall career success in the UFC?
This question is interesting because combat sports fans and analysts frequently debate whether “natural” physical advantages translate into real competitive outcomes. Fighters with longer reach may be able to land strikes from distance, heavier fighters may carry more knockout power, and taller fighters may have leverage advantages. Whether these physical traits actually predict success is an empirical question worth exploring.
Part 2: Data Source and Collection Plan
To answer this question, data was scraped from UFCStats.com the official statistics database of the UFC. This source was selected because it contains a comprehensive roster of every fighter who has ever competed in the UFC, along with their physical attributes (height, reach, and weight class) and career records (wins, losses, and draws).
The data was collected in a separate .R script by scraping fighter roster pages filtered alphabetically (A through Z), resulting in one page of fighter data per letter. Each page contained an HTML table with fighter statistics. A custom scrape_ufc_page() function was written and called within a for loop to programmatically collect all 26 pages, with a polite delay of 3–7 seconds between requests to avoid server strain.
The scraped dataset was cleaned, saved as a .CSV file, and is hosted on a cloud source for import into this document.
Part 3: Data Import and Wrangling
Part 4: Analysis and Results
Visualization 1: Distribution of Career Win Rates
Before examining relationships, it is important to understand how win rates are distributed across the roster. A fighter’s win rate is calculated as total wins divided by total career fights.
ufc_fighters %>%
ggplot(aes(x = win_rate)) +
geom_histogram(bins = 30, fill = "steelblue", color = "white") +
labs(
title = "Distribution of UFC Fighter Career Win Rates",
subtitle = "Each bar represents a range of win rate values",
x = "Win Rate (Wins / Total Fights)",
y = "Number of Fighters"
)The distribution of win rates is notably right-skewed, with the majority of fighters clustering between 0.50 and 1.00. This tells us that most UFC fighters on record win more than they lose, which makes sense given that the UFC historically signs fighters who have already built strong records on the regional circuit. The large spike near 1.00 represents fighters who are either early in their UFC careers or have been exceptionally dominant throughout.
Visualization 2: Average Win Rate by Weight Class
Do fighters in certain weight classes tend to win more often? This could indicate that certain weight classes have more dominant fighters or more one-sided skill gaps at the top.
ufc_complete %>%
group_by(weight_class) %>%
summarize(avg_win_rate = mean(win_rate, na.rm = TRUE)) %>%
mutate(weight_class = reorder(weight_class, avg_win_rate)) %>%
ggplot(aes(x = weight_class, y = avg_win_rate)) +
geom_bar(stat = "identity", fill = "steelblue") +
coord_flip() +
labs(
title = "Average Career Win Rate by UFC Weight Class",
subtitle = "Ordered from lowest to highest average win rate",
x = "Weight Class",
y = "Average Win Rate"
)Flyweight and Featherweight fighters have the highest average win rates, while Heavyweight fighters have the lowest at roughly 0.60. Notably, all weight classes average well above 0.50, which is consistent with the right skew observed in Visualization 1, many fighters in the dataset have short careers with strong early records. The difference between the highest and lowest division is relatively small, suggesting weight class alone is not a strong driver of win rate.
Visualization 3: Win Rate by Experience Tier
One possible confounding variable is career experience. Newer fighters may have inflated win rates because they were brought into the UFC with strong undefeated records, while veterans’ records naturally regress toward 0.50 over time.
ufc_fighters %>%
filter(!is.na(experience_tier)) %>%
ggplot(aes(x = experience_tier, y = win_rate)) +
geom_boxplot(fill = "steelblue", color = "black", alpha = 0.7) +
labs(
title = "Distribution of Win Rate by Fighter Experience Tier",
subtitle = "Newcomers, Developing fighters, and Veterans compared",
x = "Experience Tier",
y = "Win Rate"
)This is one of the most revealing visualizations in the analysis. Newcomers (1-5 fights) have both the highest median win rate and an extremely compressed interquartile range near the top of the scale, meaning nearly all newcomers arrive in the UFC with strong records. Developing fighters (6-15 fights) show a much wider spread, reflecting the natural variation that emerges as fighters face increasingly tough competition. Veterans (16+ fights) have the tightest distribution of all three groups, with a median around 0.65, confirming that long-term UFC fighters stabilize into consistent performers over time. Experience tier appears to be the strongest predictor of win rate pattern in this dataset.
Visualization 4: Reach vs. Win Rate
Reach is often cited as one of the most important physical advantages in MMA. A fighter with longer arms can strike from further away and control distance more effectively. Does reach actually correlate with win rate?
ufc_reach %>%
ggplot(aes(x = reach_in, y = win_rate)) +
geom_point(alpha = 0.3, color = "steelblue") +
geom_smooth(method = "lm", color = "red", se = FALSE) +
labs(
title = "Relationship Between Fighter Reach and Career Win Rate",
subtitle = "Each point represents one UFC fighter with recorded reach data",
x = "Reach (inches)",
y = "Win Rate"
)Despite the popular belief that reach is a decisive physical advantage in MMA, the scatterplot shows virtually no meaningful relationship between reach and win rate. The linear trend line is nearly flat, and the data points are spread widely across all win rate values at every reach length. Fighters with a reach of 65 inches and fighters with a reach of 80 inches show nearly identical distributions of win rates. This suggests that while reach may matter in individual matchups, it does not translate into a systematic career advantage across the UFC roster as a whole.
Visualization 5: Fighter Count by Weight Class
To better understand the composition of the UFC roster, this visualization shows how many fighters compete in each weight class. This provides useful context for interpreting the win rate comparisons above.
ufc_complete %>%
group_by(weight_class) %>%
summarize(fighter_count = n()) %>%
mutate(weight_class = reorder(weight_class, fighter_count)) %>%
ggplot(aes(x = weight_class, y = fighter_count)) +
geom_bar(stat = "identity", fill = "steelblue") +
coord_flip() +
labs(
title = "Number of UFC Fighters by Weight Class",
subtitle = "Based on fighters with valid weight data",
x = "Weight Class",
y = "Number of Fighters"
)Lightweight (678 fighters) and Welterweight (671 fighters) are by far the largest divisions on the UFC roster, nearly double the size of Strawweight (148 fighters), which is the smallest division. This composition is important context for interpreting the earlier win rate comparisons, divisions with more fighters have more competitive depth, meaning the average win rate in Lightweight and Welterweight is earned against tougher competition than in smaller divisions. Strawweight’s smaller roster also reflects that it is one of the newer and exclusively female divisions in the organization.
Summary Table
| weight_class | Fighters | Avg Win Rate | Avg Total Fights | Avg Wins |
|---|---|---|---|---|
| Lightweight | 678 | 0.682 | 20.1 | 13.7 |
| Welterweight | 671 | 0.678 | 20.3 | 13.8 |
| Middleweight | 576 | 0.669 | 19.5 | 13.1 |
| Bantamweight | 520 | 0.701 | 17.4 | 12.1 |
| Featherweight | 520 | 0.705 | 19.1 | 13.4 |
| Heavyweight | 501 | 0.599 | 17.2 | 11.2 |
| Light Heavyweight | 448 | 0.619 | 18.8 | 12.0 |
| Flyweight | 334 | 0.720 | 16.1 | 11.5 |
| Strawweight | 148 | 0.682 | 14.6 | 10.0 |
Conclusion
This analysis used data scraped from UFCStats.com to investigate whether physical attributes, specifically reach and weight class — predict career win rates among UFC fighters. Several key findings emerged from the data:
- Win rates are right-skewed across the full roster, with most fighters recording more wins than losses, reflecting the UFC’s practice of signing fighters who already have strong regional records.
- Flyweight and Featherweight divisions have the highest average win rates, while Heavyweight has the lowest, though the differences across divisions are modest.
- Experience tier is the most meaningful variable examined: newcomers arrive with near perfect records, developing fighters show wide variation, and veterans stabilize around a consistent win rate over time.
- Reach has essentially no relationship with career win rate, contradicting the common belief that physical reach is a decisive career advantage.
- Lightweight and Welterweight are the largest divisions by fighter count, which adds important context to their win rate comparisons given the deeper competition in those divisions.
Taken together, the data suggests that where you compete and how long you have competed matter more than physical attributes like reach in determining UFC career success. Future analysis could incorporate striking accuracy, takedown percentages, and finish rates to build a more complete picture of what separates elite fighters from the rest of the roster.
*Data source: UFCStats.com. Scraped ethically using the polite package with an identifying user agent, a 3-7 second delay between requests.