Inspiration
In an MLB game, catchers generally call what pitch each pitcher should throw every time, making them an integral part of run prevention and pitching. At the major league level, catchers are able to call pitches with an incredible effectiveness, but still haven't perfected the craft. Obviously hitters make it their goal to read and beat a pitch, but catchers have room to grow in pitch calling. We want to bridge the gap towards perfection with an analytics based catcher who can tailor his calls to his pitchers most effective pitches in each situation.
What It Does
This model is designed to suggest pitches to a pitcher. It looks at the situational likelihood of an out or strike to occur from each of his pitches and compares that to the situational likelihood that he throws each of his pitches in that same situation. If there is a significant difference between the two percentages for an individual pitch, we can say that that certain pitch is either good of bad in that certain situation. Something a catcher has to do manually storing the data in only his memory.
How we built it
First we created a function that takes in data from what a pitcher throws in each count. Then we combined the count factor with what he throws after throwing whatever he threw the pitch before, combined that with what he typically throws as his first, second, third, and so on pitch, and finally combined that with what he typically throws after the full sequence of pitches he just threw. Once we had that data as a percentage for each pitch we created a new array of just the data points that led to strikes or outs so that we could get percentages of favorable events
Challenges we ran into
Implementing all the different factors into one weighted average was time consuming and at times frustrating. . At about 2 AM, we completely pivoted from a pitch predictor to a pitch suggester which was a harrowing time, but we broke through shortly after. We then had a lot of problems in testing with small errors in code, but got through them
Accomplishments that we're proud of
When applying the suggester to many impactful Mike Foltynewicz pitches from the playoffs, we found that when negative results occurred, our model would have advised against the pitch he threw, and when positive results occurred, they were on pitches that our model would have called for him. We then ran it with many other pitchers, and the results stayed favorable. It honestly blew away all expectations.
What we learned
We learned about and experimented some with neural networks, despite going in a different direction in the end. We learned that training a machine with analytics can change strategy in sports.
What's next for AI Catcher
With the results we received from a small sample, we believe that we can fully flesh out the rest of this suggester to no longer be an "I told you so", and become an "I'm telling you." We think that every MLB team and every MLB pitcher could benefit from this model and would be interested in it as a finished product.
Log in or sign up for Devpost to join the conversation.