The SwissSys documentation says that it calculates performance rating in accordance with USCF 34E.10:
(SwissSys)
A player’s performance rating is calculated by crediting the player with the opponent’s rating plus 400 points for wins, minus 400 points for losses, and the opponent’s rating for draws.
(USCF 34E.10)
Performance ratings are calculated by crediting the player with the opponent’s rating plus 400 points for a victory, the opponent’s rating minus 400 points for a loss, and the opponent’s rating for a draw.
But I’m looking at a tournament rating report where one player had wins against players rated 1708, 1881, 1933, 2224, 2088, 2344, 2188 and is calculated as having a performance rating of 2921, where 2921 is more than 400 points above the average opponent’s rating (more than 400 points above the highest opponent’s rating, in fact) and using the “opponent’s rating + 400” would result in a 2452 performance.
Anyone know if there’s something additionally magic in the SwissSys performance as shown on the rating reports?
Is this a previously unrated player? If, so the official formula will use 400 points higher than the highest rated opponent for an all-wins performance, but that is capped at 2700.
As to whether Swiss-Sys is doing it wrong, you’d have to ask them.
No. Their previous rating was an established 2871, which may be suspiciously 50 points below the performance of 2921.
I figure if they aren’t doing anything “wrong” but rather “it’s not the formula of 34E.10 for that display but rather [other formula]”, that this group might know.
You are asking about the performance rating, not the new rating. 400 above the highest opponent for an all-win result seems fine for a performance rating.
Assuming the OP had the right opponent ratings, 2921 was far more than 400 points above the highest rated opponent, so I don’t know what SwissSys was doing but it wasn’t a performance rating. (Performance ratings suck in general, though.)
That would be 2744, although I would have thought that 400 above the average would be the calculation given by Rule 34E.10. The performance rating SwissSys calculates is 2921, almost 600 points higher than the highest opponent rating.
Agreed, but we had a request to add performance ratings to our online crosstable displays and I wanted to understand what SwissSys is doing there as a result.
Probably best to direct that question to SwissSys’s new owners. I’m curious to know how responsive they are to questions, Thad was always pretty responsive.
Which version of SwissSys are you using? When I put in someone rated 2000 who had this result, the “Perf” comes out as 2452, which is what you were expecting.
I’m afraid you’ll have to draw your own conclusion on what is happening but I assume it’s saying your “Perf” can never actually be below your own rating, and of course a perfect score will always lead to an imperfect TPR, which is theoretically infinite.
Perhaps perf can’t be below your own rating with a perfect score anyway.
EDIT: Yes, SwissSys 11.75.
EDIT2: WinTD produces what I was expecting, the “linear” performance rating (2452).
EDIT3: I am beginning to believe that SwissSys is calculating what might be considered a “correct” performance rating, i.e. the rating that would have an expected score matching the observed score against the observed opponents, which I suspect is going to collapse down to the “Special rating formula” of Section 4.1 of the July 26, 2025 US Chess rating system specs.
Using the “Special rating formula” of Section 4.1 gets close for most of the players but does not quite get there; SwissSys may be using the more complete Section 4.2 formula (no response yet).
EDIT: closer by using the approximation given in https://www.glicko.net/ratings/rating.system.pdf for winning expectancy and solving for the rating that would match that result (with “current rating + 50” for a perfect score as a minimum). Still some divergent results though.
hmm, the cap is interesting. If you had a high level quad and someone went 3-0 against a player rated 2800, 2775, 2750 they’d have a performance rating of 2700. If they got 2.0 they’d get 2896. Wonder what the reason is for putting the cap in place
I believe that 2700 was chosen as the “this is the highest provisional rating we are willing to give a new player” level somewhat arbitrarily. If the player is higher than 2700, they can surely prove that in their next game.
Performance rating has nothing to do with you the player getting the performance rating. It is only about the opponents and your result against them. Hikaru or you would have the same performance rating with the same slate of players and results
The 2700 cap is part of the Special Formula, so no player who has 8 games or less at the start of an event can have a post-event rating higher than 2700.
There was considerable discussion of this in the Ratings Committee earlier this year, after it was suggested that the cap should be raised. In the end, the RC decided to leave the cap at 2700.
Looking at our tournament records, there were only a few cases of a player having an initial post-event rating higher than 2650, and all of them saw their ratings drop considerably in subsequent events, usually below 2500.
If a very strong GM (2700+ FIDE) were to enter the US Chess ratings system, that player’s initial estimate based on the FIDE rating would be higher than 2700 and would be based on 10 games, so the Special Formula cap would never be a factor.
the cap i’m talking about of 2700 is for the performance rating.
You can use this USCF resource and see that performance rating is not at all related to the player (and that it is capped at 2700). In fact, you do not even need the “Current Rating” to calc performance. You can further enter the example I pointed out of opponents rated 2800, 2775, 2750 with scores of 2.0 and 3.0 and see that the performance rating is higher for 2.0 than 3.0 which I was pointing out is nonsensical
in the quoted passage Psalm 34E.10 they are talking about performance rating for tiebreaker which seems to take shortcuts and further the example they use shows that even there the player’s own rating does not matter:
Since performance ratings are not a formal part of the US Chess Ratings System, I’m not sure where this discussion is headed. Third party programs are free to compute anything they want, but they should probably make it clear that those are not derived from the US Chess Ratings System specifications.
The Special Formula uses a method similar to the old +/- 400 points method for computing someone’s rating, but not identical to it.
I haven’t looked at the code for the Ratings Estimator, it may not have a 2700 cap in it. That tool will be retired and replaced with a new estimator once we move to Leago.
An estimate from the ratings estimator is just an estimate, it can differ from what the ratings system would compute, especially for extreme edge cases. That’s why it should not be used by players to decide whether or not to withdraw from an event just because the estimator says some particular ratings threshold would be achieved.