Vantage Points
How the rating works · last updated 27 August 2026
Your Vantage Points (VP) estimate the points you personally add to an alliance score. Everyone starts at the average single-team share of an alliance score, and the number moves after every match based on how your alliance did versus what we expected.
This page is the whole method. If you think your number is wrong, everything you need to check it is here — that is deliberate, and it is the main reason this rating exists.
The formula
your change = weight x learning_rate x (actual alliance score
- predicted alliance score) / 2
The predicted alliance score is simply the sum of the two teams' current VP. That is the entire model. Everything below is four small adjustments to that one line.
A worked example
Real matches, from team 66556Z's Push Back season. You can reproduce every row with a calculator.
match partner (their VP) predicted actual diff/2 x rate = change VP qual 8 17788F (26.5) 53.1 31 -11.0 0.50 -5.52 21.0 qual 31 40000A (43.2) 64.2 61 -1.6 0.46 -0.74 20.3 qual 40 88909Y (46.0) 66.3 98 15.9 0.42 +6.75 27.0 qual 79 5069W ( 8.2) 36.4 68 15.8 0.35 +5.52 33.8 qual 100 43280C (15.3) 52.4 30 -11.2 0.28 -3.08 34.0 F 1 88909X (54.0) 87.7 64 -11.8 0.20 -0.79 32.9
Walk the first row. Both teams started at 26.5, so we predicted the alliance would score 53.1. They scored 31. The shortfall was 22 points, split two ways = −11.0 each. Times the learning rate 0.50 = −5.52. New VP: 21.0.
Row 4 is the one worth studying: the partner was rated just 8.2, so we predicted only 36.4 and the alliance put up 68. You get credit for carrying a weak partner. Compare it to row 3, where the alliance scored more in absolute terms (98) with a partner rated 46.0 — and earned slightly more, but not proportionally, because much of that 98 was expected from the partner. That difference is the entire reason this is not just an average.
The last row shows elims: an 11.8-point shortfall at a 0.20 rate would normally be −2.36, but weighted at a third it moves only −0.79.
The four adjustments
1. New teams move faster
The learning rate starts high and eases down over your first matches. A brand-new team's
rating is barely more than a guess, so early matches should move it hard; once we have seen
you many times, one bad match should not erase what we know. You can watch it decay in the
x rate column above.
2. Elimination matches count for a third
In elims you play with the same partner every match. If your alliance wins four straight, the data cannot tell which of you did it. So elims still count — they clearly mean something — but at reduced weight, and they do not advance your match counter. In the table above, the Final had an −11.8 error at a 0.20 rate, which would be −2.36 in a qualification match, and moved only −0.79.
3. One match cannot crater you
A no-show and a disqualification both score zero, and the match data gives no way to tell either apart from simply being beaten badly. So the per-match change is capped. Without it, one forfeit would wreck a good team's rating for a reason that has nothing to do with their robot.
4. The starting number comes from the game, not from us
Everyone starts at the average single-team share of an alliance score, computed from that season's own first matches — 26.55 for Push Back. It is in this game's points, not a constant borrowed from chess or another sport. A game where alliances score 300 will produce a completely different starting number, which is correct.
Predicting a match
Add up each alliance's VP, take the difference, and run it through a logistic curve:
P(red wins) = 1 / (1 + e^-((red VP - blue VP) / spread))
A 6-point VP edge is about 62%, 12 points about 73%, and 24 points about 88%. The spread constant was fitted on matches the search never saw, not chosen by feel — and re-fitted after the elimination weight was pinned, because the two move together.
How well does it actually work
Tested against every V5RC match of the 2025–26 Push Back season: 1,790 events, 108,398 usable matches, 12,437 teams. Strictly walk-forward — every match is predicted using only matches that started before it.
| Method | Accuracy | Brier | Partner luck |
|---|---|---|---|
| Vantage Points | 76.14% | 0.1597 | 7.7% |
| Average alliance score | 76.25% | 0.1735 | 32.8% |
| Elo | 74.43% | 0.1914 | — |
| Win rate | 72.82% | 0.1894 | — |
| Always pick red | 56.57% | 0.2481 | — |
Read that table honestly: VP does not predict match winners better than simply averaging your alliance scores. The 0.11-point difference is not real — tested properly on the matches where exactly one method was right, it splits 4,354 to 4,433 out of 8,787, which is a coin flip (McNemar, p = 0.41). The two are tied.
Where VP does win is Brier score, which grades how well-calibrated the confidence is rather than just whether the pick was right. That matters for a displayed prediction: a 70% should actually happen about 70% of the time.
So why not just average your scores?
Because a prediction and a ranking are different claims. A prediction says "red probably wins this one." A leaderboard says "this team is better than that team" and prints it next to their name. Those two come apart in exactly one place: your alliance score includes your partner's contribution.
Qualification partners are assigned by the schedule, not chosen. That makes partner quality a fair experiment: whether you drew strong partners is luck, so any part of a ranking that tracks partner quality is a ranking you did not earn. We measured it across 10,164 teams with at least 12 qualification matches:
share of the ranking explained by partner luck alone average alliance score 32.8% Vantage Points 7.7%
Nearly a third of a ranking built on raw alliance averages is explained by who you happened to be scheduled with. Subtracting the partner's expected contribution before crediting anyone is the one thing VP does that averaging cannot.
What VP cannot see
- Defense is invisible. Holding an opponent to 40 points does not raise your VP — only your own alliance's score does. A genuinely strong defensive robot will read low here. This is a real limitation, not a rounding error.
- Regions barely play each other. Teams mostly compete locally, so comparing a team in one region against a team in another is the weakest thing this number does.
- It is a scouting aid, not an official ranking. Official standings are WP / AP / SP and nothing here changes them.
- Points are game-specific. Every constant here is refit each season and the refit gets published. A Push Back VP and an Override VP are not comparable numbers.
The constants
Fitted on the first 60% of the season and validated on the remaining 40% — never on the matches used to report a score. Every one of these is refit each season and republished, because they are in points and a different game scores differently.
starting VP 26.55 average single-team share, from the season's first 200 matches learning rate 0.50 -> 0.20 over 8 matches elimination weight 1/3 and does not advance your match counter spread 12 points of VP difference worth ~73% per-match cap 66.4 points of error (2.5x the starting VP)
Check it yourself
Take your own match list, start at the season's starting VP, and apply the formula match by match. If you get a different answer than we show, we want to know — the whole reason this rating is built the way it is, instead of something statistically fancier, is that you can do exactly that. Bayesian ratings and least-squares fits cannot be checked with a calculator.
Vantage is not affiliated with, endorsed by, or sponsored by VEX Robotics, Innovation First, or the REC Foundation. Questions or corrections: [email protected] · Vantage · Privacy