Answers.Body: <p>Section 1.48 of the <a href="https://www.fide.com/fide/handbook.html?id=198&amp;view=article" rel="noreferrer">FIDE Title Regulations effective from 1 July 2017</a> specifies how the performance rating is calculated. The average rating of the opponents is adjusted by a value determined by looking up the percentage score in a table.</p>
  
  <p>For example, after Round 12 of the <a href="https://en.wikipedia.org/wiki/Candidates_Tournament_2018" rel="noreferrer">2018 Candidates Tournament</a>, Ding Liren had 6.5 out of 12 points, for a rounded percentage score of 54%. According to the table, this corresponds to an adjustment of +29. The rounded average rating of his opponents was</p>
  
  <p>(2763 + 2 * 2794 + 2 * 2809 + 2 * 2767 + 2 * 2784 + 2 * 2799 + 2800) / 12 ~= 2789,</p>
  
  <p>so his performance rating at this point was 2789 + 29 = 2818, as you can see in this screenshot:</p>
  
  <p><a href="https://i.sstatic.net/WOygr.png" rel="noreferrer"><img src="https://i.sstatic.net/WOygr.png" alt="enter image description here"></a></p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2018-03-25T11:35:41.640Z
Answers.LastActivityDate: 2018-03-25T11:35:41.640Z
Answers.UserDisplayName: joriki
Answers.Body: <p>This answer spells out the actual calculation of performance rating for USCF tournaments, as in the <a href="http://www.uschess.org/index.php/Players-Ratings/Do-NOT-edit-CLOSE-immediately.html" rel="nofollow noreferrer">June 2017 Rating Estimator</a> that Fred Knight's answer points to. If you view the page source at that link, the calculation is given in the form of the code for the <code>performanceRating</code> function.</p>
  <p>Aside from details about whether one has an established rating and such, the basic calculation that it performs for an established player is as follows:</p>
  <ol>
  <li><p>When a player with rating <code>playerRating</code> takes on an opponent whose rating is <code>opponentRating</code>, her expected score for the game is given by the formula <code>1 / (10^(opponentRating - playerRating) / 400) + 1)</code>, which will be a number between 0 and 1.</p>
  </li>
  <li><p>The <code>performanceRating</code> function makes a guess at the <code>playerRating</code>, and sums up the results from step 1 across all the games entered for the player. That sum is the total score a player with that rating would be expected to get against the listed opponents.</p>
  </li>
  <li><p>Depending on whether the total expected score from step 2 is higher or lower than the player's actual tournament score as entered in the estimator, the <code>performanceRating</code> function iteratively adjusts its guess up or down as needed until it narrows in on the <code>playerRating</code> value that yields an expected score that matches the actual tournament score. That is then the player's <em>performance rating</em> for the tournament.</p>
  </li>
  </ol>
  <p>In case anyone wants something less opaque than the estimator's source code, <a href="https://docs.google.com/spreadsheets/d/19yWu1PxCDwx0phTqeoKzdyP21FiRUgNfp6B6vktSND0/copy" rel="nofollow noreferrer">here is a Google sheet</a> that allows one to enter opponent ratings and total tournament score as in the USCF estimator, and then iteratively guess performance ratings manually. You should find that the performance rating result matches that of the estimator (again, at least in an ordinary situation not among the various exceptions that the estimator's <code>performanceRating</code> function deals with).</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-07-15T23:25:13.743Z
Answers.LastActivityDate: 2021-07-15T23:31:19.873Z
Answers.LastEditDate: 2021-07-15T23:31:19.873Z
Answers.UserDisplayName: ETD
Answers.Body: <p>TPR calculators and expected rating change.</p>
  
  <p><a href="http://englishchess.org.uk/Juniors/tournament-performance-calculator/" rel="noreferrer">http://englishchess.org.uk/Juniors/tournament-performance-calculator/</a>
  <a href="http://www.uschess.org/content/view/13146/836/" rel="noreferrer">http://www.uschess.org/content/view/13146/836/</a></p>
  
  <p>Basically Performance rating is the average of your opponent's ratings with an adjustment based on the score of the game.  For each win, you add your opponent's rating + 400, a draw is just your opponent's rating, and a loss is your opponent's rating - 400.  There is an exception for a perfect score, then the adjustment is 800.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-07-31T17:14:23.207Z
Answers.Text: The links are nice, but the explanation you provide doesn't match with the results from the calculators.  In the USCF, a perfect score gives an adjustment of 400, not 800.  And rating plus or minus 400 for non-perfect scores might be a crude estimate, but it is by no means the formula they actually use, for either USCF or FIDE.
Answers.UserDisplayName: D M
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-07-31T17:38:01.233Z
Answers.Text: Watching FIDE tournaments gives the adjustment.  I watched neither a USCF nor an England tournament, so I can't verify those.  I do know that USCF uses a percentage likely to win to find their adjustment.
Answers.UserDisplayName: Fred Knight
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-07-31T13:03:40.087Z
Answers.LastActivityDate: 2017-07-31T13:03:40.087Z
Answers.UserDisplayName: Fred Knight
Body: <p>How do you calculate your Tournament Performance Rating?</p>
  
  <p>I can think about two different ways to answer my question:</p>
  
  <ol>
  <li><p>Do you know the formula for calculating your TPR (FIDE or USCF)?</p></li>
  <li><p>Can you link me to a FIDE TPR calculator and then a USCF TPR calculator? </p>
  
  <ul>
  <li>I recall that rating change calculators have this TPR function.</li>
  </ul></li>
  </ol>
  
