Hi everyone, I hope your build season is off to a great start! Although competitions are still a couple weeks away, I wanted to share some updates to Statbotics (statbotics.io), an open-source project that aims to modernize FRC data analytics. There have been several changes since last year, so let’s dive in!
Expected Points Added (EPA)
While previously Statbotics displayed Elo and OPR ratings, we are now transitioning to a new rating system called Expected Points Added (or EPA for short). EPA builds upon the ideas of the Elo rating system, but assigns a point value to each team (similar to OPR). EPA is more predictive than either Elo or OPR, is separable into components, and can be compared year over year. I encourage anyone interested in learning more to check out the Statbotics blog.
Revamped Infrastructure
After a full codebase rewrite and better integration with The Blue Alliance API, data will be refreshed considerably faster during competitions. While previously the website updated every couple hours, match data is now refreshed every minute. Event simulation is also significantly faster and more robust.
Brand New Website
The website has been rewritten with an emphasis on speed and future extensions. Visit statbotics.io to see match breakdowns, event simulations, team rankings, and more. Several new tables and visualizations are scattered throughout the website as well. If you have bug reports or feature requests, please respond to this thread or raise an issue on GitHub or Canny. I hope to continue adding new features throughout the season.
Note: Since EPA depends on the Week 1 average score, 2023 EPA ratings are projections and will change significantly once competitions start. Currently they assume a Week 1 mean score of 30, split equally between auto, teleop, and endgame. This will be updated after preseason events. Check out the 2022 ratings to get a feel for EPA and new features like bubble and line charts.
REST and Python APIs
To integrate your scouting/strategy systems with the new Expected Points Added model, consider the REST and Python APIs. Read the documentation for the REST and Python APIs, and feel free to contact me with any questions.
Given the amount of changes, I am sure some features have broken or regressed. I would appreciate any feedback to best serve the FRC community. I will continue to use this thread to answer questions, broadcast updates, and share data analysis using the EPA model. Thanks for reading, and best of luck this season!