vrc_teamanalysis

VEX Robotics Competition Analytics Model

Michael Lam, Programmer & Strategist, Team 86254, Hong Kong πŸ‡­πŸ‡°

Data-driven strategy development for VEX Robotics Competition (HS) through predictive modeling and match analysis. This tool was instrumental in our team’s preparation for the VEX Robotics World Championship 2025 (High Stakes, 2425).


πŸ“‹ Table of Contents


🎯 Project Overview

This project develops analytical tools for VEX Robotics Competition (VRC) teams, featuring a match strength difference prediction model with 70%+ accuracy and 0.6 correlation index to actual score margins across 208 games. It also provides a summary page for all the teams in Innovate Division, Worlds β€˜25.

The system processes all recorded match data from all teams (recorded on robotevents) across the entire High Stakes season from official APIs to calculate weighted Key Performance Indicators (KPIs) and then:

  1. Computes a summary page for each team, showing KPI rankings
  2. Computes a match strength difference prediction model for all matches (see Strength Differential Predictive Analytics)

Proven Impact: The analysis directly supported our team, allowing us to allocate precious preparation time on games where small strategic gains matter most (actual High Stake games lol).


πŸ“Š Key Features & Methodology

Weighted KPIs are calculated for each team’s every single match played in the High Stakes season. Matches of higher level of importance (regional / signature; qualifications / eliminations) are associated with larger weights.

πŸ“ˆ Strength Differential Predictive Analytics

Simple math model predicting match strength difference.

Code (on Github)

Methodology:

  1. Simple normalization of each weighted KPI into range [0,1] by simply dividing by the max and min value across the entire division
  2. Plot a radar diagram for both alliances in each match
  3. Predicted winner is the alliance with greater area on the radar diagram
  4. Strength Differential calculated by AreaDiff / AreaWinner

A larger amplitude means that one alliance is likely to win with ease, small amplitude predicts that the match is close, positive values are in favour of the red alliance

Example: A negative large number ➑️ Blue is very likely to win (they actually won)

Match Name Start Date Red Team 1 Red Team 2 Blue Team 1 Blue Team 2 Predicive Model Output
Qualifier #1 2025-05-06 43272A 23805S 83149B 16099D -1.092937720705726

πŸ† Team Performance Analysis (Sample: Team 86254B)

General info. Calculated KPIs from raw match data for each team. Generate rankings. Summarises major awards and how the team qualified for World Championship.

  1. Selected KPIs shown (more are calculated and recorded in a .csv file, not shown):
    • All Win Rate
    • Weighted Avg For
    • Weighted Avg Against
    • Weighted Normalized Win Margin
    • Regional+ Win Rate
    • Signature+ Win Rate
    • Elim Win Rate
  2. Qualification Path for World Championship e.g. 2024-2025 PAS-VEX VEX V5 Robotics Competition Signature Event: High School

  3. Signature Events Participation Lists all sig. events the team has participated in and the furthest round reached

  4. Major Awards Excellence Award / Tournament Champion / Regional Award, etc. are listed

πŸ† Noramlized data for our team

Code & output can be found in us_86254_matches.ipynb

More positive -> more likely we will win More negative -> more likely we will lose

Strength Differential calculated by AreaDiff / AreaOurAlliance

πŸš€ Usage

Access analytical reports through the following endpoints:

Report Type URL Format Description Example
⭐ Team Analysis michael-ml7.github.io/vrc_teamanalysis/[team_number] KPIs, respective rankings, high-level awards 86254B
⭐ Division Match Analysis michael-ml7.github.io/vrc_teamanalysis/inno_matches Complete division match data with alliance advantage metrics inno_matches
Team Match Analysis michael-ml7.github.io/vrc_teamanalysis/[team_number]_matches Pre-worlds match performance for all teams 86254B_matches
Award History michael-ml7.github.io/vrc_teamanalysis/[team_number]_awards All pre-worlds award tracking 86254B_awards
Strong Teams Information michael-ml7.github.io/vrc_teamanalysis/inno Identified strong teams in our division inno

πŸ“ˆ Model Performance

Detailed evaluation data can be downloaded from this Excel file on Github

Across all 208 qualification games played in the Innovate Division at Worlds β€˜25:

Correlation Analysis for all 208 matches in Innovate Division

Across the 10 Qualification games our team played

*Correlation between predict match strength difference and actual score margins were plotted and calculated with Excel


πŸ›  Technical Implementation


πŸ“ Application Note

This project demonstrates the practical application of data science and mathematical modelling in competitive robotics, showcasing how algorithmic analysis can translate into real-world strategic advantages. The tools developed were directly used in our journey to compete at the VEX Robotics World Championship 2025 in Dallas.