Worlds Scouting System: OPR and Match Scouting


I would like to present a scouting system which my team has been using throughout the season and which I think will be useful to teams at Worlds. The system is composed of two parts: OPR and match scouting. Most of you are probably familiar with Offensive Power Ranking (OPR); this is an estimate of a team’s average contribution to their alliance total. Match scouting is simply recording stats (cones stacked, mg zones, stack bonuses, auton, etc.) for teams in order to determine their average amount of points scored in a match. The system averages these statistics to yield a “Golden Index.”

Of course, these statistics are not perfect. Match scouting averages and especially OPR are, after all, just estimates. However, they can still be useful to get an understanding of the offensive power of a team.

I have been working with other teams to establish a way to carry out this system for every division at Worlds. We will be updating the system in real time once qualification matches begin, and the sheet will be publicly available to view. Each division has its own tabs and there are also summary tabs, one of which is solely OPR. I have included the sheet below:

If you would be willing to assist scouting in your division, please let us know at and provide contact information. We plan on having one scout per division to update OPR and four scouts per division to input match data. Also, if you have any concerns or comments, please leave them below or email them to us.

9457B, BetaVersion 2.0

Why not just get the OPR from VexDB via the API? Unless you have people there who would otherwise be doing nothing it seems like a waste of a person when an automatic method exists. Or you really want your data entered insanely quickly (VexDB will have up to 2 minutes delay).

Secondly, why are you only looking at OPR? Defense is actually quite important this season so I’d see DPR (and hence CCWM, the combination of the two) being equally as important.

We did consider automatically drawing data from VexDB or RobotEvents via the API. However, we didn’t have the time to format this smoothly into the system and figured, as you pointed to, that the cost of one person per division would be outweighed by the benefit of instantaneous updates.

Another valid point. We’ve seen throughout the season that many teams are mainly focused on offense, so we used the time that we had to create a system for OPR. Of course, defense has been intensifying recently, so it would be worthwhile to incorporate DPR and CCWM into the system. Perhaps this will be a project for tomorrow, if there is enough interest. We were mostly limited by time, having started this project not very long ago.