lichess.org
Donate

Mistakes with Unplayed Games in Sonneborn-Berger Calculation

In Swisses, the Sonneborn-Berger tie-breaks are not calculated correctly.

For example, see the player in 85th place in this tournament: lichess.org/swiss/ILOHq9MS

He has 2 points, and SB of 4. He played two games which should count towards the SB score:
Round 1: Full-point bye
Round 2: Win v player who scored 4 points

It seems as though the Round 2 game is the only score included in the SB calculation.

However, points should also be added for the Round 1 game. See 13.15.2 here: handbook.fide.com/files/handbook/C02Standards.pdf

"For tie-break purposes a player who has no opponent will be considered as having played against a virtual opponent who has the same number of points at the beginning of the round and who draws in all the following rounds. For the round itself the result by forfeit will be considered as a normal result. "

Therefore, in this case, the virtual opponent has 0 points before Round 1 (of course!), loses in Round 1 to the bye, and then in Rounds 3-6 is awarded the equivalent of a draw. So the Round 1 result is not just a full-point bye, but it for the purposes of SB calculation it the equivalent of a win against a player who scored 2.5 points. Therefore, this player's SB should have been 6.5.

13.15.3 is also relevant.
#1
Per FIDE handbook Sonneborn-Berger should not be used at all a tiebreaker for swiss: it should be modified buchholz.
The document provides recommendations. People are at liberty to choose whatever tie-breaks they want. If Lichess wants to use it then fine ... but it would be good for it to be calculated properly.
#3
That is right, but it is the deviation from the recommendations that causes your problem.
Sonneborn-Berger is unsuitable for handling byes. Even regular Buchholz is unsuitable for handling byes, that is why Buchholz cut 1 is recommended, so the eventual bye is cut away.

13.16.4. Individual Swiss Tournaments where not all the ratings are consistent:
Buchholz Cut 1
Buchholz
Sonneborn-Berger
Cumulative system - Sum of Progressive Scores
Direct encounter
The greater number of wins including forfeits
The greater number of wins with Black pieces

13.16.5. Individual Swiss Tournaments where all the ratings are consistent:
Buchholz Cut 1
Buchholz
Direct encounter
AROC
The greater number of wins including forfeits
The greater number of wins with Black pieces
The greater number of games with Black (unplayed games shall
be counted as played with White)
Sonneborn-Berger

handbook.fide.com/files/handbook/C02Standards.pdf
Software is complicated... here's what I remember:
* Other Lichess developers had opinions about which tiebreak system is best
* I had an opinion about which tiebreak system is best
* We had a discussion and picked something (unfortunately even Google search seems to be unable to find in GitHub that discussion)
@Toadofsky the issue isn't the choice of tie-break. I really don't care what tie-break Lichess uses. What I do care about, is that it is calculated correctly...
@tpr "Even regular Buchholz is unsuitable for handling byes, that is why Buchholz cut 1 is recommended, so the eventual bye is cut away."

That isn't correct. Buchholz Cut 1 doesn't cut the bye away. The bye is still handled as a virtual opponent, and if that score is higher than a "real" opponent, then you keep the virtual opponent and lose the real one.
#6 Right, so we need to (somehow, I don't know how) figure out which tie-break Lichess selected, or simply assert that whatever was selected is implemented correctly.
@Toadofsky

We know that Lichess uses Sonneborn-Berger, because it says so in the help file.

That's fine, but Lichess is currently calculating Sonneborn-Berger incorrectly because it is not factoring in virtual opponents.
@alexholowczak
I wouldn't say that Lichess is calculating Sonneborn-Berger incorrectly. As you've said in the other thread, the FIDE handbook is just providing recommendations, and Lichess just doesn't apply this recommendation. At least in SwissChess it's a switch in the settings where the organiser is free to turn it on or off, it's only enforced for official FIDE tournaments.

For OTB it may make sense when players withdraw early. Here on Lichess, especially in big events, much bigger than possible at OTB, with loads of late joins, withdrawals and on and off players, you cannot compensate for all eventualities anyway. I don't know how much extra load would be produced by keeping track of all unplayed rounds and virtual opponents, for in my eyes little benefit.

The main reason why I prefer to not apply the FIDE correction even in OTB tournaments, if possible, is that all players are able to do tie-break calulations in their head because it's based simply on the plain opponent's scores.

This topic has been archived and can no longer be replied to.