Greetings all, some of you may recognize me, others may not.
Before the season starts, I wanted to introduce a side project myself and other prominent members of the community have been inputting to/working on. Pairwise:
What is Pairwise?
There are a lot of scouting apps out there; this *kind-of* is one kind of not - think of it as more of an analysis tool. Most of these apps (if not all) are focused around two things:- Quantitative data (i.e., number of game pieces)
- Specific to the season
This is well and good, but there are some instances where all those data (yes, “data” is plural) are vastly overkill or it is too big of an ask for a small crew to collect. Furthermore, there are metrics that are very difficult to quantify. How does one evaluate driver skill? How does one evaluate driver skill consistently from match to match? For this reason, a lot of teams avoid qualitative metrics, gut feels, and vibe checks in their data collection. This is understandable; it is difficult to analyze. Pairwise is a tool to analyze qualitative observations.
Pairwise offers a method to analyze, for the small team, for the larger team, for the rookie, for the old hand. Pairwise is suited for:
- Teams that may not have enough members to scout efficiently
- Teams that may not have time to create their own data collection methods
- Teams that rely on community statistical tools
- Teams that would like a starting point based on team preference to begin scouting meetings
- Developing team comparison/analytical skills to expedite scouting meetings
- Scouting on vibes
This is a web-based application, chosen for accessibility and compatibility. It is continually undergoing improvement and tweaks for usability.
Pairwise includes:
- A Data Input/Formatter tool (think tier maker) for an alliance (use the included one or your own)
- A File processing tool - to generate ranks and pairwise ranking scores (online or offline)
How does it work?
A user generates a bunch of pairwise comparisons (with the included tool or on their own). These are then processed, resulting in a ranking.The backend of generating rankings works with Singular Value Decomposition (SVD), which can be illustrated with the transitive property, asserting that if a > b and b > c, then it follows that a > c. If we have a whole bunch of observations of which teams performed better in a given category (say holistically for the moment), then we can slowly build which teams are better than others via common alliance partners. Now in reality, the backend is a bit more complex, but you get the idea; we are able to build ranks based on common alliance partners (this can be extended further, say to all teams on the field or back-to-back matches, but we will not cover that now).
Is Pairwise useful to me?
The most valuable aspect of Pairwise in my eyes is not the data itself, but rather the time those scouting take after the match to discuss the good and the bad that occurred on that alliance. *Thinking critically*, the resultant list and data are a bonus at this point. I believe all teams should encourage good scouting culture by not treating folks as data input monkeys but rather as actual *scouts* and evaluating what is in front of them and if it is a good fit.Pairwise was designed to fill a gap in scouting, analysis of qualitative results. It is relatively straightforward to access, test and use, which in theory means you could get a rookie team up and running the day before competition. There are still a lot of tweaks and optimizations to usability that have yet to be implemented (Touch support is on the way for the data input tool, I promise!).
As far as I know, no publicly accessible tool like this exists for FRC. Pairwise isn’t reliant on season-specific updates or on the use of the included data generation tools. It can be used for your custom off-season events, to encourage critical thinking in the stands, as a supplementary data collection tool, or just to look at who is best in a qualitative metric. The versatility should be there for your use-case.
Results from the file processing will look like this:
Testing
Please scroll though the Pairwise help pages for more info:I know a lot of you are interested in testing tools, but with no data that is quite difficult.
Here is a .zip with some .csv files in it you can tweak and play with the results.
- One is a very basic set of observations for a few teams just indication who is better than who and who is equal
- Another is NHL teams (completely made up “who is better than who and by how much” not from a season)
- Finally there is data from 2023 Roboteer rumble, both in the binary “Better than or equal” and in the “Better-by-how-much” format
FRC_pairwise_test_data.zip (1.6 KB)
Edit, now fixed
Note: you need to be careful about not including any leading spaces or characters in the CSV. I will work to address this further, but if you get an invalid file error make sure your data look like this:
101,201,0
…and not like this (those spaces are sneaky):
101, 201, 0