Inspiration
Inspired by Moneyball, we plan to create a tool that will take sports analysis from single-player stats to multi-player models. Using a video parsing tool that we built, we will collect data from video recordings of the Penn and Dartmouth's varsity men's soccer team games, analyze it using algorithms that our team builds, and use those results in a graphic application that coaches could use to plan team line-ups.
The mathematics behind the model
The network model, formally a Markov chain, assigns nodes to each player on the field, and connects these nodes using passing rates estimated from real data. We define additional nodes connected to each player, representing the “gain” or the “loss” of possession, and the “shot” of the ball. Starting from the “gain” state and using the learned rates to determine the likeliness of different ball paths through the network, we estimate the probability that the ball will end in a shot instead of a turnover. We call this metric the probability of shooting before losing the ball (PSL). We empirically validate that this metric is strongly correlated with a team’s win percentage.
Our model allows to analyze which actions have the most significant impact in improving the winning probability before a game and act accordingly. Managers can learn which lineups provide the highest PSL. By looking at an opponent’s network, a manager can determine the opponent’s PSL and disrupt their chain. Furthermore, our model can be used to value players and player combinations. A manager can be able to tell if an acquisition is worthwhile given the change in PSL or a team can find players on the market that best fit its game strategy, maximizing the value of a purchase and detecting underpriced players.
What our technology does
We’ve defined a central database as the core component of our project. The idea is that we would use our completed video processing tool to feed data into the database, which feeds important metrics and statistics of “key events” that happen throughout a given game into the database to be stored. The definition of a “key event” consists of, for example, recording passes, shots, shots on target, ball returning to field, and interceptions. In addition, each event has many descriptors. For example, when a pass occurs, it might be important to note which player made the pass and to who, if it was on target, if it was hit with the left or right foot, etc.
We have also designed a database that consists of these “key events” for individual games. We are preloading it with English Premier League data that we already have. We will later replace this data with that from Penn and Dartmouth soccer games once those videos are fully parsed. Coming out of the database is summary statistics and visualization for our end users to view and play around with.
There are two parts to visualization: (1) individual player valuation and (2) team valuation. If we think about a soccer team as a Markov chain, the individual player valuation concerns a sensitivity analysis of a node on the Markov chain, while team valuation consists of defensive and offensive strategies to increase the probability of shooting before losing the ball (PSL). We plan on summarizing the statistics for a team both historically and for a given day (ex: Today, the team didn’t work out because a particular player didn’t do as well. If a center forward doesn’t take enough shots in a given day because he/she didn’t get the ball often enough, then we might blame the center forward, but it might not be his/her responsibility.) We want to give a coach a way to graphically modify the soccer team and these modifications’ effects on PSL, and we want to strive to see if we can come up with a way to suggest specific types of players that are good for particular positions and come up with an optimal lineup ourselves.
What's next for Goalytics
By the end of the fall semester, we plan on having a barebones version of our app completed. We will polish the app afterwards and test it by coordinating with our partners to play around with the app and ask for feedback.

Log in or sign up for Devpost to join the conversation.