I came up with a (new?) scouting metric for this weekend’s NYC regional. We were concerned that with this year’s game being so dependant on assist scores, the “match difficulty” would have a larger than normal influence on seed. I’m really happy with the result, so I thought I might share it here in case there is some interest in standardizing it. The metric was calculated as follows:
For each team:
For each match:
[INDENT]For each team in the match (other than the team of interest TOI):
[INDENT]Scrape the current stats from TBA or usfirst.org
Compute the “match difficulty” score(s) from the stats[/INDENT]
Display a table showing the difficulty for each match
Sum the difficulty for each match to get a “quals difficulty” score[/INDENT]
The result table looked something like this:
Team 9999: Qual# DiffScore (negative is harder) 9 -5 19 -10 29 2 39 10 TOTAL -3
The heart of the table is the “match difficulty” score. This weekend we tried the following two scores:
Sum the QS score of the TOI’s alliance mates, and subtract the QS score of the TOI’s opponents. So if the mates were sitting with with QS Scores of 10 and 12, and the opponents were 8, 8 and 5, the DiffScore would be 1.
One of our other mentors suggested that the difficulty of a match in this game is not linear with the abilities of the other robots on the field. Having two poorly performing mate is much more damaging than having two just-average mates. So we made a second score which was 1 or 0 if both mates were less than some QS threshold (we used 3 or 4 at this regional) and the opponents had at least two bots above the threshold
So how did it work out?
- The DifficultyScores for our own team’s matches were really useful for deciding how to allot pit resources. We spent a lot of Day 2 helping repair future alliance mates for matches we expected to be really difficult.
- The QualsDifficulty score (sum of the match DifficultyScores) was really useful during scouting to decide if a team was getting a “free ride”, or a “rough ride”. This helped us prepare our selection list.
- For the most part, the QualsDifficulty score was pretty even amongst teams after all matches in our regional (the linear metric anyway - good job NYFirst!). But the running totals or the DifficultyScores swung a lot along the way. A number of teams got all their “easy” or “hard” matches on the morning of Day 3. We were able to predict, to some extent, how the seed ranks would swing on Day 3 before Alliance Selection. This helped us make scouting decisions on the night of Day 2, before all quals have been played.
I think a lot of other teams would be interested in having kind of metric during regionals. Unfortunately I’m not much of a coder - my spreadsheet was hand entered by copy-pasting from TBA and drag-and-dropping columns and formulas as necessary. If this were to get widespread use, it would need to be automated, preferably in real time on a server somewhere (TBA?). Is anyone out there willing to take this on?
Secondly, the formula(s) for the DifficultyScore of each match is up for debate. Perhaps the CD community has a different idea? I know there are Apps like FRC Spyder that make match predictions using the “OPR” of each team on the field, but I think I’m more comfortable with QS (or rank) - it seems more game-independant, even if its a bit circular to use current rank to predict future rank. Also our metric is orthoganal to the stats of the TOI - we just want to know about their alliance mates & opponents.
Lastly, I’m not in love with the DifficultyScore name. We could use (checks thesaurus): Handicap, Disparity, Equality… or yet another acronym Any other suggestions?