Math Meteor
Math Meteor
Reference math for the FIVB pipeline: how player Elo is updated, and how the matchup predictor blends career ratings with recent form and empirical score distributions.
How ELO Is Calculated
We use an Elo-style rating that updates after every match. Each player starts at 1500, and your rating goes up when you beat expectations and down when you underperform.
Each beach team’s pre-match strength is the average of its two players’ ratings.
Expected win chance comes from the rating gap between the two teams.
After the result, shift the team rating by surprise (actual minus expected). K is typically 32.
Split the team rating shift evenly across both teammates.
In clutchness Elo, multiply K by a round factor (deeper bracket rounds count more) and by tournament strength: FIVB points awarded for winning the event, normalized to a reference tier so majors count more than smaller stops.
round_w- Final — 2.0
- Semi — 1.5
- Quarter — 1.25
- Round of 16 — 1.1
- Pool — 0.75
- Default — 1.0
tournament_wFirst-place points ÷ 200. If VIS omits points, use 20 as the numerator (so weight = 20 ÷ 200).
How Matchup Prediction Works
The Matchup Predictor loads each player’s match history, derives a recent-form signal, combines it with career Elo, then estimates win probability and a distribution over final scores.
Win rate and average set differential use up to 12 recent matches with a score line;
elo_trend is defined separately from flat Elo on the ordered match list.
elo_trend = flat Elo after the newest match that has a rating, minus flat
Elo at the snapshot up to 12 rating entries earlier on that same list (0 if fewer than
two ratings).
Combine those signals into one number per player (same weighting as the live tool).
Average career Elo and form points across the two players on each team, then add them for the rating used in the match.
Same logistic as Elo: compare the two team ratings.
Score lines
After team win probability P(A), the predictor still has to pick plausible
set scores. Here is the pipeline in plain language.
-
Match → sets
Map overall match win probability to an implied per-set win rate under a best-of-three structure, so each set can be simulated with consistent odds.
-
Calibration tables
Sample set scores using
matchup_calibrationin the database: empirical distributions of loser points for 21- and 15-point sets, split into regular wins and overtime paths. -
Bundles & closeness
Set outcomes roll up into match bundles (2-0, 2-1, 1-2, 0-2). A closeness control nudges whether sets look tight or lopsided on the scoreboard.
Note. This is not a Monte Carlo simulation driven by fine-grained skills or rich per-player stats. The machinery stays relatively generic: match win probability, shared calibration tables, and a few simple controls — not a heavily customized, stat-by-stat model.