I've been for a while trying to figure out the skill points rating system used by Wii Sports Tennis. I think I have it mostly figured out for the case of always the same rivals. My current problem is how the next rivals' skill level is determined.
First, a brief intro. The ranking system only applies to playing against the computer (otherwise I guess it would be too easy to cheat by playing against an unresponsive player). It rewards you more the more skilled your rivals are, the better score you get and the lower your ranking is, and penalizes you harder the higher your ranking is, the lower your score is and the worse your rivals are. If you win, your rivals' skill grows (up to a maximum); if you lose, it decreases (down to a minimum). There, I said it was brief.
The variables that influence the skill points are: current skill, current rival's skill, and score in each game (note "game", not "match", though I haven't thoroughly investigated multiple game matches). How exactly?
The skill points are a floating point number, of which only its integer part (its floor, i.e. rounded down, not rounded to nearest) is visible. A combination of the game score and the rival's skill gives the limit (the asymptote) for an exponential decay function that when starting with zero points, has the form a·(1-b-t) for a certain asymptote a and a certain base b which equals 20/19 in this case, with t being the number of games played so far. That function is "factory-tuned" as follows: first, with a zero skill rival and starting at zero points, depending on the score you get, you earn the following skill points:
- Win 40-0: 60 points
- Win 40-15: 52.5 points
- Win 40-30: 45 points
- Win Adv-40: 40 points
- Lose 40-Adv: 20 points
- Lose 30-40: 15 points
- Lose 15-40: 7.5 points
- Lose 0-40: 0 points
(Note it doesn't matter how you reach the win or lose situation, or how many times you get to deuce during a game; only the final result matters). The asymptote of the exponential function will always be 20 times that value:
- Series of 40-0 wins: the asymptote will be 1200 points
- Series of 40-15 wins: the asymptote will be 1050 points
- Series of 40-30 wins: the asymptote will be 900 points
- Series of Adv-40 wins: the asymptote will be 800 points
- Series of 40-Adv losses: the asymptote will be 400 points
- Series of 30-40 losses: the asymptote will be 300 points
- Series of 15-40 losses: the asymptote will be 150 points
- Series of 0-40 losses: the asymptote will be 0 points
Based on the above, we can now figure out the function and parameters for a zero skill rival. Here it is:
Snew = (a + 19·Sprevious)/20
where a is the asymptote, and Sprevious and Snew are the skill points before and after the game, respectively. The 20 (and the 19 which is just one less than that) is the multiplier between the score in the first game and the corresponding asymptote as explained above.
The effect of the rival's skill seems to be to offset the asymptote. When the rival's skill is maxed out (Elisa and Sarah), the offset is 1200. That gives the famous asymptote of 2400 that nobody can reach (because that's how asymptotes work). For example, if you won all your games by 40-15 against Elisa and Sarah, the asymptote would be 2250 (1200+1050). That also means that when you get a skill of 2250 or more, you always lose points if you don't win 40-0 (ok, ok, technically it's more proper to say that you never earn points).
(By the way, there's a couple claims of reaching more than 2399 points but I don't believe them. One claims to get 2403 but it's obviously fake; the other claims 2400 exactly.)
The only big remaining problem I have is how to determine what's the skill of the next rival you will confront. Using a spreadsheet, I've found that the asymptote offset seems to resemble a sigmoid function as the player keeps winning, which is funny because the Elo rating system uses it, though not in the same way, I think (I know very little about it so I can't judge). And not only the offset needs to be determined, but it would be nice to find out the actual ranking too. There seems to be some kind of higher level rounding in the rivals' visible skills: you don't face rivals with a skill of 1317, for example; they are rounded to 1300.
Other problems I have not investigated are how a second player affects your rating, and how exactly your score varies in case of a multi-set match. If you win all games of a match with the same score, the effect on the skill points seems to be like playing these games in one-game matches one by one, except that the rivals' skill doesn't change.
Game Logs
If you want to help, here are some logs of scores I got from the game and the values I got from the spreadsheet. If there is a testable hypothesis that you think could be resolved with an experiment to help determine the rivals formula, but don't feel like launching Tennis just to test, please say so in the comments, and I may take the task of finding out the result. Currently I'm quite lost on how to determine it.
The first table below determines how many points you get at start. It gave me the first hints on how the scoring system works. Note that even if the points are rounded down, the skill raises to 8 and 53 instead of 7 and 52 for 15-40 and 40-15 respectively. That's because the first rivals skill is not zero, and that difference makes that score give something between 0.5 and 1 more points, that bumps the number. I actually tested that later (see Table 6 below).
Unlike the rest, this table is restarted using a new guest player at every row. The rest are restarted only for the first row.
Rivals skill | Skill before | Score | Points | Skill after | Next rivals skill |
---|---|---|---|---|---|
63/49 | 0 | 40-0 | +60 | 60 | 83/65 |
63/49 | 0 | 40-15 | +53 | 53 | 78/49 |
63/49 | 0 | 40-30 | +45 | 45 | 73/49 |
63/49 | 0 | Adv-40 | +40 | 40 | 70/49 |
63/49 | 0 | 40-Adv | +20 | 20 | 57/35 |
63/49 | 0 | 30-40 | +15 | 15 | 54/35 |
63/49 | 0 | 15-40 | +8 | 8 | 50/35 |
63/49 | 0 | 0-40 | ±0 | 0 | 45/23 |
Now a series of all 40-0. It's interesting to note that at first, the skill increment decreases, but as the rivals' skill rate grows, the increment rate goes from decreasing to increasing and keeps being that way until dealing with the best rivals, at which moment it suddenly switches to decreasing again.
Rivals skill | Skill before | Score | Points | Skill after | Next rivals skill |
---|---|---|---|---|---|
63/49 | 0 | 40-0 | +60 | 60 | 83/65 |
83/65 | 60 | 40-0 | +58 | 118 | 120/100 |
120/100 | 118 | 40-0 | +55 | 173 | 190/160 |
190/160 | 173 | 40-0 | +54 | 227 | 270/230 |
270/230 | 227 | 40-0 | +53 | 280 | 380/340 |
380/340 | 280 | 40-0 | +53 | 333 | 520/490 |
520/490 | 333 | 40-0 | +53 | 386 | 670/650 |
670/650 | 386 | 40-0 | +55 | 441 | 850/840 |
850/840 | 441 | 40-0 | +57 | 498 | 1100/1000 |
1100/1000 | 498 | 40-0 | +61 | 559 | 1300/1200 |
1300/1200 | 559 | 40-0 | +65 | 624 | 1500/1400 |
1500/1400 | 624 | 40-0 | +68 | 692 | 1600/1600 |
1600/1600 | 692 | 40-0 | +71 | 763 | 1800/1800 |
1800/1800 | 763 | 40-0 | +72 | 835 | 1900/1800 |
1900/1800 | 835 | 40-0 | +73 | 908 | 1900/1900 |
1900/1900 | 908 | 40-0 | +73 | 981 | 2000/1900 |
2000/1900 | 981 | 40-0 | +71 | 1052 | 2000/1900 |
2000/1900 | 1052 | 40-0 | +67 | 1119 | 2000/1900 |
2000/1900 | 1119 | 40-0 | +64 | 1183 | 2000/1900 |
2000/1900 | 1183 | 40-0 | +61 | 1244 | 2000/1900 |
2000/1900 | 1244 | 40-0 | +58 | 1302 | 2000/1900 |
2000/1900 | 1302 | 40-0 | +55 | 1357 | 2000/1900 |
2000/1900 | 1357 | 40-0 | +52 | 1409 | 2000/1900 |
2000/1900 | 1409 | 40-0 | +49 | 1458 | 2000/1900 |
2000/1900 | 1458 | 40-0 | +47 | 1505 | 2000/1900 |
2000/1900 | 1505 | 40-0 | +45 | 1550 | 2000/1900 |
2000/1900 | 1550 | 40-0 | +43 | 1593 | 2000/1900 |
2000/1900 | 1593 | 40-0 | +40 | 1633 | 2000/1900 |
2000/1900 | 1633 | 40-0 | +38 | 1671 | 2000/1900 |
2000/1900 | 1671 | 40-0 | +37 | 1708 | 2000/1900 |
2000/1900 | 1708 | 40-0 | +34 | 1742 | 2000/1900 |
2000/1900 | 1742 | 40-0 | +33 | 1775 | 2000/1900 |
2000/1900 | 1775 | 40-0 | +31 | 1806 | 2000/1900 |
2000/1900 | 1806 | 40-0 | +30 | 1836 | 2000/1900 |
2000/1900 | 1836 | 40-0 | +28 | 1864 | 2000/1900 |
2000/1900 | 1864 | 40-0 | +27 | 1891 | 2000/1900 |
2000/1900 | 1891 | 40-0 | +25 | 1916 | 2000/1900 |
2000/1900 | 1916 | 40-0 | +25 | 1941 | 2000/1900 |
2000/1900 | 1941 | 40-0 | +22 | 1963 | 2000/1900 |
2000/1900 | 1963 | 40-0 | +22 | 1985 | 2000/1900 |
2000/1900 | 1985 | 40-0 | +21 | 2006 | 2000/1900 |
2000/1900 | 2006 | 40-0 | +20 | 2026 | 2000/1900 |
2000/1900 | 2026 | 40-0 | +18 | 2044 | 2000/1900 |
2000/1900 | 2044 | 40-0 | +18 | 2062 | 2000/1900 |
2000/1900 | 2062 | 40-0 | +17 | 2079 | 2000/1900 |
2000/1900 | 2079 | 40-0 | +16 | 2095 | 2000/1900 |
2000/1900 | 2095 | 40-0 | +15 | 2110 | 2000/1900 |
2000/1900 | 2110 | 40-0 | +15 | 2125 | 2000/1900 |
2000/1900 | 2125 | 40-0 | +13 | 2138 | 2000/1900 |
2000/1900 | 2138 | 40-0 | +13 | 2151 | 2000/1900 |
2000/1900 | 2151 | 40-0 | +13 | 2164 | 2000/1900 |
2000/1900 | 2164 | 40-0 | +12 | 2176 | 2000/1900 |
2000/1900 | 2176 | 40-0 | +11 | 2187 | 2000/1900 |
A series of 0-40 followed by a series of 40-0. Observe how our skill increases to 1 even if we were losing from the very beginning. That's because the rivals' skill was not zero, thus the asymptote goes a bit over 1. But as games progress and rivals are weaker, that point drops again. Note also how the second rival's skill increases at some point. I believe that what we see is the absolute value of the second rival's computed skill, which goes actually down to -4 (from 4/0 to 4/-3 to 2/-4 to 1/-4 to 0/-4).
Rivals skill | Skill before | Score | Points | Skill after | Next rivals skill |
---|---|---|---|---|---|
63/49 | 0 | 0-40 | ±0 | 0 | 45/23 |
45/23 | 0 | 0-40 | ±0 | 0 | 32/12 |
32/12 | 0 | 0-40 | +1 | 1 | 23/12 |
23/12 | 1 | 0-40 | ±0 | 1 | 17/4 |
17/4 | 1 | 0-40 | ±0 | 1 | 12/0 |
12/0 | 1 | 0-40 | ±0 | 1 | 8/0 |
8/0 | 1 | 0-40 | ±0 | 1 | 6/0 |
6/0 | 1 | 0-40 | ±0 | 1 | 4/0 |
4/0 | 1 | 0-40 | ±0 | 1 | 4/3 |
4/3 | 1 | 0-40 | ±0 | 1 | 2/4 |
2/4 | 1 | 0-40 | ±0 | 1 | 2/4 |
2/4 | 1 | 0-40 | ±0 | 1 | 1/4 |
1/4 | 1 | 0-40 | -1 | 0 | 1/4 |
1/4 | 0 | 0-40 | ±0 | 0 | 1/4 |
1/4 | 0 | 0-40 | ±0 | 0 | 0/4 |
0/4 | 0 | 0-40 | ±0 | 0 | 0/4 |
0/4 | 0 | 0-40 | ±0 | 0 | 0/4 |
0/4 | 0 | 0-40 | ±0 | 0 | 0/4 |
0/4 | 0 | 0-40 | ±0 | 0 | 0/4 |
0/4 | 0 | 0-40 | ±0 | 0 | 0/4 |
0/4 | 0 | 0-40 | ±0 | 0 | 0/4 |
0/4 | 0 | 0-40 | ±0 | 0 | 0/4 |
0/4 | 0 | 40-0 | +60 | 60 | 6/0 |
6/0 | 60 | 40-0 | +57 | 117 | 27/12 |
27/12 | 117 | 40-0 | +54 | 171 | 68/49 |
68/49 | 171 | 40-0 | +52 | 223 | 130/100 |
130/100 | 223 | 40-0 | +51 | 274 | 220/180 |
220/180 | 274 | 40-0 | +49 | 323 | 340/310 |
340/310 | 323 | 40-0 | +50 | 373 | 480/460 |
480/460 | 373 | 40-0 | +50 | 423 | 640/620 |
640/620 | 423 | 40-0 | +52 | 475 | 820/800 |
820/800 | 475 | 40-0 | +55 | 530 | 1000/990 |
1000/990 | 530 | 40-0 | +58 | 588 | 1300/1200 |
1300/1200 | 588 | 40-0 | +63 | 651 | 1500/1400 |
1500/1400 | 651 | 40-0 | +66 | 717 | 1600/1600 |
Results for a short series of three-game matches won 40-0, 40-0:
Rivals skill | Skill before | Score 1st game | Score 2nd game | Score 3rd game | Points | Skill after | Next rivals skill |
---|---|---|---|---|---|---|---|
63/49 | 0 | 40-0 | 40-0 | - | +118 | 118 | 120/100 |
120/100 | 118 | 40-0 | 40-0 | - | +108 | 226 | 270/230 |
270/230 | 226 | 40-0 | 40-0 | - | +103 | 329 | 520/490 |
Same for a short series of five-game matches won 40-0, 40-0, 40-0:
Rivals skill | Skill before | Score 1st game | Score 2nd game | Score 3rd game | Score 4th game | Score 5th game | Points | Skill after | Next rivals skill |
---|---|---|---|---|---|---|---|---|---|
63/49 | 0 | 40-0 | 40-0 | 40-0 | - | - | +172 | 172 | 190/160 |
190/160 | 172 | 40-0 | 40-0 | 40-0 | - | - | +154 | 326 | 540/440 |
540/440 | 326 | 40-0 | 40-0 | 40-0 | - | - | +173 | 479 | 1100/1000 |
In the next series, I first went as close to 0.0 points as my patience could bear, with the rivals as low as possible. Then I scored a 15-40 to confirm my hypothesis that the points are rounded down, not to nearest, by checking whether it went up to 7 or to 8. As I expected, it went up to only 7, proving my hypothesis. Then I did a few more experiments to get a bit more understanding on how the rates of the rivals worked, specifically if they never increased if I lost, even if my skill increased. That seems to be the case, but I need more experimenting in this field.
Rivals skill | Skill before | Score | Points | Skill after | Next rivals skill |
---|---|---|---|---|---|
(First 15 rows as in Table 3) | |||||
0/4 | 0 | 0-40 | ±0 | 0 | 0/4 |
(Repeat the previous row 24 more times, total 25 times) | |||||
0/4 | 0 | 15-40 | +7 | 7 | 0/4 |
0/4 | 7 | 0-40 | -1 | 6 | 0/4 |
0/4 | 6 | 0-40 | ±0 | 6 | 0/4 |
0/4 | 6 | 0-40 | ±0 | 6 | 0/4 |
0/4 | 6 | 0-40 | -1 | 5 | 0/4 |
0/4 | 5 | 0-40 | ±0 | 5 | 0/4 |
0/4 | 5 | 0-40 | ±0 | 5 | 0/4 |
0/4 | 5 | 0-40 | ±0 | 5 | 0/4 |
0/4 | 5 | 0-40 | -1 | 4 | 0/4 |
0/4 | 4 | 0-40 | ±0 | 4 | 0/4 |
0/4 | 4 | 0-40 | ±0 | 4 | 0/4 |
0/4 | 4 | 0-40 | ±0 | 4 | 0/4 |
0/4 | 4 | 0-40 | -1 | 3 | 0/4 |
0/4 | 3 | 0-40 | ±0 | 3 | 0/4 |
0/4 | 3 | 0-40 | ±0 | 3 | 0/4 |
0/4 | 3 | 0-40 | ±0 | 3 | 0/4 |
0/4 | 3 | 0-40 | ±0 | 3 | 0/4 |
0/4 | 3 | 0-40 | ±0 | 3 | 0/4 |
0/4 | 3 | 0-40 | -1 | 2 | 0/4 |
0/4 | 2 | 0-40 | ±0 | 2 | 0/4 |
0/4 | 2 | 0-40 | ±0 | 2 | 0/4 |
0/4 | 2 | 0-40 | ±0 | 2 | 0/4 |
0/4 | 2 | 0-40 | ±0 | 2 | 0/4 |
0/4 | 2 | 0-40 | ±0 | 2 | 0/4 |
0/4 | 2 | 0-40 | ±0 | 2 | 0/4 |
0/4 | 2 | 0-40 | ±0 | 2 | 0/4 |
0/4 | 2 | 0-40 | -1 | 1 | 0/4 |
0/4 | 1 | 0-40 | ±0 | 1 | 0/4 |
0/4 | 1 | 0-40 | ±0 | 1 | 0/4 |
0/4 | 1 | 0-40 | ±0 | 1 | 0/4 |
0/4 | 1 | 0-40 | ±0 | 1 | 0/4 |
0/4 | 1 | 0-40 | ±0 | 1 | 0/4 |
0/4 | 1 | 0-40 | ±0 | 1 | 0/4 |
0/4 | 1 | 0-40 | ±0 | 1 | 0/4 |
0/4 | 1 | 0-40 | ±0 | 1 | 0/4 |
0/4 | 1 | 0-40 | ±0 | 1 | 0/4 |
0/4 | 1 | 0-40 | ±0 | 1 | 0/4 |
0/4 | 1 | 0-40 | ±0 | 1 | 0/4 |
0/4 | 1 | 0-40 | ±0 | 1 | 0/4 |
0/4 | 1 | 0-40 | -1 | 0 | 0/4 |
0/4 | 0 | 15-40 | +8 | 8 | 0/4 |
0/4 | 8 | 0-40 | ±0 | 8 | 0/4 |
0/4 | 8 | 0-40 | -1 | 7 | 0/4 |
0/4 | 7 | 15-40 | +7 | 14 | 0/4 |
0/4 | 14 | 15-40 | +7 | 21 | 0/4 |
0/4 | 21 | 15-40 | +6 | 27 | 0/4 |
0/4 | 27 | 15-40 | +7 | 34 | 0/4 |
0/4 | 34 | 30-40 | +13 | 47 | 0/4 |
0/4 | 47 | 40-Adv | +17 | 64 | 0/4 |
0/4 | 64 | Adv-40 | +37 | 101 | 1/4 |
This time I went close to zero again, then tested several series of scores. That allowed me to test what the asymptotes were for scores from 0-40 to 40-Adv, while keeping the rivals' scores minimized. It's the longest-running experiment. Believe me, it was tedious to do, but the results were worth it. I gave up on checking if the asymptotes were really asymptotes after 50 tries in two cases. I also tried "jumping to the other side" of the asymptote in the case of 400, just to be sure. For some of them, I suspected what the asymptotes were, so I scored the necessary points to get there as fast as possible without crossing the line.
Rivals skill | Skill before | Score | Points | Skill after | Next rivals skill |
---|---|---|---|---|---|
(First 15 rows as in Table 3) | |||||
0/4 | 0 | 0-40 | ±0 | 0 | 0/4 |
(Repeat the previous row 29 more times, total 30 times) | |||||
0/4 | 0 | 40-Adv | +20 | 20 | 0/4 |
0/4 | 20 | 40-Adv | +19 | 39 | 0/4 |
0/4 | 39 | 40-Adv | +18 | 57 | 0/4 |
0/4 | 57 | 40-Adv | +17 | 74 | 0/4 |
0/4 | 74 | 40-Adv | +16 | 90 | 0/4 |
0/4 | 90 | 40-Adv | +16 | 106 | 0/4 |
0/4 | 106 | 40-Adv | +14 | 120 | 0/4 |
0/4 | 120 | 40-Adv | +14 | 134 | 0/4 |
0/4 | 134 | 40-Adv | +14 | 148 | 0/4 |
0/4 | 148 | 40-Adv | +12 | 160 | 0/4 |
0/4 | 160 | 40-Adv | +12 | 172 | 0/4 |
0/4 | 172 | 40-Adv | +11 | 183 | 0/4 |
0/4 | 183 | 40-Adv | +11 | 194 | 0/4 |
0/4 | 194 | 40-Adv | +11 | 205 | 0/4 |
0/4 | 205 | 40-Adv | +9 | 214 | 0/4 |
0/4 | 214 | 40-Adv | +10 | 224 | 0/4 |
0/4 | 224 | 40-Adv | +8 | 232 | 0/4 |
0/4 | 232 | 40-Adv | +9 | 241 | 0/4 |
0/4 | 241 | 40-Adv | +8 | 249 | 0/4 |
0/4 | 249 | 40-Adv | +7 | 256 | 0/4 |
0/4 | 256 | 40-Adv | +7 | 263 | 0/4 |
0/4 | 263 | 40-Adv | +7 | 270 | 0/4 |
0/4 | 270 | 40-Adv | +7 | 277 | 0/4 |
0/4 | 277 | 40-Adv | +6 | 283 | 0/4 |
0/4 | 283 | 40-Adv | +6 | 289 | 0/4 |
0/4 | 289 | 40-Adv | +5 | 294 | 0/4 |
0/4 | 294 | 40-Adv | +5 | 299 | 0/4 |
0/4 | 299 | 40-Adv | +5 | 304 | 0/4 |
0/4 | 304 | 40-Adv | +5 | 309 | 0/4 |
0/4 | 309 | 40-Adv | +5 | 314 | 0/4 |
0/4 | 314 | 40-Adv | +4 | 318 | 0/4 |
0/4 | 318 | 40-Adv | +4 | 322 | 0/4 |
0/4 | 322 | 40-Adv | +4 | 326 | 0/4 |
0/4 | 326 | 40-Adv | +4 | 330 | 0/4 |
0/4 | 330 | 40-Adv | +3 | 333 | 0/4 |
0/4 | 333 | 40-Adv | +3 | 336 | 0/4 |
0/4 | 336 | 40-Adv | +4 | 340 | 0/4 |
0/4 | 340 | 40-Adv | +3 | 343 | 0/4 |
0/4 | 343 | 40-Adv | +2 | 345 | 0/4 |
0/4 | 348 | 40-Adv | +3 | 351 | 0/4 |
0/4 | 351 | 40-Adv | +2 | 353 | 0/4 |
0/4 | 353 | 40-Adv | +2 | 355 | 0/4 |
0/4 | 355 | 40-Adv | +3 | 358 | 0/4 |
0/4 | 358 | 40-Adv | +2 | 360 | 0/4 |
0/4 | 360 | 40-Adv | +2 | 362 | 0/4 |
0/4 | 362 | 40-Adv | +2 | 364 | 0/4 |
0/4 | 364 | 40-Adv | +1 | 365 | 0/4 |
0/4 | 365 | 40-Adv | +2 | 367 | 0/4 |
0/4 | 367 | 40-Adv | +2 | 369 | 0/4 |
0/4 | 369 | 40-Adv | +1 | 370 | 0/4 |
0/4 | 370 | 40-Adv | +2 | 372 | 0/4 |
0/4 | 372 | 40-Adv | +1 | 373 | 0/4 |
0/4 | 373 | 40-Adv | +1 | 374 | 0/4 |
0/4 | 374 | 40-Adv | +2 | 376 | 0/4 |
0/4 | 376 | 40-Adv | +1 | 377 | 0/4 |
0/4 | 377 | 40-Adv | +1 | 378 | 0/4 |
0/4 | 378 | 40-Adv | +1 | 379 | 0/4 |
0/4 | 379 | 40-Adv | +1 | 380 | 0/4 |
0/4 | 380 | 40-Adv | +1 | 381 | 0/4 |
0/4 | 381 | 40-Adv | +1 | 382 | 0/4 |
0/4 | 382 | 40-Adv | +1 | 383 | 0/4 |
0/4 | 383 | 40-Adv | +1 | 384 | 0/4 |
0/4 | 384 | 40-Adv | ±0 | 384 | 0/4 |
0/4 | 384 | 40-Adv | +1 | 385 | 0/4 |
0/4 | 385 | 40-Adv | +1 | 386 | 0/4 |
0/4 | 386 | 40-Adv | +1 | 387 | 0/4 |
0/4 | 387 | 40-Adv | ±0 | 387 | 0/4 |
0/4 | 387 | 40-Adv | +1 | 388 | 0/4 |
0/4 | 388 | 40-Adv | ±0 | 388 | 0/4 |
0/4 | 388 | 40-Adv | +1 | 389 | 0/4 |
0/4 | 389 | 40-Adv | +1 | 390 | 0/4 |
0/4 | 390 | 40-Adv | ±0 | 390 | 0/4 |
0/4 | 390 | 40-Adv | +1 | 391 | 0/4 |
0/4 | 391 | 40-Adv | ±0 | 391 | 0/4 |
0/4 | 391 | 40-Adv | ±0 | 391 | 0/4 |
0/4 | 391 | 40-Adv | +1 | 392 | 0/4 |
0/4 | 392 | 40-Adv | ±0 | 392 | 0/4 |
0/4 | 392 | 40-Adv | +1 | 393 | 0/4 |
0/4 | 393 | 40-Adv | ±0 | 393 | 0/4 |
0/4 | 393 | 40-Adv | ±0 | 393 | 0/4 |
0/4 | 393 | 40-Adv | +1 | 394 | 0/4 |
0/4 | 394 | 40-Adv | ±0 | 394 | 0/4 |
0/4 | 394 | 40-Adv | ±0 | 394 | 0/4 |
0/4 | 394 | 40-Adv | ±0 | 394 | 0/4 |
0/4 | 394 | 40-Adv | +1 | 395 | 0/4 |
0/4 | 395 | 40-Adv | ±0 | 395 | 0/4 |
0/4 | 395 | 40-Adv | ±0 | 395 | 0/4 |
0/4 | 395 | 40-Adv | ±0 | 395 | 0/4 |
0/4 | 395 | 40-Adv | +1 | 396 | 0/4 |
0/4 | 396 | 40-Adv | ±0 | 396 | 0/4 |
0/4 | 396 | 40-Adv | ±0 | 396 | 0/4 |
0/4 | 396 | 40-Adv | ±0 | 396 | 0/4 |
0/4 | 396 | 40-Adv | ±0 | 396 | 0/4 |
0/4 | 396 | 40-Adv | ±0 | 396 | 0/4 |
0/4 | 396 | 40-Adv | +1 | 397 | 0/4 |
0/4 | 397 | 40-Adv | ±0 | 397 | 0/4 |
0/4 | 397 | 40-Adv | ±0 | 397 | 0/4 |
0/4 | 397 | 40-Adv | ±0 | 397 | 0/4 |
0/4 | 397 | 40-Adv | ±0 | 397 | 0/4 |
0/4 | 397 | 40-Adv | ±0 | 397 | 0/4 |
0/4 | 397 | 40-Adv | ±0 | 397 | 0/4 |
0/4 | 397 | 40-Adv | ±0 | 397 | 0/4 |
0/4 | 397 | 40-Adv | +1 | 398 | 0/4 |
0/4 | 398 | 40-Adv | ±0 | 398 | 0/4 |
0/4 | 398 | 40-Adv | ±0 | 398 | 0/4 |
0/4 | 398 | 40-Adv | ±0 | 398 | 0/4 |
0/4 | 398 | 40-Adv | ±0 | 398 | 0/4 |
0/4 | 398 | 40-Adv | ±0 | 398 | 0/4 |
0/4 | 398 | 40-Adv | ±0 | 398 | 0/4 |
0/4 | 398 | 40-Adv | ±0 | 398 | 0/4 |
0/4 | 398 | 40-Adv | ±0 | 398 | 0/4 |
0/4 | 398 | 40-Adv | ±0 | 398 | 0/4 |
0/4 | 398 | 40-Adv | ±0 | 398 | 0/4 |
0/4 | 398 | 40-Adv | ±0 | 398 | 0/4 |
0/4 | 398 | 40-Adv | ±0 | 398 | 0/4 |
0/4 | 398 | 40-Adv | +1 | 399 | 0/4 |
0/4 | 399 | 40-Adv | ±0 | 399 | 0/4 |
(Repeat the previous row 49 more times, total 50 times) | |||||
0/4 | 399 | Adv-40 | +20 | 419 | 1/4 |
1/4 | 419 | 40-Adv | -1 | 418 | 1/4 |
1/4 | 418 | 40-Adv | -1 | 417 | 1/4 |
1/4 | 417 | 40-Adv | ±0 | 417 | 0/4 |
0/4 | 417 | 40-Adv | -1 | 416 | 0/4 |
0/4 | 416 | 40-Adv | -1 | 415 | 0/4 |
0/4 | 415 | 40-Adv | -1 | 414 | 0/4 |
0/4 | 414 | 40-Adv | -1 | 413 | 0/4 |
0/4 | 413 | 40-Adv | ±0 | 413 | 0/4 |
0/4 | 413 | 40-Adv | -1 | 412 | 0/4 |
0/4 | 412 | 40-Adv | -1 | 411 | 0/4 |
0/4 | 411 | 40-Adv | ±0 | 411 | 0/4 |
0/4 | 411 | 40-Adv | -1 | 410 | 0/4 |
0/4 | 410 | 40-Adv | ±0 | 410 | 0/4 |
0/4 | 410 | 40-Adv | -1 | 409 | 0/4 |
0/4 | 409 | 40-Adv | ±0 | 409 | 0/4 |
0/4 | 409 | 40-Adv | -1 | 408 | 0/4 |
0/4 | 408 | 40-Adv | ±0 | 408 | 0/4 |
0/4 | 408 | 40-Adv | -1 | 407 | 0/4 |
0/4 | 407 | 40-Adv | ±0 | 407 | 0/4 |
0/4 | 407 | 40-Adv | ±0 | 407 | 0/4 |
0/4 | 407 | 40-Adv | -1 | 406 | 0/4 |
0/4 | 406 | 40-Adv | ±0 | 406 | 0/4 |
0/4 | 406 | 40-Adv | ±0 | 406 | 0/4 |
0/4 | 406 | 40-Adv | -1 | 405 | 0/4 |
0/4 | 405 | 40-Adv | ±0 | 405 | 0/4 |
0/4 | 405 | 40-Adv | ±0 | 405 | 0/4 |
0/4 | 405 | 40-Adv | -1 | 404 | 0/4 |
0/4 | 404 | 40-Adv | ±0 | 404 | 0/4 |
0/4 | 404 | 40-Adv | ±0 | 404 | 0/4 |
0/4 | 404 | 40-Adv | ±0 | 404 | 0/4 |
0/4 | 404 | 40-Adv | ±0 | 404 | 0/4 |
0/4 | 404 | 40-Adv | -1 | 403 | 0/4 |
0/4 | 403 | 40-Adv | ±0 | 403 | 0/4 |
0/4 | 403 | 40-Adv | ±0 | 403 | 0/4 |
0/4 | 403 | 40-Adv | ±0 | 403 | 0/4 |
0/4 | 403 | 40-Adv | ±0 | 403 | 0/4 |
0/4 | 403 | 40-Adv | -1 | 402 | 0/4 |
0/4 | 402 | 40-Adv | ±0 | 402 | 0/4 |
0/4 | 402 | 40-Adv | ±0 | 402 | 0/4 |
0/4 | 402 | 40-Adv | ±0 | 402 | 0/4 |
0/4 | 402 | 40-Adv | ±0 | 402 | 0/4 |
0/4 | 402 | 40-Adv | ±0 | 402 | 0/4 |
0/4 | 402 | 40-Adv | ±0 | 402 | 0/4 |
0/4 | 402 | 40-Adv | ±0 | 402 | 0/4 |
0/4 | 402 | 40-Adv | -1 | 401 | 0/4 |
0/4 | 401 | 40-Adv | ±0 | 401 | 0/4 |
0/4 | 401 | 40-Adv | ±0 | 401 | 0/4 |
0/4 | 401 | 40-Adv | ±0 | 401 | 0/4 |
0/4 | 401 | 40-Adv | ±0 | 401 | 0/4 |
0/4 | 401 | 40-Adv | ±0 | 401 | 0/4 |
0/4 | 401 | 40-Adv | ±0 | 401 | 0/4 |
0/4 | 401 | 40-Adv | ±0 | 401 | 0/4 |
0/4 | 401 | 40-Adv | ±0 | 401 | 0/4 |
0/4 | 401 | 40-Adv | ±0 | 401 | 0/4 |
0/4 | 401 | 40-Adv | ±0 | 401 | 0/4 |
0/4 | 401 | 40-Adv | ±0 | 401 | 0/4 |
0/4 | 401 | 40-Adv | ±0 | 401 | 0/4 |
0/4 | 401 | 40-Adv | ±0 | 401 | 0/4 |
0/4 | 401 | 40-Adv | -1 | 400 | 0/4 |
0/4 | 400 | 40-Adv | ±0 | 400 | 0/4 |
(Repeat the previous row 49 more times, total 50 times) | |||||
0/4 | 400 | 30-40 | -5 | 395 | 0/4 |
0/4 | 395 | 30-40 | -5 | 390 | 0/4 |
0/4 | 390 | 30-40 | -5 | 385 | 0/4 |
0/4 | 385 | 30-40 | -4 | 381 | 0/4 |
0/4 | 381 | 30-40 | -4 | 377 | 0/4 |
0/4 | 377 | 30-40 | -4 | 373 | 0/4 |
0/4 | 373 | 30-40 | -4 | 369 | 0/4 |
0/4 | 369 | 0-40 | -18 | 351 | 0/4 |
0/4 | 351 | 0-40 | -18 | 333 | 0/4 |
0/4 | 333 | 0-40 | -16 | 317 | 0/4 |
0/4 | 317 | 15-40 | -9 | 308 | 0/4 |
0/4 | 308 | 30-40 | ±0 | 308 | 0/4 |
0/4 | 308 | 30-40 | -1 | 307 | 0/4 |
0/4 | 307 | 30-40 | ±0 | 307 | 0/4 |
0/4 | 307 | 30-40 | ±0 | 307 | 0/4 |
0/4 | 307 | 30-40 | -1 | 306 | 0/4 |
0/4 | 306 | 30-40 | ±0 | 306 | 0/4 |
0/4 | 306 | 30-40 | ±0 | 306 | 0/4 |
0/4 | 306 | 30-40 | -1 | 305 | 0/4 |
0/4 | 305 | 30-40 | ±0 | 305 | 0/4 |
0/4 | 305 | 30-40 | ±0 | 305 | 0/4 |
0/4 | 305 | 30-40 | -1 | 304 | 0/4 |
0/4 | 304 | 30-40 | ±0 | 304 | 0/4 |
0/4 | 304 | 30-40 | ±0 | 304 | 0/4 |
0/4 | 304 | 30-40 | ±0 | 304 | 0/4 |
0/4 | 304 | 30-40 | ±0 | 304 | 0/4 |
0/4 | 304 | 30-40 | -1 | 303 | 0/4 |
0/4 | 303 | 30-40 | ±0 | 303 | 0/4 |
0/4 | 303 | 30-40 | ±0 | 303 | 0/4 |
0/4 | 303 | 30-40 | ±0 | 303 | 0/4 |
0/4 | 303 | 30-40 | ±0 | 303 | 0/4 |
0/4 | 303 | 30-40 | -1 | 302 | 0/4 |
0/4 | 302 | 30-40 | ±0 | 302 | 0/4 |
0/4 | 302 | 30-40 | ±0 | 302 | 0/4 |
0/4 | 302 | 30-40 | ±0 | 302 | 0/4 |
0/4 | 302 | 30-40 | ±0 | 302 | 0/4 |
0/4 | 302 | 30-40 | ±0 | 302 | 0/4 |
0/4 | 302 | 30-40 | ±0 | 302 | 0/4 |
0/4 | 302 | 30-40 | ±0 | 302 | 0/4 |
0/4 | 302 | 30-40 | -1 | 301 | 0/4 |
0/4 | 301 | 30-40 | ±0 | 301 | 0/4 |
0/4 | 301 | 30-40 | ±0 | 301 | 0/4 |
0/4 | 301 | 30-40 | ±0 | 301 | 0/4 |
0/4 | 301 | 30-40 | ±0 | 301 | 0/4 |
0/4 | 301 | 30-40 | ±0 | 301 | 0/4 |
0/4 | 301 | 30-40 | ±0 | 301 | 0/4 |
0/4 | 301 | 30-40 | ±0 | 301 | 0/4 |
0/4 | 301 | 30-40 | ±0 | 301 | 0/4 |
0/4 | 301 | 30-40 | ±0 | 301 | 0/4 |
0/4 | 301 | 30-40 | ±0 | 301 | 0/4 |
0/4 | 301 | 30-40 | ±0 | 301 | 0/4 |
0/4 | 301 | 30-40 | ±0 | 301 | 0/4 |
0/4 | 301 | 30-40 | ±0 | 301 | 0/4 |
0/4 | 301 | 30-40 | -1 | 300 | 0/4 |
0/4 | 300 | 15-40 | -7 | 293 | 0/4 |
0/4 | 293 | 15-40 | -7 | 286 | 0/4 |
0/4 | 286 | 0-40 | -15 | 271 | 0/4 |
0/4 | 271 | 0-40 | -13 | 258 | 0/4 |
0/4 | 258 | 0-40 | -13 | 245 | 0/4 |
0/4 | 245 | 0-40 | -12 | 233 | 0/4 |
0/4 | 233 | 0-40 | -12 | 221 | 0/4 |
0/4 | 221 | 0-40 | -11 | 210 | 0/4 |
0/4 | 210 | 0-40 | -11 | 199 | 0/4 |
0/4 | 199 | 15-40 | -2 | 197 | 0/4 |
0/4 | 197 | 0-40 | -10 | 187 | 0/4 |
0/4 | 187 | 0-40 | -9 | 178 | 0/4 |
0/4 | 178 | 0-40 | -9 | 169 | 0/4 |
0/4 | 169 | 0-40 | -9 | 160 | 0/4 |
0/4 | 160 | 0-40 | -8 | 152 | 0/4 |
0/4 | 152 | 15-40 | ±0 | 152 | 0/4 |
0/4 | 152 | 15-40 | ±0 | 152 | 0/4 |
0/4 | 152 | 15-40 | ±0 | 152 | 0/4 |
0/4 | 152 | 15-40 | ±0 | 152 | 0/4 |
0/4 | 152 | 15-40 | ±0 | 152 | 0/4 |
0/4 | 152 | 15-40 | ±0 | 152 | 0/4 |
0/4 | 152 | 15-40 | -1 | 151 | 0/4 |
0/4 | 151 | 15-40 | ±0 | 151 | 0/4 |
0/4 | 151 | 15-40 | ±0 | 151 | 0/4 |
0/4 | 151 | 15-40 | ±0 | 151 | 0/4 |
0/4 | 151 | 15-40 | ±0 | 151 | 0/4 |
0/4 | 151 | 15-40 | ±0 | 151 | 0/4 |
0/4 | 151 | 15-40 | ±0 | 151 | 0/4 |
0/4 | 151 | 15-40 | ±0 | 151 | 0/4 |
0/4 | 151 | 15-40 | ±0 | 151 | 0/4 |
0/4 | 151 | 15-40 | ±0 | 151 | 0/4 |
0/4 | 151 | 15-40 | ±0 | 151 | 0/4 |
0/4 | 151 | 15-40 | ±0 | 151 | 0/4 |
0/4 | 151 | 15-40 | -1 | 150 | 0/4 |
At this point, I thought that the asymptote was multiplied by a factor depending on the rival's skill, and that that factor would be 2 for Sarah/Elisa, giving 2400. But the next experiment proved me wrong: the differences between the asymptotes for different scores were not doubled, but remained the same. That suggested that they were offset instead. But first I wanted to be sure that the 0/4 skill rivals were reached losing by with 40-Adv. This particular series can be quite valuable to help finding out how the rivals ranking works.
Rivals skill | Skill before | Score | Points | Skill after | Next rivals skill |
---|---|---|---|---|---|
63/49 | 0 | 40-Adv | +20 | 20 | 57/35 |
57/35 | 20 | 40-Adv | +20 | 40 | 46/23 |
46/23 | 40 | 40-Adv | +18 | 58 | 33/12 |
33/12 | 58 | 40-Adv | +17 | 75 | 24/12 |
24/12 | 75 | 40-Adv | +17 | 92 | 17/4 |
17/4 | 92 | 40-Adv | +15 | 107 | 12/0 |
12/0 | 107 | 40-Adv | +13 | 120 | 9/0 |
9/0 | 120 | 40-Adv | +14 | 134 | 6/0 |
6/0 | 134 | 40-Adv | +13 | 147 | 4/0 |
4/0 | 147 | 40-Adv | +13 | 160 | 3/4 |
3/4 | 160 | 40-Adv | +11 | 171 | 2/4 |
2/4 | 171 | 40-Adv | +12 | 183 | 2/4 |
2/4 | 183 | 40-Adv | +11 | 194 | 1/4 |
1/4 | 194 | 40-Adv | +10 | 204 | 1/4 |
1/4 | 204 | 40-Adv | +9 | 215 | 1/4 |
1/4 | 215 | 40-Adv | +10 | 225 | 0/4 |
0/4 | 225 | 40-Adv | +8 | 233 | 0/4 |
0/4 | 233 | Adv-40 | +29 | 262 | 2/4 |
2/4 | 262 | Adv-40 | +27 | 289 | 6/0 |
6/0 | 289 | Adv-40 | +25 | 314 | 14/4 |
14/4 | 314 | Adv-40 | +24 | 338 | 26/12 |
26/12 | 338 | Adv-40 | +24 | 362 | 44/23 |
44/23 | 362 | Adv-40 | +22 | 384 | 66/49 |
66/49 | 384 | Adv-40 | +21 | 405 | 92/65 |
92/65 | 405 | Adv-40 | +21 | 426 | 120/100 |
120/100 | 426 | Adv-40 | +20 | 446 | 160/140 |
160/140 | 446 | Adv-40 | +20 | 466 | 200/160 |
200/160 | 466 | Adv-40 | +19 | 485 | 240/210 |
240/210 | 485 | Adv-40 | +20 | 505 | 290/260 |
290/260 | 505 | Adv-40 | +19 | 524 | 340/310 |
340/310 | 524 | Adv-40 | +19 | 543 | 400/370 |
400/370 | 543 | Adv-40 | +20 | 563 | 460/430 |
460/430 | 563 | Adv-40 | +20 | 583 | 520/490 |
520/490 | 583 | Adv-40 | +21 | 604 | 580/550 |
580/550 | 604 | Adv-40 | +21 | 625 | 640/620 |
640/620 | 625 | Adv-40 | +22 | 647 | 710/690 |
710/690 | 647 | Adv-40 | +23 | 670 | 780/760 |
780/760 | 670 | Adv-40 | +23 | 693 | 860/840 |
860/840 | 693 | Adv-40 | +25 | 718 | 930/910 |
930/910 | 718 | Adv-40 | +26 | 744 | 1000/990 |
1000/990 | 744 | Adv-40 | +27 | 771 | 1100/1100 |
1100/1100 | 771 | Adv-40 | +28 | 799 | 1200/1200 |
1200/1200 | 799 | Adv-40 | +29 | 828 | 1300/1200 |
1300/1200 | 828 | Adv-40 | +31 | 859 | 1300/1300 |
1300/1300 | 859 | Adv-40 | +33 | 892 | 1400/1400 |
1400/1400 | 892 | Adv-40 | +33 | 925 | 1500/1500 |
1500/1500 | 925 | Adv-40 | +36 | 961 | 1600/1600 |
1600/1600 | 961 | Adv-40 | +37 | 998 | 1700/1700 |
1700/1700 | 998 | Adv-40 | +38 | 1036 | 1600/1600(*) |
1600/1600(*) | 1036 | Adv-40 | +41 | 1077 | 1900/1900 |
1900/1900 | 1077 | Adv-40 | +42 | 1119 | 2000/1900 |
2000/1900 | 1119 | Adv-40 | +43 | 1162 | 2000/1900 |
2000/1900 | 1162 | Adv-40 | +42 | 1204 | 2000/1900 |
2000/1900 | 1204 | Adv-40 | +40 | 1244 | 2000/1900 |
2000/1900 | 1244 | Adv-40 | +38 | 1282 | 2000/1900 |
(*) That is probably 1800/1800 and is a transcription error on my side. Sometimes I confuse the 6s and the 8s with that font.
With a Libreoffice spreadsheet I was able to determine the asymptote from just the last few data points, when the rivals were maxed out. It turned out to be 2000.
It's easy to construct the spreadsheet. In cell B2 put the starting value of the series you want to analyze. In cell A2 put the asymptote to test. Then in cell B3 write this formula: =($A$2+C3+B2*19)/20. Column C will be for offsets (a series of 0's for 0/4 rivals, a series of 1200's for 2000/1900 rivals, and you can adjust by hand cell by cell in other cases). Then extend B3 to the rest of column B up to where you want. Then in cell D2 you write: =INT(B2) and extend it to the rest of column D. If you want, in cell E2 you can put: =(D3-D2) and extend it to the column; that column will have the computed differences. You can also add an extra column F with the real differences or with the real skill points, starting at F2, and a column G with this formula: =IF(E2<>F2;"Diff";"=") to tell you which cells don't match (change E2 to D2 if you put real skill points in column F instead of differences).
So, that's what I have so far. If you are willing to help me out with the rivals' skill points formula, please state so in the comments. Thanks!