Vantage Points™
Last updated 29 August 2026
A team's VP estimates the points they 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. Everything needed to check your own is on this page.
The rule
After a match, each team's rating moves by
where the score we expected that alliance to put up is
Both alliances are observations of the same match. Whoever beat their expected score gains μ; whoever failed to stop them loses δ. Defence counts here — holding an opponent below what they should have scored raises your rating, and facing a weaker opponent does not inflate it, because their δ is already in the expectation.
A real match
2566C and 1677Y, at a Beijing event this season. 2566C was rated 57.7 and its partner −3.5 — well below the season's starting value of 31.6, so the alliance was not expected to put up much. The event was scoring at 59.9 a team, and the two opponents carried 8.9 of defence between them.
expected = 59.9×2 + (57.7 − 31.6) + (−3.5 − 31.6) − 8.9 = 102 actual = 148 surprise = (148 − 102) / 2 = +23 each change = 23 × 0.20 (their learning rate after 8+ matches) = +4.6 2566C: 57.7 → 62.3
The partner is why the credit is large. Two average teams here would have been expected to score about 111; this pair was expected to manage 102 because one of them had been contributing almost nothing all season. Beating that by 46 points is evidence about 2566C, and the rating says so. That is the whole idea — a raw alliance-score average would have split the 148 evenly and called them both excellent.
Why an event level, and why only half of one
μ and δ are not separately identifiable from scores alone: add a constant to every μ and every δ and every prediction is unchanged. The V5RC schedule graph is nearly block-diagonal — regions barely play each other — so nothing pins the split inside a region, and δ would drift into absorbing the region's scoring level instead of anybody's defence. Regional level tracks partner quality, so an unanchored split shows up directly as unfairness. The event level is the anchor.
Subtracting the whole event level over-corrects the other way, because an event scores high partly because its teams are genuinely strong, and removing all of it throws that away. Half is what ships, and the surface is flat: anything between 0.3 and 0.7 performs about the same.
What the board shows
A rating is displayed — and ranked — shrunk toward the starting value by how much of the field has actually tested the team:
A team with 22 qualification matches in one region has not met the field a world board claims to rank it against, and this says so rather than pretending otherwise. It is display only — it never enters a prediction, so it cannot buy or cost accuracy. Early in a season everyone sits near the starting value, which is the honest picture when nobody has played anybody yet.
How it tested
Walk-forward across every V5RC match of the completed 2025–26 season: 1,790 events, 108,175 usable matches, 12,431 teams. Each match predicted using only matches that started before it. Every model — ours and all three competitors — is fitted on the first 60% of the season and graded on the last 40%, which it never saw.
| Model | Brier | Partner luck | Finals won by top 20 |
|---|---|---|---|
| Vantage Points | 0.1559 | 4.5% | 151 |
| Elo | 0.1585 | 14.6% | 188 |
| Average alliance score | 0.1611 | 32.7% | 139 |
| TrueSkill | 0.1630 | 14.0% | 210 |
VP predicts best and is the least contaminated by partner luck — and it does not have the best top twenty. TrueSkill's top twenty won 210 finals against our 161. That column comes from tournament results rather than from anybody's rating, which is exactly why it is here, and it does not flatter us.
There is a reason it might favour TrueSkill by construction — its published figure is a confidence-discounted one, so it rewards teams that have played a great many matches, and deep bracket runs are a great many matches. We are not going to lean on that to explain the number away. It is measured, it is published, and you can regenerate it.
Every model, and what it was given — parameters, and who fitted what
| Model | Parameters | Fitted? |
|---|---|---|
| Average alliance score | divisor 8 | fitted |
| Elo | k 48, kelim 24, scale 300 | fitted |
| TrueSkill | β 6.25, τ 1/3, draw 10% | fitted (β, τ) |
| Vantage Points | fast 0.50, slow 0.20, ramp 8, elim 1/3, spread 16, clip 2.5, warmup 200, defence 0.15, defence decay 0.97, level 0.5, level min 8, shrink 100 | fitted |
The defence rate is fitted on early-season data, on purpose. The value that is best on a completed season is measurably worse on a young one, and a young season is what a scout is looking at for most of the year. Fitting on the finished season would optimise for a regime nobody is actually in.
How we know it is not an artifact — placebo, bootstrap, sensitivity
Adding a term to a model almost always improves its fit to the data it was built on. These are the checks that distinguish a real gain from that:
| Test | Result |
|---|---|
| Does defence measure defence? | After both alliances’ offence is accounted for, a defending alliance’s rating still explains how far the score fell short: +0.019 of R², coefficient −1.43. The same figures shuffled between teams add 0.00005 at best over twenty draws |
| Bootstrap over events, 2,000 resamples | 95% CI on the margin over Elo [+0.0004, +0.0048]; 22 of 2,000 resamples showed no gain. Real, and narrow |
| Parameter sensitivity, 3×5 grid | 0.1515–0.1598 around the fitted values — no knife-edge, but not flat either |
| Season maturity | fitted on early-season data, not on the completed season it reports |
| Lookahead | a match is provably not folded into the event level used to judge it |
Reproducing this
node backtest/fetch.mjs 197 # crawl the season node backtest/published-table.mjs 197 # the table above, from the shipped code node backtest/fairness.mjs 197 # partner luck node backtest/opponent-luck.mjs 197 # the measurement that started this node test/rating.test.js # including the backward-compatibility guarantee
What VP cannot see
-
The prediction claim rests on the completed season, not the current one.
Override has roughly 720 gradable matches so far, and at that size no method here can be
told apart from another — every Brier on this season sits near 0.25, which is a coin
flip. What the current season does show is the fairness side: partner luck falls from
about 24% to about 5%.
© 2026 Vantage. All rights reserved. · Vantage · Docs · Privacy · Contact