RoboWorld.ai — The data platform for VEX competition analytics
RoboWorld.ai was built by OLBI as a fun side product for the VEX Robotics community.
We launched the site just before the 2025 World Championship, with a mobile version arriving by fall 2026.
Platform Vision
- Data Layer — Accessible competition data
Fast, structured, and easy to search, sort, and analyze - Intelligence Layer — Actionable insights
Smarter rankings, deeper signals, and competition predictions - Expert Layer (Coming soon) — AI assistant
VEX expert intelligence for VEX related questions
Features
Data Layer — Explore competition data
Everything in one place. Structured, fast, and built for analysis.
- Unified team directory (V5RC + VIQRC) — searchable, multi-season profiles with rankings, performance metrics, event history, and trends.
- Global search — instantly find teams, organizations, and events across the platform.
- Worlds coverage — all 2025–26 Championship events with team browsers, match tables, and awards.
- Season views — seamless comparison across 24–25 and 25–26 seasons.
Intelligence Layer — Understand performance
Data that reflects how teams actually compete.
- RW TrueSkill rankings — context-aware ratings incorporating event significance, field strength, and opponent quality.
- Leaderboards (V5RC & VIQRC) — sortable, filterable rankings across divisions and levels.
- Performance breakdowns — win rate, match history, skills ranking, and trend signals on every team page.
- Full transparency — every match and rating change visible and traceable.
Explainability & Analysis — Go deeper
Not just rankings — understand why.
- RW TrueSkill Calculator — event-by-event rating progression with match-level detail.
- Methodology documentation — How TrueSkill Works, Why Vanilla TrueSkill Falls Short, and RW TrueSkill improvements.
- Field Strength & event weighting — FSI and Elite Event Bonus show how competition context impacts rankings.
Team Experience — Designed for clarity
See the signal instantly.
What this is (and isn’t)
RoboWorld.ai is continuously evolving — new data, features, and analysis are added throughout each competition season.
It’s designed for depth: optimized for desktop where rich data and analysis matter most. Mobile is supported, with improvements ahead.
This is a community-first platform — shaped by how teams, parents, and competitors use it.
All data is sourced from publicly available VEX Events (events.vex.com) results. RoboWorld.ai is independent and not affiliated with the REC Foundation or VEX Robotics.
How TrueSkill Works
Before we describe RW TrueSkill's extensions, it helps to understand Microsoft Research's original TrueSkill — the algorithm we start from. Numbers in the FSI, Elite Events, and RWTS top-25 sections on this page are from the 25-26 V5RC season; the match walkthroughs below use illustrative values to demonstrate the math.
Two numbers per team
TrueSkill is a Bayesian skill model. It tracks two values per player:
The system's best guess of the team's true strength. New players start at 25.0.
How unsure the system is about that guess. New players start at 8.33. σ shrinks with every match played — the system grows more confident over time.
Match updates are proportional to surprise
After each match, every player's μ shifts based on how unexpected the outcome was. Winning an "easy" match (one the model already expected you to win) moves μ a tiny amount. Winning an upset pushes μ up much more. Losing a match you were favored in hurts proportionally. Alliances are summed: each alliance's "team skill" is the sum of its members' μ values — that sum is what's compared to compute the expected outcome.
Conservative rating
The number TrueSkill displays isn't raw μ. It's the conservative rating:
This is the value the model is 99.7% confident your true skill is at least this high. A team needs both a high μ (strong results) and a low σ (many matches played) to rank well.
Step-by-Step: How a Match Updates Ratings
Here's an illustrative walkthrough to make the math concrete. The team numbers are real (99182E, 2674A, 1698V, 2570R) but the μ/σ values below are chosen to demonstrate how TrueSkill reacts to a mild upset — they aren't pulled from the live progression table.
Assume the pre-match ratings are:
Red wins 56–41. TrueSkill calculates the surprise factor:
- Red's combined μ: 36.2 + 21.5 = 57.7
- Blue's combined μ: 33.4 + 26.1 = 59.5
- Blue was slightly favored — red winning is a mild upset.
TrueSkill converts that surprise into a raw Δμ for each team. 99182E's μ nudges up (a small, positive bump), 2674A's rises more because the model had less confidence in them (higher σ), and the blue alliance loses an equivalent amount on the other side. σ shrinks for everyone because the model just learned something new.
After the update, the four ratings look roughly like this — note how Rating = μ − 3σ reflects both the μ shift and the σ drop:
Two things to notice. First, 2674A moved the most even though they were on the winning alliance — high pre-match σ (4.8) meant the model had low confidence in their rating, so a surprising result updates it harder. Second, 99182E barely moved despite winning: low σ (1.8) means the model was already confident. Every match — local qualifier or Signature final — runs through this same update.
This is the math RWTS starts from. But applied naively to VEX Robotics, it has serious gaps.
Why Vanilla TrueSkill Falls Short
The flaws below apply to vanilla (unextended) TrueSkill. RW TrueSkill addresses each one. All data here is from the 25-26 V5RC season.
Flaw 1: All events are treated equally — so winning a top event barely moves your rating
In 2025-26, Power Beans (1698V, HS) attended four Signature events. Look at two of their Signature results under vanilla TrueSkill:
Both were "win the whole tournament" performances. The local qualifier gave them 77× more credit than the Signature win. Why? Vanilla TrueSkill computed that elite teams at the Signature were "expected" to beat each other, so a Champion's Δμ is tiny. At the local, opponents were weaker than Power Beans, so every win surprised the system and pushed μ up.
The result: putting yourself in the hardest competition can barely change your rating, no matter how well you do. Our fix isn't a single patch — it's a full pipeline on top of TrueSkill:
- Compute vanilla TrueSkill first, unmodified, on every qual and elim match of the season. Every team gets an honest (μ, σ) pair from actual match outcomes.
- Build a Field Strength Index (FSI) for every event, using each attendee's Skills World Ranking with a careful log-discount plus attendance normalization (see the FSI formula). FSI answers "how deep was this field, really?" independent of the bracket outcome.
- Decide which events are Elite by running a two-part gate: N ≥ 50 teams AND (Signature classification OR FSI ≥ 0.50). Size alone isn't enough; a Signature keyword alone isn't enough; the gate requires scale plus proven strength (see Criteria for an Elite Event).
- Grant comprehensive bracket credit at those Elite events, scaled to how deep the team advanced: Champion +3.5, Finalist +2.0, SF +1.2, QF +0.6, R16 +0.2 — so reaching SF at a Signature is recognized, not just winning the whole thing.
- Apply the Elite Event Bonus to μ once the full season is played, as a post-hoc layer on the TrueSkill rating. σ is left alone so uncertainty continues to reflect only real match evidence.
See RWTS top 25 changes for how this reshapes the leaderboard. Teams who went deep at Elite events rise into the top ranks; local-only grinders whose vanilla-TrueSkill μ was inflated by weak-field wins get surfaced for what they are.
Flaw 2: A local grinder ranks higher than a team that beat real competition
In the same 2025-26 V5RC High School pool:
Power Beans beat real elite teams. Wreckin' Crew beat their local pool. Vanilla TrueSkill ranks Wreckin' Crew 60 places higher because local wins stacked up faster than wins-against-strong-fields. Our fix: the Elite Event Bonus only fires at events that pass the N≥50 + Signature-or-FSI≥0.50 gate, so volume at locals can't generate bonus — only deep runs at elite fields do.
Flaw 3: No way to factor in the strength of the field
Vanilla TrueSkill updates based on individual opponent μ, but it has no notion of how prestigious or deep an event is. Winning a match against a world-top-10 team at a Signature counts the same as winning against the same team at a small local qualifier. A team's Skills World Ranking — the single best signal of sustained individual excellence — is also entirely absent from the calculation.
The fix: Field Strength Index uses each attendee's Skills World Rank to measure how deep every event's field actually was, and the Elite Event Bonus grants bracket credit only at events whose FSI (or Signature classification) proves the field was real.
Flaw 4: Bracket depth at key events is invisible
In vanilla TrueSkill, reaching the Semifinals of a Signature event is just "N match results" — no credit for how far you advanced at a prestigious event. A team that goes to SF at a Signature and a team that exits R16 at a local get the same match-by-match treatment, even though the bracket context is wildly different. Our fix: the Elite Event Bonus awards a flat μ bump based on the farthest stage reached at each qualifying event.
Putting it together: what this looks like on the leaderboard
Take two 2025-26 V5RC Middle School teams as a concrete case:
No Signature / National / World event attended all season.
Vanilla TrueSkill and RW TrueSkill rank these two very differently. Below is the top of the 2025-26 V5RC Middle School leaderboard under each rating:
Digital Destroyers had a near-flawless season — 55 wins in 56 matches — but every opponent they beat was a neighboring Minnesota team. Vanilla TrueSkill rewards that dominant win rate and ranks them MS #5. Elixir, by contrast, went 113–30 across four Signature events, winning two and reaching the Semifinals of the other two against the deepest Middle School fields in the country. The losses pulled their vanilla rating down to MS #12, even though the wins came against top-tier opposition.
RWTS flips this. Elixir ran deep at four Signature events — two Champions, two Semifinalists — all with ≥ 50 teams and a Field Strength Index (FSI) of 0.84–1.08. Each deep finish earns an Elite Event Bonus: two Champion credits at +3.5 μ each, two Semifinalist credits at +1.2 μ each, plus a Regional ERC Quarterfinal. Those bonuses lift Elixir to MS #3. Digital Destroyers' schedule is 4 local qualifiers + 1 Minnesota State Championship — no event clears the gate, so they earn zero bonus and fall to MS #24. That's the difference: rewarding win rate in any field versus rewarding deep runs where the field is real.
To fix these flaws, RoboWorld built RoboWorld TrueSkill (RWTS): vanilla TrueSkill plus a post-hoc Elite Event Bonus for deep bracket finishes at elite-field events. The Field Strength Index defines the gate that identifies which events qualify. The next two sections explain each in turn.
Field Strength Index (FSI)
FSI is our single number for "how hard was the field at this event?". It's the gatekeeper for the Elite Event Bonus: only events whose FSI (or Signature keyword classification) proves the field was real can award bracket credit. Before any matches are scored, every event on the calendar gets an FSI. All numbers below are from the 25-26 V5RC season.
The FSI Formula
Sum over all attendees whose Skills World Rank is available; divide by the square root of total event attendance.
Why log2(SWR + 1) in the numerator
SWR is a hard ordinal. The gap between world #1 and world #10 is enormous; the gap between #90 and #99 is almost meaningless. A flat 1 / SWR would behave like "world #1 is worth more than the entire rest of the top 500 combined," which is too steep. A log curve matches human intuition: #1 contributes a lot, #10 still contributes noticeably, #100 still shows up, #500 fades out smoothly. The +1 guards against log(0) for the #1 team.
Why divide by √N
We're measuring density of strong teams, not raw strong-team count. A 120-team event with 10 top-500 teams is a weaker field per match than a 40-team event with the same 10 top-500 teams — your odds of drawing one of them in any single match are three times lower. Dividing by N flatly would overcorrect and penalize large events; √N is the middle ground used throughout sports analytics for density-vs-count tradeoffs.
How FSI Feeds the Elite Event Bonus
FSI is purely a gate signal — it does not scale any individual match update. Every match in RWTS runs as plain vanilla TrueSkill. What FSI decides is which events qualify for the post-hoc Elite Event Bonus. An event passes the gate when both:
- total_teams ≥ 50 — a hard field-size floor. Small brackets are statistically noisier and are excluded regardless of FSI.
- event_type == Signature (keyword-classified) OR FSI ≥ 0.50 — the event is either an officially recognized Signature or its measured field strength clears the Elite threshold.
Events that pass award bracket credit (Champion +3.5 μ down to R16 +0.2 μ). Events that fail award nothing. See Elite Event Bonus for the full table.
2025-26 V5RC Distribution
Across all 1411 V5RC events scored for the 2025-26 season, bands are informational (used in the Top-FSI tables below and the calculator). The Elite band tracks events with FSI ≥ 0.40 — the historical threshold — but qualification for the bonus uses FSI ≥ 0.50 plus the team-floor rule above.
How FSI Solves the Minnesota Paradox
Recall Digital Destroyers and Elixir from the previous section. Vanilla TrueSkill couldn't see the context behind a 55–1 Minnesota-only record versus a 113–30 four-Signature run. FSI supplies that context at the event level:
- Digital Destroyers' five events all have FSI well below 0.50 and the Minnesota State Championship has fewer than 50 teams. None pass the gate, so no bracket runs earn Elite Event Bonus credit. Their vanilla rating compounds from local wins only — and because vanilla's opponent-strength inference caps how far local dominance can push μ, they plateau.
- Elixir's four Signature events (Space City MS, One World MS @ Berkeley, Diamond in the Desert MS, NorCal Silicon Valley MS) all clear the gate: ≥ 50 teams, FSI between 0.84 and 1.08. Their two Championships and two Semifinal finishes earn +3.5 / +3.5 / +1.2 / +1.2 μ, plus a +0.6 Quarterfinal at California Region 4 ERC. Elixir's rating jumps from vanilla MS #12 to RWTS MS #3.
This is how RWTS rewards where you played deep, not just where you won. FSI never changes any match's Δμ — so σ stays honest — but it decides which deep bracket runs deserve a flat μ credit at season's end.
Top FSI Events (2025-26 V5RC)
Split by grade level. Blended MS/HS events are excluded — they're typically local and rarely reach the top of the FSI chart. Click any event to open its VEX Events page.
Top 50 High School V5RC events by FSI
Top 50 Middle School V5RC events by FSI
scripts/algorithms/RW_TrueSkill_Calc.py: RWTS_FSI_SINGLE_GATE_THRESHOLD (0.50), RWTS_FSI_SINGLE_GATE_MIN_TEAMS (50), and RWTS_FSI_SINGLE_GATE_BONUS (per-stage magnitudes).
Elite Event Bonus
Vanilla TrueSkill is match-centric: every match is treated as a standalone datapoint, and the rating just compounds what those matches say. That's fine when the schedule is comparable across teams — but in VEX it isn't. Two teams with the same win rate can have played wildly different fields. The Elite Event Bonus is the post-hoc correction RWTS applies after the full-season TrueSkill pass finishes: a flat μ credit for deep bracket finishes at events that prove the field was elite. All numbers below are from the 25-26 V5RC season.
What problem does it fix?
Vanilla TrueSkill rewards wins against its model of opponent strength. But a team's model of opponent strength is bootstrapped from the same matches, so a team that only plays a geographically clustered local pool can ride a dominant record to a high rating without ever being stress-tested. Meanwhile a team that enters the deepest Signatures in the country, beats top-seed alliances in the bracket, but drops a qual match to an unseeded partner, ends up lower than the local team — because vanilla TrueSkill interprets that qual loss as evidence of ordinary skill.
The Elite Event Bonus cuts that pattern off. It says: if you made it to at least the Round of 16 at an event with a real field (≥ 50 teams, and either an official Signature or FSI ≥ 0.50), you earn a flat μ credit for the finish regardless of what your match record looked like there. A Champion at a real Signature is worth +3.5 μ even if the team had a 7–5 qual record. And it works the other way too: dominant records at fields that never cleared the gate earn zero bonus, keeping local grinders from leapfrogging teams that put themselves in harder fields.
Criteria for an Elite Event
Two conditions, both required. See FSI for how field strength is measured.
Why the team floor regardless of FSI: field strength alone can look inflated at tiny brackets where a handful of top-decile teams drag the average up. A 28-team event with three world-top-50 teams and no one else is not the same gauntlet as a 57-team event where fifteen top-100 teams have to run six qualification rounds. The 50-team floor is a cheap way to require the field to have enough rounds to actually sort itself.
Why the Signature keyword OR FSI path: some officially recognized Signature events have softer-than-expected fields (e.g. an early-season MS Sig before the ranking has stabilized) but their bracket depth is still worth crediting because the field still came together with intent. The Signature classifier catches those. Conversely, some events that aren't labeled Signature still draw elite fields (e.g. California Region 4 ERC). The FSI ≥ 0.50 path catches those.
Bonus Values
One credit per (team, event). Stages don't stack within an event — a Champion earns the Champion amount, not Champion + Finalist + SF.
The taper is deliberate. A Champion proves you beat the final alliance at an elite field, which is a strong signal. An R16 finish at the same event is a weaker signal but still a positive one — you qualified for elim play against a top field — so it gets a small credit instead of zero. Teams eliminated at R16 earn far less than Champions, but they're not punished for entering the harder field.
When is the bonus applied?
After the full-season TrueSkill pass completes. The flow is:
- TrueSkill runs every match — every qual and every elim at every event — producing a final (μ, σ) per team.
- Elite Event Bonus is summed per team: for each (team, event) where the event cleared the gate, add the credit for the deepest stage reached.
- μ is bumped by the total bonus; σ is untouched.
- Conservative rating μ − 3σ is recomputed and the leaderboard is re-ranked.
Bonuses never feed back into any match update. They only affect the final rating.
World Championship is in the Bonus
RWTS now treats World Championship events the same as Signature events for the Elite Event Bonus — they pass the gate (FSI ≥ 0.50, total_teams ≥ 50) easily, and Champion / Finalist / SF / QF / R16 finishes earn the same μ credit as Signature finishes. Worlds qual and elim matches also feed the underlying TrueSkill update like any other event. Each season's rating is computed only from that season's matches — cross-season carryover does not happen.
V5RC Elite Events (25-26)
Every V5RC event that cleared the gate this season, split by grade and sorted by FSI descending. Click an event name to open it on events.vex.com.
High School Elite Events (29)
Middle School Elite Events (12)
RoboWorld TrueSkill (RWTS)
RoboWorld TrueSkill, or RWTS, is our production rating system. Under the hood it's Microsoft Research's TrueSkill run unmodified on every match, followed by a post-hoc Elite Event Bonus layer that credits deep bracket finishes at events whose FSI proves the field was real. Like vanilla TrueSkill, RWTS tracks two values per team:
The system's best guess of the team's true strength. Moves up with wins, down with losses; adjusted at the end of the season by the Elite Event Bonus if the team made deep bracket runs at qualifying events.
How confident the system is in μ. Shrinks with every real match played. The Elite Event Bonus never touches σ.
The conservative rating displayed on leaderboards is:
That is: "we're ~99.7% confident the team's true skill is at least this high." High rating requires both strong results (high μ) and enough matches to be certain (low σ).
The Two Building Blocks
rate() call with no scaling, no priors beyond the default, and no virtual matches. This produces a final (μ, σ) pair per team that reflects only what actually happened on the field.
RWTS top 25 changes
Here's what the post-hoc bonus actually does to the leaderboard. Final RWTS rank, how that compares to vanilla TrueSkill, the total μ bonus earned, and the per-event breakdown that produced it. Sorted by RWTS rating (μ − 3σ after the bonus is applied). A ▲ means the team rose under RWTS; a ▼ means they dropped; – means no change. Team IDs link to the per-team RWTS breakdown.
High School top 25
Middle School top 25
Pattern across both boards: teams that entered at least four or five gate-clearing events and reached elim play at them end up near the top. Teams with zero bonus rows, or only one small one, get pushed down as teams from deeper fields accrue credit — vanilla's local-grinder ceiling isn't overridden, it's just made visible.
For the full picture, start with How TrueSkill Works and Why Vanilla TrueSkill Falls Short for motivation, then Field Strength Index and Elite Event Bonus for the RWTS addition.
RW TrueSkill Calculator
A rating you can't inspect is just a number. The RW TrueSkill Calculator opens the black box: search any V5RC team and see the full rating trail — every event they played, what that event was worth, and exactly how each match moved their μ and σ.
What you'll see
- Summary cards — current rating, μ (skill estimate), σ (uncertainty), and percentile against the V5RC field.
- Event-by-event table with one row per event the team attended:
- Event & Date — what they played and when.
- Level — Signature, Regional, Qualifier, Worlds, etc. — the event's classification (see FSI for how field strength is measured).
- Matches & W-L-T — how they performed.
- μ Before / μ After / Delta — the rating going in, coming out, and the net change, including any Elite Event Bonus credit.
- Expandable match rows — click any event to drill into the individual matches: alliance partner, opponents, score, outcome, and per-match rating movement. This is where a surprise 30-point rating jump or drop gets explained.
Why teams should use it
- Alliance selection. Before ranking a potential partner, pull up their breakdown. Did they earn their rating by going deep at Signature events, or grind it out across many local qualifiers? Are they recently trending up or cooling off? The math is all there.
- Scouting opponents. Know whether a high-rated division rival built their number against strong fields or soft ones — and which matchups shaped their recent form.
- Self-assessment. See which of your own events moved the needle most, and which were volatility in either direction. Useful for planning the rest of your season.
- Sanity-check any surprising ranking. If our leaderboard disagrees with your gut, the Calculator tells you why — one match at a time.
Open the RW TrueSkill Calculator →
Data & Methodology
All competition data is sourced from the VEX Events platform via their public API. Ratings are recomputed after each data refresh. RW TrueSkill calculations use the open-source TrueSkill library unmodified for per-match updates, plus a post-season Elite Event Bonus gated by the Field Strength Index (which uses Skills World Ranking to measure field depth).
Questions or feedback? Reach out at .