Introducing Modernizing FRC Data Analytics

I hope everyone is staying safe and doing well. My name is Abhijit Gupta and I am a first year at Yale, former captain and lead programmer of FRC 5511. Today, I am excited to share a programming project I have been working on the past couple of weeks: aims to develop and distribute FRC data analysis to a wider audience. As a first direction, I have replicated Caleb Sykeshighly predictive Elo rankings, and created tabular and chart views on my website. Ever wondered how your team ranks in your region, or who would win a hypothetical match? Now you can find out! In the future, I will be rolling out updates such as OPR calculations, event predictions, Zebra MotionWorks analysis, and more.

I am thankful for everyone who laid the foundations for this effort. Huge shout out to The Blue Alliance team for their amazing API and to Caleb Sykes for introducing Elo to FRC. If you like this project, I have open-sourced my code on Github here, and would love a star and/or fork!

I hope you all enjoy this resource. Let me know if you have any questions, bug reports, or feature requests. I’ll do my best to answer everything here.


Really cool. It did seem that you may have left a country out of the country list…


This is really really really really cool. Well done!


Thats so clean! Might I suggest being able to select provinces for Canada? It’s not to the same degree as states in the US, but there is a lot of provincial differences (Ontario being a district, while Quebec and the Western provinces not) and it would make it easier for looking at these regions.

1 Like

Very cool! I was checking out the elo numbers by year, and it’s crazy how dominant 1114 was between 2007 and 2015. #1 elo 6/9 years, and only once did they have an elo below #2. They only won 1 championship in that time (although they came incredibly close at least two other times), but it shows that simbotics was king before the cheesy poofs’ reign of terror.


Love this, these are some very clean and user-friendly visuals.


These are both good suggestions. I currently store a team’s country unless they are in the USA, in which case I store the state. I can modify this to store both the country and state. I’ll have the update sometime tomorrow!

Love the site! Small bug tho: Doesn’t matter what I fill in on the year table it always tell me I’m looking at 2020, fairly sure I’m looking at different years because the teams do change so its just a minor issue.

That’s a really cool site!!! I’m guessing you only added the countries with multiple teams though right?

I just released an update addressing a few issues noted here and on other channels.

  1. Ability to filter by entire USA, Canada Provinces, and additional countries
  2. Applied mean reversion to Current Elo for teams which haven’t played in 2020 (2056 remains first but 148 moves up to second for example)
  3. Corrected Year Table header

Let me know if you see any other issues or have feature requests. Thank you for all the kind words :slight_smile:


This is some fantastic work. Most accessible form of elo rankings for FRC I have seen.

1 Like

I like the site. It will be interesting to see other metrics. It does surprise me how fast a team’s Elo rank can change with one good competition.

On nitpick: when you select say 20 rows per page, it ends up with an internal scrollbar instead of just making the page longer. This kind of defeats the purpose of seeing lots of teams at once and easy scrolling.


Exceptional work!

How/where are you hosting this? Are you able to use free tiers of service or are you financing the lookups the rest of us make?

1 Like

V1.0.2 Changes:

  1. Table scrolls cleaner (@prensing)
  2. Team search revamped (now includes team names, search bar in header)
  3. Some performance improvements (minimizes large API calls in ‘Compare Teams’)

@paulonis I am hosting a ReactJS frontend on Firebase, fetching from a Django backend API on Google Cloud Platform. I have promotional credits to offset costs for roughly a year. At this scale, it’s mostly static costs and the lookups don’t impact the cost significantly.