UFC Fight Careers As Coin Flips
Of course fight outcomes are not random, but it's fun to consider!
Suppose the outcomes of MMA fights, seemingly based on skill, were in fact as random as a coin flip? This, of course, isn't reality—otherwise, an average Joe going head-to-head with Khabib could expect a 50-50 shot at victory. Nonetheless, it's a fun thought experiment and an even more enjoyable coding challenge in Python!
To breathe life into this idea, I made some basic assumptions:
I started with X number of fighters.
Each fighter entered the UFC ring 12 times.
The result of every fight was as unpredictable as a coin flip—a 50% chance of winning or losing.
I ran this simulation for 300, 1,000, and 10,000 fighters. The results were pretty much what you'd expect—they mostly form a bell curve, as you can see in the plots below. An interesting note: undefeated fighters only cropped up after simulating 10,000 UFC careers, and even then, only a couple emerged victorious each time.
This simulation is far from perfect and there are a million ways to improve it! I might tinker around with some of these improvements in the future.
Do you have any assumptions or tweaks in mind that could make simulations like these more interesting? I'd love to hear your ideas!
300 Fighters:
1,000 Fighters:
10,000 Fighters: