How are The Blue Alliance scores calculated?


How are the scores on the Blue Alliance website calculated. Specifically the cargo, hatch panel, sandstorm and climb scores. I apologise but cannot find it explained anywhere.


They’re provided by FIRST’s Event API, which TBA repackages verbatim / adds analytics values for certain endpoints & provides insights on. Most of the items unless explicitly specified, are taken directly from FIRST’s provided data with no calculation or alteration.


What Tim said.

And for API consumers, any values that do not come directly from FIRST are prefixed with tba_ to denote that.


I looked through the API and it seems to say the scores are the actual score totals, but this is not correct at least for our team. Our score totals were lower. Am I misinterpreting this? We’re trying to incorporate this info into our scouting plan but are confused what the numbers mean.


Which event and match do you see this for?


For example, our sandstorm bonus was 117, but we never scored more than 8 during any of the 12 matches, and it was only 3 in over half.
Is this the combined score of all 3 robots each time?


It’s not the score for your robot individually–it’s the score for your ALLIANCE. You can’t use the TBA scores to scout an individual robot (generally except for the HAB scores that are for individual robots.)


The sandstorm bonus listed is the “Cumulative SANDSTORM BONUS points” used as a qualification ranking tiebreaker, as listed in Section 12.6.3 of the Game Manual.

It is the sum total of all your alliances’ sandstorm points. As previously mentioned, this information is pulled directly from FIRST by The Blue Alliance. You can view FIRST’s data directly here:


Back to the drawing board.


You can pull per-robot estimates of their abilities in these sub-categories from my scouting database. Not as good as scouting data, but far better than nothing I hope :smiley:


You can often run the equations for calculating OPR on these “component scores” in order to get a slightly better than nothing estimate of your team’s actual contribution to that area.


@Caleb_Sykes Can you give a “for Dummies” explanation of your database. Basically, I am still confused on how team specific data is obtained since it appears it is always estimated. Is that correct? If so, how do you estimate it?


The “instructions and FAQ” tab in that book has more info, copied from there:

Most of the values in my scouting database are found using a least-squares linear regression on match data. This is the same method as is used to calculate OPR, the only difference being I use match category data instead of the final score. Thus, these should not be interpreted as match averages, but rather as each team’s average contribution to a given category during quals matches.

I can go into more detail if that is not sufficient.


You probably aren’t going to be able to dumb it down enough for me. But, it sounds like it is a best estimate of the individual team’s performance based on statistical analysis of their alliances’ scores throughout the competition. Am I close?


Close enough that I think you understand the principles. :slight_smile: If you want to take a crack at understanding it better, this TBA Blog post is a solid read.