Combine Bench · Matchmaking Committee · 2026-05-01

Tuning the Combine.

matches in current run
replay 04-29100-trial MC
A live, in-browser port of the production matchmaking algorithm. Tweak any of the sixteen knobs on the left and the simulator re-runs the night against your config — replaying the two real combine nights of 2026-04-29 and 2026-04-30 (both run on the live production config: floor 200, ceiling 1000, base δ 30%, max 100%), or synthesising a fresh night from the empirical shape of those two and the 303-player active eligible pool. Pin a baseline and you can see exactly which knobs widened the skill spread or starved a tier of matches.
Matches popped
Unmatched %
p50 wait
p95 wait
Ideal % (1–1.5 SU)
Too wide % (≥2 SU)
Loading…

Skill spread distribution

Matches by intra-roster MMR spread, in skill units (one tier = 1 SU). The calibration sweet spot is 1–1.5 SU — wide enough for cross-tier signal, tight enough that the result still reflects skill rather than tier-gap. Anything ≥2 SU is too wide.
Same-tier (< 1 SU)
Roster all from one tier. No cross-tier observation — produces no calibration signal.
Ideal (1–1.5 SU)
The combine sweet spot. Cross-tier observation that we can actually trust.
Wide (1.5–2 SU)
Stretched but still inside the threshold. Acceptable; not preferred.
Too wide (≥ 2 SU)
Past the calibration threshold. Skill spread overwhelms tier signal; player experience degrades.

Per-tier wait time

For each tier, the line runs from p50 (median wait) to p95 (the unlucky tail). A short line means most players in that tier wait about the same; a long line means a few players got stuck while most matched fast.

Queue depth over time

Live queue size sampled every five seconds. Each on the bottom rug is a match popping; the red dashed line at ten is the pop threshold. A queue that monotonically grows past the threshold without popping is an algorithm that can't keep up with arrivals.

Pop cadence

Matches formed per ten-minute bucket. Flat = healthy. Long zero stretches = starvation period worth investigating.

Roster balance · |home – away| total MMR

Distribution of the absolute difference in summed MMR between home and away rosters, after the snake-draft. Lower is better — a 5v5 with a 100-MMR roster gap is essentially even, while a 400+ gap is a likely stomp. The snake draft on a sorted roster guarantees the gap is bounded by the tightest pair-gate window; this chart shows whether that bound holds in practice.

Same-tier vs mixed-tier matches, by tier

For each tier, what fraction of its match slots came from a same-tier match (every roster slot from this tier) versus a mixed-tier match (rosters drawing from two or more tiers). Mixed is the goal; a tier living entirely in same-tier matches is one the algorithm has not bridged across the gap. n = the tier's total slot count across all matches.

Match explorer

Every generated match plotted by its skill spread (intra-roster SU range) and roster balance (|home − away| MMR). Each dot is colored by the match's avg-MMR tier. Click any dot to inspect the full 10-player roster below — who got drafted to which side, their MMRs, types, and how the snake-draft balanced them.
Click a match in the scatter above to see its roster.

Lobby roster strips

Each row is one match. The ten dots show every player's raw MMR on the horizontal axis, colored by tier. Circles = home team, squares = away team after the snake draft. A row that's tightly clustered is a balanced match; a row with a long horizontal sweep crosses tiers.