Show Me The Splits
Overview
Whenever you watch a major league baseball game, it is usually pretty easy for even the most casual of fans to tell at a few glances whether or not someone might be good. However, have you ever noticed people talking about professional athletes not passing the so-called “eye-test”. When they say this they are referring to how the player looks when you watch him play as opposed to looking at his stats. For me I have always wondered if this is actually showcased in the stats but it is just hard to find. So within this project I took the time to try and create an algorithm that I felt appropriately assigned grades to MLB starting pitchers to showcase whether a player is truly good or if the “eye-test” was right and the player is not as good as their general statistics seem to paint them as.
Why ShowMeTheSplits?
I have always been into sports having played baseball, basketball, and football growing up. As well as that, I have always been good at remembering stats and understanding what they meant for each player. Thus, I was always annoyed by these billion dollar sports teams front offices so blatantly just missing what the stats had to say and being ok with mediocrity because they were unable to bring in the top players in the sport. I liken this thought process to the movie Moneyball where Brad Pitt playing the character of the Oakland A’s General Manager Billy Beane goes out and makes moves to get his team a championship while on the tightest budget of any team in the leauge and losing key players to the big market teams. My hope with these new stats is that we will be able to better correlate certain statistics and roster makeups to what it takes to win a championship instead of the big guessing game that always seems to be going on. The goal is to limit randomness and give teams a sense of direction.
How did we go about our project?
I started by using the free MLB api but quickly realized that it was inadequate to produce what I was looking for. From there I searched for what projects and modules were being produced and managed on GitHub and found PyBaseball which looked like it would allow me to gather the stats that I needed to be able to write my algorithm. Then I got to looking through the docs and deciding what functions would be useful to me as well as creating a quick menu that I could use to maneuver through my program. After that I got to narrowing down which splits would help me to achieve my goal. This process was the longest as I could see a lot of different connections to be made from each and the potential for different statistics to be made in the future but sometimes simpler is better so I did not want to just slap a bunch of different ones together and look at the results. In the end I decided that a players performance in the last year, performance against teams with winning records, and performance against teams with losing records would be enough for me to accurately display a new statistic. From here I decided to have everyone start at a base level of 100 and go down instead of a typical point gaining system where everyone would start at 0 and go up because I liked the idea of having a sort of American Grading system standard to the metric which I believed would allow many to understand the stat at a glance. Next I needed to decide how I was going to combine the three different splits that I was using and have them affect each players 100 point grade. We also needed to decided which stats within those splits were the most important in determining pitcher success. In my mind OPS was the first stat that came to mind for determining pitcher success as it is usually the way that we determine success for batters.
What is next for ShowMeTheSplits?
The next step for ShowMeTheSplits would be to get the algorithm for AceR incorporated into the major stats sites databases allowing us to more easily look at and adjust the statistic as needed. From there we may also look to create algorithms for hitters and relief pitchers that covers the same idea as AceR but dialed to that specific position or type of player.