UFC_data <- read.csv("UFC Fighters' Statistics Dataset export 2025-02-03 19-05-47 2.csv")

Introduction

Given that I am super interested in the UFC and combat sports in general, something that I’ve always wondered and decided to make my research question is what statistical factors contribute to making the best UFC fighter? Using different variables measured during professional UFC matches like height, weight, striking and grappling percentages, to find the best methods of fighting in order to achieve success.

Introduction II

. Before analyzing or messing with any of my data, I automatically assumed a couple of trends that I would see between different variables. Firstly, I assumed that I would see a positive correlation between striking volume and accuracy, given that a fighter who throws more strikes per minute would have a higher chance of landing their punches, however I also thought that a high volume of punches can mean the fighter is missing more, lowering their accuracy percentage. Similarly, I thought that fighters who shoot for more takedowns during a fight would get more chances at submission attempts on the ground, however could also be negatively affected by the amount of takedowns they are attempting, given they would likely be too tired to submit their opponent. Lastly I thought there would be a negative correlation between striking defense and damage taken, given that fighters with a higher striking defense would absorb fewer punches during a fight, possibly leading to longer careers. By comparing these variables, we could possibly find the “sweet spot” for all these parts of fighting.

#not sure where/how to embed this data without error, assuming easy fix

HEAVYWEIGHT <- UFC_Data |>
  filter(weight_in_kg > 102.06)

LIGHTWEIGHT <- UFC_Data |>
  filter(weight_in_kg >= 65.77 & weight_in_kg <= 70.31)

LIGHTWEIGHT_CLEAN <- LIGHTWEIGHT |> 
  filter(significant_strikes_landed_per_minute > 0 &
           significant_striking_accuracy > 0 &
           significant_striking_accuracy < 100)
ggplot(HEAVYWEIGHT, aes(x = significant_strike_defence, y =  significant_strikes_absorbed_per_minute)) +
  geom_point() +
  labs(
    title = "Striking Defense vs. Strikes Absorbed Per Minute",
    x = "Striking Defense (%)",
    y = "Strikes Absorbed Per Minute") +
  geom_smooth(method = "loess", se = FALSE, color = "limegreen")
## `geom_smooth()` using formula = 'y ~ x'

GRAPH 1

This graph which was mutated to select only fighters in the lightweight division given their high volume of punches thrown shows a moderate negative correlation, implying that as the fighters defense increases, the number of strikes absorbed per minute decreases. The relationship isn’t perfectly linear, given that there is a nonlinear curve that peaks near 50% strike defense. The mean and median striking defense appears to fall within the 40-60% range, with most fighters absorbing around 2-4 strikes a minute. The strength of the data is moderate and the variability is medium-high, suggesting that fighters who have similar striking defense don’t necessarily absorb the same amount of strikes per minute, given their opponent may throw more/less. The slight peak near the 50% strike defense mark could mean it is better for a fighter to focus on either attacking or defending in order to limit strikes absorbed per minute, however could also be affected by the outlier at 10 strikes absorbed per minute, which could indicate a fighter who pressures a lot and gets hit more despite their defense being average. The graph confirms my assumption that good striking defense would result in less damage taken, however it isn’t 100% accurate. Both Israel Adesanya and Sean Strickland have good strike defense, however Israel Adesanya uses head movement to evade strikes, while Sean may use his shoulder or a strike of his own.

ggplot(LIGHTWEIGHT_CLEAN, aes(x = significant_strikes_landed_per_minute, y = significant_striking_accuracy)) +
  geom_point() +
  labs(title = "Significant Strikes Landed per Minute vs. Striking Accuracy (Lightweights)",
       x = "Strikes Landed per Minute",
       y = "Striking Accuracy") +
  geom_smooth(method = "loess", se = FALSE, color = "purple")
## `geom_smooth()` using formula = 'y ~ x'

GRAPH 2

