Week1 Final Scores OPR

*UPDATE: Here’s a link to Ed Law’s posting announcement for his Excel scouting database with week1 OPRs.

I haven’t seen final-score OPRs for Week1 posted anywhere yet, so here they are.

ZIP file contains 2 text files for each Week1 event: one sorted ascending by team number, and one sorted descending by OPR.

I didn’t compute CCWM or DPR since they didn’t seem very relevant this year. I can post them too if anyone cares.

I think the negative team numbers are surrogates. They are analyzed and reported separately so they don’t affect the surrogate’s official OPR.

Please let me know if you spot any errors.

Week1 OPR.zip (25.1 KB)

Week1 OPR.zip (25.1 KB)

Here is a ZIP file containing the component OPR scores.

The columns are as follows:

Team Number, Final Score, Qual, Coop, Auto, RC, Tote, Litter, DQ

South Florida (FLFO) and Lake Superior (MNDU) are missing: I’m pondering the best way to handle the surrogate team data (in the Match Results) with the Rankings data (which doesn’t have surrogate data).

Please let me know if you spot any errors.


Week1 component OPR.zip (90.8 KB)

Week1 component OPR.zip (90.8 KB)

What is the Qual column?

Did you get these component OPRs by forming a system [N][x] = ** where [N] is the square and invertible product of two binary matrices [A][C] and then varying the vector ?**

*Here is how I processed the data:


Create 2 whitespace-delimited text files for each event: one for the Rankings data and one for the Qualification Match Results data.


Run an AWK script which reads the Match Results data and creates the alliances design matrix [A], the alliance scores vector **, and a vector [T] which maps the team numbers to consecutive integers. [A] is a 2MxT binary matrix (each element either 1 or 0), where M is the number of matches and T is the number of teams.


Run an AWK script which reads the Rankings data and the [T] vector, and creates a matrix [dr] whose columns correspond to the component scores and whose rows are ordered to correspond to the columns of the design matrix [A]


Run an Octave script which reads [A], **, [T], and [dr], and does the following computations:

  • [N]=[A[b]’**]*[A] …N will be a square symmetric positive definite TxT matrix
  • [dm]=[A[b]’]*
  • [d]=[dm,dr]
  • [x]=[N][d] … “left division” solves for [x]
  • [Tx]=[T,x]
  • sort Tx by team and by OPR

… and writes the sorted [Tx] matrices containing the components scores, sorted by team and sorted by final score OPR

Here’s a ZIP of the same data, but in CSV format so it can be opened directly in Excel (if file association is set).

Note: Ed Law and I have been exchanging PM’s the past few minutes. Our computations do not agree completely. We’re discussing it.

Week1 component OPR CSV format.zip (88.2 KB)

Week1 component OPR CSV format.zip (88.2 KB)

This is interesting. Our computations agree with yours. How is Ed doing the calculations?

Ed takes great pains to handle special cases like DQ’s and surrogates, and does so in a manner that is as consistent as possible from year to year.

I don’t have Ed’s remarkable patience and attention span, so the calculations I did don’t have special-case handling for DQ/surrogate and so they won’t agree exactly with Ed’s for events with DQ’s and/or surrogates.

Ed’s numbers are the de facto official OPR numbers for FRC, so always use them when they are available.