So this is me
My friend Mike posted this in a group chat recently:
I mean, it’s true. That’s basically what the entire sports commentary industry has always been. And while aspects of sports commentary have devolved into a cringey “take economy” where commentators yell at each other to get attention, we’ve also seen the rise of high quality analytics-based sports commentary in recent years that seem almost deliberately targeted against the things I love most in the world.
So look, I love sports analysis. I love the narratives, I love the statistics, I love the well-researched debates, I love how pointless it is at the end of the day, I love all of it. I always have. Probably too much.
That xkcd comic got me reflecting on my own engagement with sports analysis over the years and the different ways that it has manifested. Since sharing is caring, I’m going to tell you all about it.
Warning: it’s about to get real nerdy in here.
Level 1: analyzing live sports
I first started writing about NFL football in middle school for our school newspaper, The Flyer. I kept going and built on that in college, writing an NFL opinion column for The Tartan. That led to me starting my Useless Analysis website which kept me busy for a few years. And that led me to create, automate, and publish NBA and NFL power rankings.
So far, so good. I think I’m coming off reasonably normal at this stage. Let’s go a level deeper.
Level 2: analyzing video game sports
Let’s be clear - this isn’t analyzing esports at a competitive or professional level. This is analyzing my own video game experience and statistics. And I did this in two different ways.
First, there’s watching a sports game play itself or having it simulate entire seasons.
I first recall doing this in Tecmo Super NBA Basketball, which I incidentally feel is one of the most underrated sports video games of all time, overshadowed by its contemporaries NBA Jam and Tecmo Super Bowl. I’d simulate a full season and look back at what happened, then do it all over again and see what changed. And I loved watching that game play itself thanks to its hilarious gameplay music and its absolutely stacked roster, which included so many classic legends including Magic Johnson, Larry Bird, and Michael Jordan.
I’d keep this up in future years with the NBA 2K franchise as a “what if scenario” simulator. What if Michael Jordan cloned himself to play against a Jordan-less Dream Team? What if we had an exhibition between the tallest stars and the smallest stars? What if the best team in each franchise’s history faced off against each other in a super league? That last one may have kept me sane during the early COVID stretch when the NBA was on hiatus.
This is already pretty nerdy, but I didn’t sadly stop there. The second way I’d analyze sports video games was by playing against myself.
I remember first doing this in classic Super NES baseball video games like Super Baseball Simulator 1.000 and Ken Griffey Jr. Presents Major League Baseball, where I’d use both controllers and pitch, bat, field, and run bases for both teams at the same time. I was damn good at it and did this for literally hundreds of games, and then I’d track and analyze the stats.
I kept this behavior up in future years, expanding into football games such as the Madden series, ESPN NFL 2K5, and All Pro Football 2K8 as well as the FIFA soccer series.
I know at this stage I’m already losing the room, and I haven’t even reached the final level. Brace yourself for …
Level 3: the nerdiest story ever told
The summer after 10th grade we took a family vacation to California to take a look at colleges.
At this stage, both the NBA and NFL were out of season, so there were no real sports to watch. And I didn’t have access to my Super NES or Nintendo 64, both of which were stuck at home.
What was a nerd to do? I created fake basketball.
In 10th grade I took a Visual Basic course, so I decided that summer vacation to apply what I learned at school in order to create my own basketball simulator.
I started with a model that would simulate a single game. I’d set up two teams, and each team would get 100 possessions per game on which they could score 0, 1, 2, or 3 points.
My first model simply randomly chose between 0, 1, 2, or 3 for each possession for each team and then added it up, but that resulted in an average score of 150, much higher than the real NBA.
I wanted scores that were a bit higher than the NBA of that era, but generally still realistic: high scores around 125 and low scores around 100. Enter the “team strength” variable.
In my second model, I let each team have an inherent “team strength” value that ranged between 3.0 and 3.5. For each possession, I took a random decimal number and multiplied it by each team’s strength and then rounded it down to the nearest whole number.
With this method, possessions can still be worth 0, 1, 2, or 3 points, but now the distribution is weighted towards 0, 1, and 2, driving scores down a bit, and teams can now be inherently better than others, creating the potential for winning streaks and upsets.
Not only did this approach work well, but it also led to an average score of 100 points for a 3.0 strength team and an average of 125 points for a 3.5 strength team. Success!
Now that my scoring engine was working, it was time to take the next step. I had to create a fake basketball league, complete with team names and Microsoft Paint logos. I don’t remember how many teams were in the Ronjan Basketball Association, but I can tell you that two of them were called the Denver Blizzard and the Norfolk Nice Folks.
Now that I had a game engine and a league, I programmed a full schedule for a single season. I don’t quite remember how many games each team played, but I know that I set up a regular season and playoffs complete with elimination series.
Once I had the schedule, I made my final tweak. I wanted teams to rise and fall over time, so I needed their team strength variables to change over time as well. Enter the team strength adjustment. After every win, a team’s strength would increase (capped at 3.5) and after every loss, a team’s strength would decrease (floored at 3.0).
In the end, I actually did a pretty good job of emulating the NBA. Across seasons, dynasties would emerge, they’d be challenged, and new title contenders would displace them. I also remember creating a narrative that one team, after several losing seasons, relocated to New Jersey. Yikes.
I simulated something like 20 seasons, automating the whole process just so I could read the box scores and write season recaps for this fake league.
And that’s where I’ll leave you, if you’ve made it this far. Literally using a weighted random number generator in order to do sports commentary. We have come full circle. I am sorry. I warned you.
So this is me. This has always been me. It’s what I do, it’s what I love, and nothing can change that.
I suppose I’m at my best when I can combine sports, video games, and analytics. Maybe that can be my life someday.