AoXR — Average across rounds of a single competition
World recordAoXR is the average of the averages a competitor posted across all rounds in a single competition. X ∈ {1, 2, 3, 4}, depending on how many rounds they actually competed in.
It measures within-comp consistency: not luck-of-the-single, and broader than ao5 because every round counts.
By the numbers
4
Tiers
Ao1R / Ao2R / Ao3R / Ao4R
17
Events covered
All WCA events with averages
排名+历史
Two views
Current leaderboard + WR evolution timeline
< 1 ms
Lookup time
Precomputed JSON, no backend calls
Data source
Reads the WCA developer-dump results table — one row per round result — joined to persons (sub_id = 1) for the main identity and competitions for start_date / cell_name. Filters average > 0 (drops DNFs and not-attempted).
sql
SELECT event_id, average, round_type_id,
competition_id, person_id,
competition.start_date
FROM results
JOIN persons ON persons.wca_id = results.person_id
AND persons.sub_id = 1
JOIN competitions ON competitions.id = results.competition_id
WHERE average > 0
ORDER BY start_date;Algorithm / pipeline
1
Group by (competition, person)
Collect all round averages a single person posted at one competition. Key =
competition_id:person_id.2
Sort by round type, pick tier
Within a group, sort by
round_type_id (1/d → 2/e → 3/g → c/f). Bucket each group by its round count X (1, 2, 3, or 4) — each bucket feeds one of Ao1R / Ao2R / Ao3R / Ao4R.3
Take the mean
Plain arithmetic mean of the in-group averages (no trim like ao5) gives one number — that person's AoXR at that comp.
4
Ranking: per-person best, top 10
For each person, keep their single best (smallest) AoXR; sort across persons, top 10 per event.
5
WR history: strict refresh
Scan all (person, comp, AoXR) records by
start_date; keep only entries that strictly improve on the running minimum (ties don't count). Implemented by filterWrHistory(strict=true).Key formulae
Formula
AoXR(p, c) = (1/X) · Σᵢ averageᵢ(p, c, roundᵢ)
p = person, c = competition, roundᵢ = i-th round (sorted by type), averageᵢ = that round's average. X = number of rounds the person ran in that comp.
Gain % between consecutive WRs
gain = (prev − cur) / prev × 100%
Shown in the "Improvement" column of the History view; first row has no prev so the cell is blank.
Caveats & edges
- Only rounds with
average > 0count. DNF averages (-1) and not-attempted (0) are excluded — someone who ran 4 rounds with one DNF'd average lands in Ao3R, not Ao4R. - Two AoXRs on the same date from different comps are not merged — each comp is its own event.
- Different from WCA "Average of X solves" (ao5 / mo3) — here X counts rounds, not solves.
sub_id = 1filters out alt identities (renames, country changes — only the primary person row is kept).