This graph which is also for lightweights shows the comparison between significant strikes landed per minute and striking accuracy. The graph shows the mean and median trending upwards, however the upwards trend begins to dip down with a higher volume of strikes per minute, which could imply that throwing more strikes does not guarantee better accuracy. The variability of the graph is moderate, and the correlation appears to be moderate to strong, highlighting a clear trend with a couple of outliers. Some fighters are seen landing almost 12 strikes per minute with over 50% accuracy, which could just be dependent on their style of striking. For instance, Max Holloway throws a higher volume of less damaging punches during his fights, while Israel Adesanya throws less punches with higher damage, focusing more on accuracy than volume.

ggplot(LIGHTWEIGHT_CLEAN, aes(x = takedown_accuracy, y = average_submissions_attempted_per_15_minutes)) +
  geom_point() +
  labs(title = "Takedown Accuracy vs. Submission Attempts (Lightweights)",
       x = "Takedown Accuracy",
       y = "Submission Attempts") +
  geom_smooth(method = "loess", se = FALSE, color = "red")
## `geom_smooth()` using formula = 'y ~ x'

GRAPH 3

This is a graph comparing takedown accuracy compared to submission attempts during a fight for lightweights shows a high spread and moderate variability, however there is notable clumping around the 25-50% takedown accuracy, which suggests that fighters in this 25-50% range would have the most submission opportunities during a fight. Given that I now removed outliers with 0 or 100% takedown accuracy, (which is basically impossible), the graph shows a weak positive correlation, but also begins to decline around 50-60% accuracy, which could be due to exhaustion, or fighters prioritizing control on the ground, rather than wasting energy on submissions. The graph suggests that 40-60% takedown accuracy will lead the fighter to have the highest possible amount of submission attempts.

#T-Tests.

HEAVYWEIGHT <- HEAVYWEIGHT %>% filter(!is.na(significant_strike_defence), !is.na(significant_strikes_absorbed_per_minute)) %>% mutate(defense_group = ifelse(significant_strike_defence > median(significant_strike_defence, na.rm = TRUE), “High Defense”, “Low Defense”))

##T-Test 1 For our heavyweight striking defense versus the amount of strikes they absorb a minute graph, we ended with a p value of 0.6558 which is way more than 0.05, which means we do not have strong enough evidence to prove that Heavyweights who have a better striking defense absorbs less fights per minute, even though you would expect it.

##T-Test 2 For our takedown accuracy versus the amount of submission attempts they get every 15 minutes, we ended with a p value of 0.4662 which is way more than 0.05, which means we do not have strong enough evidence to prove that lightweights who have a higher/lower takedown accuracy equivilates to the amount of submission opportinuties they get in 15 minutes, although you would assume they would.

##T. Test 3 For our lightweight coorelation between strikes thrown per minute and striking accuracy, we recieved a p value < 2.2e^16 which is much lower than 0.05, which means that we have enough evidence to reject the null hypothesis.

##Conclusion. After performing a proper hypothesis testing on my three key comparisons from my UFC dataset, I was able to takeaway that not all visual trends hold up statistically, especially when it comes to such a variable sport like professional fighting. While some of the graphs suggested that there would be a “sweet spot” when it came to defense, grappling, and striking, however only one out of the three tests proved statistically signifigant when it came to proving the idea that there are ways to statistically become the “best fighter”. The data strongly supported that lightweights who tend to throw more strikes per minute are more accurate on average, however both tests for striking defense and takedown accuracy didn’t show a signifigant relationship that I was expecting. Now, this makes sense to me, because even if you are throwing the “perfect” amount of strikes or takedowns based on the data, if you are fighting the pound for pound best fighter Jon Jones, or had a bad training camp, etc, it definitely wont matter as much. In conclusion, becoming the “best UFC fighter” isn’t about hitting a single sat, but is rather an “art” of balencing these fighting traits. The statistical evidence confirms that high-volume striking is effective, but given the other two t tests, the success likely comes from other variables like their timing, speed, who their fighting, and could even just be what they had in the morning that isn’t sitting right with their stomach. It is impossible to look at the data and their percentages and be 100% certain it will work in a fight.