Blue Alliance API OPR

Does the Blue Alliance API provide teams’ OPR values, or will I need to calculate them myself?


It appears to be provided. See event stats.

It’s all there for you!

Take a look at the “Event Stats Request” section of

It appears to be a little funky on Archimedes at least. Earlier it was listing my team’s OPR as 115.something.

You generally need to play at least 6 matches before OPR has any meaning. Before then it is a garbage value.

Thanks! I should have looked harder.

Not a bad rule of thumb, but it depends on the size of the event. With larger events, each team needs to play more matches before getting the same level of accuracy.

On each of those pretty graphs, where would you estimate the point OPR stabilized? I’d eyeball around 5-6 matches per team, although some sort bound on the delta opr / match might give a more accurate answer. Maybe it is stable once all OPRs don’t change more than 2-5% after a match?

*Since each match generates 2 OPR equations (one for red alliance and one for blue alliance), you need at least T/2 matches to be played (where T is the number of teams) to get an overdetermined system of equations. As you can see from the graphs, it takes a bit more than T/2 to settle down.

But… did you look at the rest of that thread? Eugene Fang came up with a clever idea for getting around this limitation so that a stable OPR can be introduced right at the start of the event… and as matches are played the new data is used to refine the OPR. That new algorithm is used for the match predictions at the TBA site.