Let’s do a little linear algebra.
Start with the assumption that each robot, on average, will contribute a certain number of points to their alliance’s total in the matches that they play. The goal is to try to find that number for each robot using just the data from match scores.
Call the number of points on average a team contributes to their alliance’s score their “offensive power rating”. Let the vector of offensive power ratings be p. p is what we are trying to find.
Let s be the vector of the total points for each team at the competiton (the sum of the points scored by their alliance in their matches).
We can also create an nxn matrix (where n teams are competing in the regional) that represents the schedule for the regional. Call this matrix M. Define M as follows: M(ji)=M(ij)=the number of matches team i plays on an alliance with team j. Also let M(ii) be the number of matches that the ith team plays in total.
Fixing i=k and summing over j, M(k1)p(1)+M(k2)p(2)+…+M(kn)p(n) should equal s(k) be the number of points the kth team’s alliances score at the competition. In other words, Mp=s.
Can we can solve for p here? Yes, because M will always be nonsingular (unless one team plays all of its matches with another team).
I broke everything down regional-by-regional, because many teams who perform poorly at one regional do very well in the next.
And the winners are:
Team Offensive Power Rating Regional
1114 62.31 Waterloo
25 61.74 Las Vegas
469 51.31 Detroit
233 50.55 Boston
25 50.21 Trenton
1126 48.38 FingerLakes
1114 47.04 GLR
175 46.48 Annapolis
987 45.52 Arizona
111 45.22 Wisconsin
Mean is 10.14, Median is 8.46.
I did not include elimination rounds. Nor did I include GTR, SBPLI, UTC, or BAE (missing or no match data). I will share all the offensive ratings with anyone who asks. Defensive ratings can be done in a similar fashion but your results will not really tell you who the good defensive robots are (i.e. the defensive ratings will be useless). I would appreciate results for the regionals I am missing.