Script to Determine Which Teams Qualify Through Skills (VEXU)

Hey everyone,

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).

Script: https://gitlab.com/purple-fire/vex-skills-qualifications

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.

Sincerely,
Mihir Lad
Co-Chair of POLY1

7 Likes

This is very helpful, thank you for the work you put into it :slightly_smiling_face:

5 Likes

No problem! Glad other teams found it helpful!

2 Likes

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.