Andy C. answered 09/02/17
Tutor
4.9
(27)
Math/Physics Tutor
A seemingly natural way to do it is to calculate the percent difference between the player rankings,
then split the difference. This is effective in the event of an upset.
For example, suppose player A ranked #35 defeats player B ranked #21.
The percent difference is (35-21)/21 = 14/21 = 2/3 = 66 2/3 %
So player A improves 33 1/3% in rank while player B falls in rank by the same percentage.
That would put player A at 35 * (100% - 33 1/3%) = 35 * 66 2/3 % = 23
while player B drops to 21 * (100% + 33 1/3 %) = 21 * 1.33333.... = 28
In contrast, an upset by more evenly matched players has less of an effect.
This time, suppose player A, ranked 12 defeats player B ranked 10.
The percent difference this time is 20%, so each player improves/declines respectively, by 10%
90% of 12 = 10.8 while 10 increased by 10% is 11.
Splitting the decimal points, Player A will be ranked 10th and player B ranked 11.
The non upset algorithm works similarly but in the opposite direction. A highly ranked player
will not benefit much from defeating a lower ranked player. This can be done by reversing the
increase/decrease of the percentage above.
A no show penalty can be done similarly.
Google ranking algorithms for other viable options.
Andy C.
09/02/17