The math behind EPA can be a bit confusing. This page will help you understand the EPA model, how it works, and how to best use it. No math required!
Hi! I'm Abhijit, and I'm the founder of Statbotics. I'm so glad you're here! My goal with Statbotics is to share FRC data and analysis with a wider audience. Hopefully this page will help you better understand the EPA (Expected Points Added) model, its advantages and disadvantages, and how to best use it. If you still have any questions after reading, feel free to reach out to me on Chief Delphi or via email at avgupta456@gmail.com. Let's get started!
Two factors make strategy in FRC interesting. First, there is a new game every year, with new rules, new strategies, and new robots. Second, teams compete in alliances, making it difficult to directly attribute success or failure to a single team. If one alliance beats another, did certain teams contribute more or less than others? Should we assume that every robot in the winning alliance will win their next match?
Scouting is a great way to better understand the strengths and weaknesses of other teams at an event, but it is impractical to scout every team at every event in the world. EPA stands for Expected Points Added and estimates how much a team scores in an average match using a few simple inputs and some statistics. Although it is not perfect, it can augment scouting data and reveal insights and trends.
At it's core, the EPA model is simply a moving average of a team's performance. Initially, every team starts with an EPA rating (more on this later). To predict a match score, simply add up the EPA ratings of each team in the match. The alliance with the higher EPA rating is expected to win. After the match, the EPA ratings of the teams are updated. The difference between the predicted score and the actual score is called the "error". The EPA ratings of the teams are updated based on the error. Statbotics also computes component EPAs, which measures a team's contribution to autonomous, teleoperated, and endgame scoring, and ranking point EPAs, which measures a team's contribution to bonus ranking points.
If a team's EPA rating is too high, it will be penalized for overestimating its performance. If a team's EPA rating is too low, it will be rewarded for underestimating its performance. The amount of penalty or reward is proportional to the error. Over time, teams' EPA ratings will converge to their true performance. This is the same concept behind Elo.
At an event, you can use the EPA model to predict match scores and estimate an alliance's chances of winning a match. You can simulate the outcomes of multiple matches to forecast your team's ranking at the end of the event. You can also compare teams at the event to see which teams would be the best alliance partners. As the season progresses, you can use the EPA model to compare teams across events and locations. You can look ahead to future events and see which teams are likely to perform well. You can also access historical data to see past trends and patterns.
The EPA model will get matches wrong sometimes. This is unavoidable. I have spent time to ensure the model is calibrated, meaning a 70% prediction is roughly 70% accurate. But that does mean the prediction will be wrong 30% of the time. Take all predictions and ratings with a grain of salt.