Every round, the algorithm finds the mathematically best set of pairings for all players simultaneously. It uses graph theory to optimize globally — not just pairing one board at a time.
The result: fair, balanced rounds where your tournament performance determines your opponent — not your pre-tournament rating.
Rating has a tiny influence in round 1 only (to avoid wildly mismatched first games). From round 2 onward, your score in the tournament is what matters — you would need a 2,000-point rating gap to equal just 1 point of score difference.
Each potential pairing gets a cost score. Lower cost = better match. Here is how much each factor contributes:
The "No Rematches" bar is shown at the same scale as Score for readability — its actual penalty (+20) is 20 times larger, making rematches virtually impossible.
In round 1, every player has 0 points. Since score difference is 0 for all possible pairings, rating becomes the tiebreaker — pairing similarly-rated players together so everyone gets a competitive first game.
From round 2 onward, actual tournament scores dominate. Rating becomes noise.
These are promises the algorithm keeps every single round.
After round 1, tournament score is the dominant factor. Players with the same points face each other.
A massive +20 penalty makes it virtually impossible for you to face the same opponent twice.
The algorithm tracks your white/black game count and tries to alternate, so nobody is stuck with one color.
A gentle nudge in round 1 to avoid extreme mismatches. After that, you need a 2,000-point gap to equal 1 score point.
All pairings are decided simultaneously using graph theory — not one board at a time. The best overall result, not a greedy approximation.
This is called a "floater cascade" and it is a normal part of Swiss tournaments. Here is how it happens:
When a score group has an odd number of players, one player must "float" down to the next group. If that group is also odd (or empty), the floater keeps falling. In a tournament with many score groups, a single floater can end up 2 or even 3 points away from their original group.
This is not a bug — it is the mathematically optimal solution. The algorithm chose this pairing because it produces the best overall set of matches for every player, not just for you. One slightly larger gap lets all other pairings be tighter.
Almost not at all. Rating has a tiny weight (0.05 per 100 points) that only breaks ties when two pairings are otherwise equally good.
In round 1, when everyone has 0 points, rating is the main tiebreaker. This avoids scenarios like a 200-rated player facing a 2000-rated player in their very first game — we want everyone to have a fun, competitive start.
From round 2 onward, even a 1-point score difference (weight 1.0) dwarfs a 500-point rating gap (weight 0.025). Your tournament results determine your opponent, not your rating class.
Instead of pairing board 1, then board 2, then board 3 (which could leave bad matchups at the bottom), the algorithm considers every possible combination of pairings at once.
It uses a technique from graph theory called minimum weight perfect matching. Think of it as testing all possible tournament rounds and picking the one with the lowest total "unfairness cost". This guarantees the globally best result — not just a locally reasonable one.
Without any rating consideration, round 1 pairings would be essentially random (since all other factors are also equal when no games have been played). This could lead to extreme mismatches — a beginner rated 400 against a master rated 1900.
The small rating weight ensures round 1 gives everyone a competitive, enjoyable first game. It is the lightest touch possible — just enough to prevent absurd matchups without predetermining the tournament.