Statbotics: 2023 Season

Is there a way to have the events sorted such that the current year is at the top of the list?


Would be the ability to highlight a specific team on the bubble chart be something easily added?

@Mullen Unfortunately that feature seems to be pretty hard to add with the library I am using for the scatter plots. I have wanted to switch libraries for a while, but this is the only one I have found that can handle so many points. I will create a GitHub issue and hopefully look into it more after this season. Sorry about that!


One last new feature before Week 3: Event Alliances Tab

Check it out for past events, and good luck to all teams competing this weekend!


There’s currently a bug on MABOS and maybe other events where the slider can be moved to “schedule released” well before the event is started, which returns garbage simulations (like taking a near last predicted team “before schedule” and placing them in 2nd). MABOS is in over a week and definitely doesn’t have a schedule released.

Fixed, thanks for the bug report.


Feature request - alliance playground? I love what you’ve done with the new alliance tab. Last week i found myself toying with alliance ideas on picklist night by bringing things over to excel to compare and sum component EPAs. Would love a way to do that natively! I.E. 3 side-by-side areas with dropdowns where I can input teams at an event, see their stats, and then a field below that calculates combined stats.

Thank you! Absolutely love this project.


I sincerely hope it won’t be the last.

The power of math frequently makes people think, “Oh, so THAT’s why!”


This is the best kind of scouting though. Standout performance that doesn’t need numbers to highlight to the trained eye and positive impressions equals good alliance partners in my experience.

On the other hand having an independent set of derived data is very useful.


This is what I am trying to figure out. Last year, we had 2 great teams (in my opinion), Valor and Spectrum, that picked a last place team (us) to be their Alliance partner. This changed a few things for us since then. The first time we went to state…Week 1 finalist…Week 2 Alliance Captain. I want to see what others do…plus figure out how to add outside independent scoring to help us in the future. Our team isn’t spectacular…and this year we are just a base KoP bot. And yet we can perform. Not to the level of the greats…however we perform. And looking at some of the stats…we shouldn’t have been an alliance captain…IF I read correctly.

So, your point is valid…It reminds me of a bumble bee: Aerodynamically, it should not fly. Science says it can’t fly…and yet it does. The question becomes why? The only answer that works for society as a whole is that no one told it it couldn’t.

They say that numbers don’t lie…Science doesn’t lie…and yet a base bot…nothing special…is top 10 in the state (until this weekend! LOL), with a chance to go to state for a second time…in two years. And as you said…Stand out performance doesn’t need numbers…just good alliances…and faith in a person…or a team. I guess it is about consistency. Too many of the great teams forget about that. They forget the consistent teams…not just in competition…but also the highlight reels.

Best of luck to you and your team!


I have a feature request to make use more intuitive. At the top of the page for a single team there are a series of 3-4 blue boxes identifying how the team ranks in the world, country, district, state. It would be great if these boxes were hyperlinks that would take you to the “teams insights” page with the correct selections made and already at the correct page of the resulting table for the team. I’m not sure how useful such a feature would really be, but to users those boxes look like something that should be click-able to get to a rank table.

Our team loves using Statbotics for a quick and clean look at how teams stack up and expectations for upcoming matches. Thanks for all the great work!


Stats as of Week 3

Top teams

  1. 2056: OP Robotics (78 EPA)
  2. 1323: Madtown Robotics (71 EPA)
  3. 3538: RoboJackets (70 EPA)
  4. 3005: RoboChargers (70 EPA)
  5. 2910: Jack in the Bot (69 EPA)
  6. 2337: EngiNERDs (68 EPA)
  7. 176: Aces High (67 EPA)
  8. 3683: Team DAVE (67 EPA)
  9. 1678: Citrus Circuits (66 EPA)
  10. 6672: Fusion Corps (66 EPA)

There are 2 teams (strictly) above 70 EPA, 22 teams above 60 EPA, and 110 teams above 50 EPA (compared to 2, 11, and 71 last week, respectively).

Undefeated Teams

  1. 2974: Walton Robotics (17-0-0)
  2. 4613: Barker Redbacks (33-0-0)
  3. 3184: Blaze Robotics (17-0-0)
  4. 67: The HOT Team (17-0-0)
  5. 6424: Stealth Panther Robotics (16-0-0)
  6. 6919: The Commodores (17-0-0)

Most Improved Teams

  1. 3005: RoboChargers (+38 EPA)
  2. 1727: REX (+37 EPA)
  3. 6672: Fusion Corps (+35 EPA)
  4. 7890: SeQuEnCe (+34 EPA)
  5. 8592: Newton Squared (+33 EPA)
  6. 2337: EngiNERDs (+32 EPA)

Highest Clean Score: 2468, 2687, 8573 - 181 points in San Antonio SF 11
Highest Scoring Playoff Alliance: 2468, 2687, 8573 - 161 average

Best new team next week

  1. 254: The Cheesy Poofs

I like the notable matches tables, specifically the highest auto table, which appears to pretty well show the matches where the referees missed confirming the auto scores and entered all of the grid as autonomous pieces:
Out of the 3574 matches played to only have 6 matches with major noticeable human error in scoring is pretty impressive.

Robots tend to get busy in front of substation-side Refs very quickly after teleop starts, so mobility and docking scores are more frequently committed late. On the scoring table side where grid scores are entered, late commit is rarer – that Ref can get distracted by action around the staged game pieces, when they also need to review the official scorer’s auton grid results before commit. Often the HR can handle that action so the side Refs have time for auton review, but sometimes there’s quite a lot going on. Extended mechanisms draw the Ref’s eye.

1 Like

Mainly so they don’t get whacked. Being a ref this year is like playing hockey. If you head isn’t up, you are the target.

1 Like

Then it would be the Ref’s eye drawing extended mechanisms. Not a good look.


The far side ref tablets are also more obvious that you haven’t committed your scores yet for auto as well. There’s no dramatic shift in scene on the scoring side tablets other than the yellow bar at the top, and for the most part I was able to ignore the tablet after committing the auto scores unless my scorer needed my attention, so I can understand if both the ref and the scorer missed the yellow bar saying they were still in auto scoring.

Done! The country/state/district blue boxes are now clickable, and the teams page and can also be filtered using the URL.

It was more difficult to automatically scroll to the correct page so I have skipped for now.


Question — does “Teleop EPA” include endgame? And could you by chance make a cube EPA and a cone EPA?

1 Like

As described on the blog page, while auto and endgame EPA are calculated the same way as total EPA using the game phase points, teleop EPA is really just the total EPA minus the others. So no, Teleop EPA doesn’t include the endgame points.

I think it’d be possible to use the EPA model to describe the number of game pieces (of each type) scored, but it’d probably be much to much information to keep on the front page. Maybe if we get customizable columns first though.

I would just add that while all teams are generally incentivized to maximize their auto, teleop, and endgame points, different strategies might prioritize more cubes or more cones. A team that is slightly faster at cubes than cones might exclusively do cubes, making their cones EPA lower than a team who only does slow cone cycles. Theoretically, cube and cone EPAs are possible, but they would probably be much more noisy/inaccurate.

1 Like

In a game like this year, I think EPA needs an additional component breakdown for link count. This would help tease out teams which are going for rank points over raw score. For example, if a team feels they can place 9 game pieces in all phases of match play, but 3 of them should be low in order to help partners fill in links for the 4th RP, they will have a slightly lower EPA teleop score (by 9 points) than someone who simply places all 9 game pieces high.

Just something to think about. This probably only really impacts the top 10%, but may also help determine if we should really go for the 4th RP.