UFC Data Analysis - Shiny App ( UFC Data Analysis Part II)

Jian Qiao
Posted on Aug 24, 2017


After successfully scraping and cleaning all the data I needed from my last post (UFC Data Scrape using R (UFC Data Analysis Part I), I was able to do some analysis and see if there is any interesting findings. I will make the analysis part into a Shiny App which is more interactive and compact. This is just a brief walk-through of my App.

If you want to download my App, the full project can be found at: https://github.com/Jian-Qiao/UFC-Data-Analysis-Shiny-App-

Interface Walk Through:

My App has 4 section: the Summary, Fighters, Fights, Fighter Search Wizzard.

Most of the graphs are drawn by googleVis for better intractability. But in the actual code, you can still find these graph plotted by ggplot2 (which is commented out).


This page provides a summary of the UFC events data.

  • On the top left part of this section is a summary of the countries where all the historical events occurred. As we can see from the bar chart, most of the events were held in United States ( As UFC is a US organization), followed  by Brazil and Canada. (If you move your mouse on each bar, you will be able to see a detailed number of each country).
  • On the right is a leaflet geographical map showing where exactly all past events were held. The size of the circle indicates how many events were held in a certain stadium. It's pretty clear that most of the events took place in Las Vegas. There are also multiple marks in Canada, Europe, and South Africa (Brazil).  Some events were held in Australia and Asia. If you move your mouse on  any of those marks, a popup box will show you the name of the stadium, its address, and how many events were held there.
  • Following up with the second map in the middle, it shows how many fighters are from which country. In this part, the US is in  the lead, followed by Brazil and Canada. Since these 3 countries represent the majority of the portions of fighters, I offer an option on the left of this map to exclude a specific country in the map. I hope it will enable the user to have a closer inspection on the rest of the countries. If you move your mouse over a country in the map, a popup box will show you the country name, and the number of fighters.
  • The third map on the bottom is a map of win-rate by country. Although the US has the most fighters, its win-rate is mediocre (0.491). The win-rates for Canada and Brazil are 0.496 and 0.551 respectively. Interestingly, Russia holds a 0.616 average win-rate, which is very significant. Again, if you move your mouse over any country in the map, a popup box will tell you the country name and the exact average win-rate for this country.


This page provides a analysis on all UFC fighters.

  • On the top left is a screen-shot I took from Wikipedia. It show the definition of every single weight class. If you click on the picture, it will take you to the Wikipedia page of UFC.
  • The first graph on the right is a bar-chart showing the distribution among all weight class. We can see that most of the fights are in Welterweight (155~170 lbs), Lightweight (145~155 lbs), and Middleweight (170~185 lbs). If you move your mouse over one of the bars, you will be able to see a detailed number.
  • The second graph is a bar-chart showing the age distribution among all ages. Most fighters are in the age range of 26 to 32. It’s rare to have someone over 39. As a type of sport, martial art requires the participant's physical strength, which is very much a function of his age.
  • The last graph on the right is a line graph of the win-rate by age. An interesting fact is that win-rate decreases with age. At first I thought fight experience can be a great advantage, but that assumption is proven wrong from the graph. However, after age of 40, the win-rate bounces up and down because of its low population. (Thus, the outcome of one match can significantly affect the win-rate.)


In the fights section, I offer a brief analysis how to win a UFC fight.

  • UFC fights have different kinds of outcome: Decision ( judge decide winner), DQ (disqualified), Draw, KO, No Contest (due to accidentally close of event/match), Submission (one of the fighter accept loss), Technical Submission (one of the fighter's coach accept loss), TKO (technical KO, if the referee decides a fighter cannot continue, the fight is ruled as a technical knockout). A brief explanation can be found at the top left part of this section.
  • The pie chart on the top right corner shows the proportions of these outcomes take. We can see most of the time, the result is drawn by Decision, followed by TKO and Submission. KO only takes 11.7% of all matches.
  • The second graph show how the proportions of the outcomes change by age. KO and TKO actually get more proportion. That means fights are getting more effective with more experience.
  • The last pie chart shows which techniques are involved in wins.. Direct Punch takes 70.7% of the winnings by KO.  Rear-Naked Choke, Guillotine Choke, and Arm Bar take 34.4%, 17.7% and 11.2% of all winnings by Submission. These techniques are like the basics of any martial art style, which indicates 2 facts: 1. Being effective on basic skills is more important than learning those flashy crazy moves; 2. It's hard to say if any particular martial art system is better.

Fighter Search Wizard:

Last but not least, I present you with a UFC fighter searching wizard.

You can find the fighter you want by First Name, Last Name, Birth Date, Age, Country, Class, Height,Weight in the table above.

After having the name of your fighter in mind. You can put his name in the text box below and click 'Search'. Voila! You can see the photo of him/her, the information about him/her, and all his/her statistic.

About Author

Jian Qiao

Jian Qiao

Jian Qiao is a recent graduate of 12-weeks Online Data Science Boot-camp from NYC Data Science Academy. He has earned his M.S. in Quantitative Finance in 2015. Currently working as a data analyst in Almod Diamonds Ltd, he...
View all posts by Jian Qiao >

Related Articles

Leave a Comment

No comments found.

View Posts by Categories

Our Recent Popular Posts

View Posts by Tags

2019 airbnb Alex Baransky alumni Alumni Interview Alumni Reviews Alumni Spotlight alumni story Alumnus API Application artist aws beautiful soup Best Bootcamp Best Data Science 2019 Best Data Science Bootcamp Best Data Science Bootcamp 2020 Best Ranked Big Data Book Launch Book-Signing bootcamp Bootcamp Alumni Bootcamp Prep Bundles California Cancer Research capstone Career Career Day citibike clustering Coding Course Demo Course Report D3.js data Data Analyst data science Data Science Academy Data Science Bootcamp Data science jobs Data Science Reviews Data Scientist Data Scientist Jobs data visualization Deep Learning Demo Day Discount dplyr employer networking feature engineering Finance Financial Data Science Flask gbm Get Hired ggplot2 googleVis Hadoop higgs boson Hiring hiring partner events Hiring Partners Industry Experts Instructor Blog Instructor Interview Job Job Placement Jobs Jon Krohn JP Morgan Chase Kaggle Kickstarter lasso regression Lead Data Scienctist Lead Data Scientist leaflet linear regression Logistic Regression machine learning Maps matplotlib Medical Research Meet the team meetup Networking neural network Neural networks New Courses nlp NYC NYC Data Science nyc data science academy NYC Open Data NYCDSA NYCDSA Alumni Online Online Bootcamp Open Data painter pandas Part-time Portfolio Development prediction Prework Programming PwC python python machine learning python scrapy python web scraping python webscraping Python Workshop R R language R Programming R Shiny r studio R Visualization R Workshop R-bloggers random forest Ranking recommendation recommendation system regression Remote remote data science bootcamp Scrapy scrapy visualization seaborn Selenium sentiment analysis Shiny Shiny Dashboard Spark Special Special Summer Sports statistics streaming Student Interview Student Showcase SVM Switchup Tableau team TensorFlow Testimonial tf-idf Top Data Science Bootcamp twitter visualization web scraping Weekend Course What to expect word cloud word2vec XGBoost yelp