Tags: <rating><tournament><mathematics><performance>
Title: How do you calculate your Tournament Performance Rating?
ThreadText: # How do you calculate your Tournament Performance Rating?
  
  (Asked by: username_0 on 2017-07-31)
  
  How do you calculate your Tournament Performance Rating?
  
  I can think about two different ways to answer my question:
  
  1. Do you know the formula for calculating your TPR (FIDE or USCF)?
  2. Can you link me to a FIDE TPR calculator and then a USCF TPR calculator?
  
     * I recall that rating change calculators have this TPR function.
  
  **Tags:** rating, tournament, mathematics, performance
  
  
  ---
  
  ## 3 answers
  
  ### Answer by username_3 on 2017-07-31. Score: 8 | Accepted answer
  
  TPR calculators and expected rating change.
  
  <http://englishchess.org.uk/Juniors/tournament-performance-calculator/>
  <http://www.uschess.org/content/view/13146/836/>
  
  Basically Performance rating is the average of your opponent's ratings with an adjustment based on the score of the game. For each win, you add your opponent's rating + 400, a draw is just your opponent's rating, and a loss is your opponent's rating - 400. There is an exception for a perfect score, then the adjustment is 800.
  
  > **Comments:**
  > **username_4**: The links are nice, but the explanation you provide doesn't match with the results from the calculators.  In the USCF, a perfect score gives an adjustment of 400, not 800.  And rating plus or minus 400 for non-perfect scores might be a crude estimate, but it is by no means the formula they actually use, for either USCF or FIDE.  
  > **username_3**: Watching FIDE tournaments gives the adjustment.  I watched neither a USCF nor an England tournament, so I can't verify those.  I do know that USCF uses a percentage likely to win to find their adjustment.  
  
  ---
  
  ### Answer by username_1 on 2018-03-25. Score: 7
  
  Section 1.48 of the [FIDE Title Regulations effective from 1 July 2017](https://www.fide.com/fide/handbook.html?id=198&view=article) specifies how the performance rating is calculated. The average rating of the opponents is adjusted by a value determined by looking up the percentage score in a table.
  
  For example, after Round 12 of the [2018 Candidates Tournament](https://en.wikipedia.org/wiki/Candidates_Tournament_2018), Ding Liren had 6.5 out of 12 points, for a rounded percentage score of 54%. According to the table, this corresponds to an adjustment of +29. The rounded average rating of his opponents was
  
  (2763 + 2 \* 2794 + 2 \* 2809 + 2 \* 2767 + 2 \* 2784 + 2 \* 2799 + 2800) / 12 ~= 2789,
  
  so his performance rating at this point was 2789 + 29 = 2818, as you can see in this screenshot:
  
  [![enter image description here](https://i.sstatic.net/WOygr.png)](https://i.sstatic.net/WOygr.png)
  
  
  ---
  
  ### Answer by username_2 on 2021-07-15. Score: 2
  
  This answer spells out the actual calculation of performance rating for USCF tournaments, as in the [June 2017 Rating Estimator](http://www.uschess.org/index.php/Players-Ratings/Do-NOT-edit-CLOSE-immediately.html) that username_3's answer points to. If you view the page source at that link, the calculation is given in the form of the code for the `performanceRating` function.
  
  Aside from details about whether one has an established rating and such, the basic calculation that it performs for an established player is as follows:
  
  1. When a player with rating `playerRating` takes on an opponent whose rating is `opponentRating`, her expected score for the game is given by the formula `1 / (10^(opponentRating - playerRating) / 400) + 1)`, which will be a number between 0 and 1.
  2. The `performanceRating` function makes a guess at the `playerRating`, and sums up the results from step 1 across all the games entered for the player. That sum is the total score a player with that rating would be expected to get against the listed opponents.
  3. Depending on whether the total expected score from step 2 is higher or lower than the player's actual tournament score as entered in the estimator, the `performanceRating` function iteratively adjusts its guess up or down as needed until it narrows in on the `playerRating` value that yields an expected score that matches the actual tournament score. That is then the player's *performance rating* for the tournament.
  
  In case anyone wants something less opaque than the estimator's source code, [here is a Google sheet](https://docs.google.com/spreadsheets/d/19yWu1PxCDwx0phTqeoKzdyP21FiRUgNfp6B6vktSND0/copy) that allows one to enter opponent ratings and total tournament score as in the USCF estimator, and then iteratively guess performance ratings manually. You should find that the performance rating result matches that of the estimator (again, at least in an ordinary situation not among the various exceptions that the estimator's `performanceRating` function deals with).
  
  
  ---
  
  