With Worlds 2020 approaching and our team currently relying on a skills qualification, I created a Python script that determines which teams will qualify through skills based on current skills rankings and current match results.
Note that this will only work for VEXU
How it determines which teams will qualify through skills:
- Any extra qualifications that a team earns at a competition go toward skills according to country. (I.e. team qualifies 2 times, so 1 of these Worlds spots go to a top unqualified VEX U team from the same country based on the skills rankings)
- For teams that get multiple qualifications in the same tournament, the Worlds spot goes to the top unqualified team in that tournament based on that tournament’s skills ranking.
The above points are a summary from the REC Foundation’s VEX U Qualifying Criteria
How the script gets the data:
- Sending requests to various APIs I discovered on RobotEvents
- Web Scraping RobotEvents search page for determining world qualifying events
- VexDB for determining list of teams by country
I tried to avoid the use of VexDB for data that a user would want to be as up-to-date as possible such as match results, skills rankings, etc. This is especially important since a team may want to check whether they would qualify through skills immediately after a competition. I found that using VexDB would simply yield data that would be too out-of-date resulting in inaccurate conclusions by the script.
Some important notes:
- I threw this together pretty quick, so there may be bugs. I have tested this for US qualifications for VEXU and it did match the results I compiled manually on Google Sheets
- Take the results of this script with a grain of salt. The final list of teams that qualify through skills can change as teams improve their score or tournaments result in more double qualifications.
- This does not predict wait-list results; those depend on which qualified teams decide not to attend which is not public information.
Google Sheet that I compiled and is up-to-date as of March 2nd displaying the same results as the script: https://docs.google.com/spreadsheets/d/16KzwZgjNBV_NbITHS-U397-qMUnufdZXdGVgi-8HU9I/edit?usp=sharing
This sheet also includes the possibility that China spots go to the US as qualifications through skills (highlighted in light blue) which is purely speculation and just a possible outcome that I wanted to investigate (not an official decision).
If anyone would like to work on the script (I.e. make it prettier, fix bugs), feel free to fork it and submit pull requests.
I hope this script makes some teams like ours on the edge of qualifying for Worlds optimistic about their chances. Once again, please don’t take the results of this script as 100% accurate. Please also let me know if I made any mistakes with regard to the logic of qualifying through skills.
Co-Chair of POLY1