Ultimate Tennis Statistics aims to become the ultimate tennis statistics destination for the die-hard tennis fans. It tries to provide all kind of tennis statistics in the Open Era male tennis with simple yet effective web GUI. If you have any suggestions for additional features or tweaks to the current features, please e-mail me at mcekovic@gmail.com or log a GitHub issue.

- 'GOAT' List - A.k.a. 'GOATometer' - Best players of Open Era ranked by 'GOAT' points with customizable weights (overall and by surface)
- Player Profile - Player information, season summary, tournament results, matches, timeline, rivalries, ranking, performance indicators and statistics with charts, 'GOAT' points breakdown and records
- Timelines - Dominance
^{}('GOAT' points distribution among top players and seasons), Grand Slam, Tour Finals, Masters, Olympics, Davis Cup, World Team Cup, Top Rankings, Surface and Statistics timeline - Head-to-Head - Head-to-head between two players with H2H matches, season summary, performance and statistics comparision, ranking, performance and statistics charts, 'GOAT' points breakdown and Hypothetical Matchup prediction based on Tennis Crystal Ball Match Prediction Algorithm
- Heads-to-Heads - Heads-to-heads clusters among several players (i.e. among 'Big 4')
- Greatest Rivalries - Explore greatest rivalries, overall or by season, tournament level, surface or round
- Greatest Matches - Explore greatest matches ranked by special Match Greatness Score formula
- Ranking Tables - Player ranking tables, including Elo rating (overall, by surface, set or game) using customized Elo rating formula
- Ranking Charts - Player ranking and ranking point charts (including Elo rating), compare players by constructing custom charts
- Peak Elo Ratings
^{}- Peak Elo ratings list for comparing players in their peaks (overall, by surface, set, service/return game and tie break) - Top Performers - Find top performers in both performance and pressure situations categories
- Performance Charts - Performance charts for various performance categories, filtered by seasons
- Statistics Leaders - Find statistics leaders in various statistics categories, including dominance and break points ratios
- Statistics Charts - Statistics charts for various statistics categories, filtered by seasons and surface
- Seasons Browser - Browse seasons and check season records, tournaments, rankings, performance, statistics and 'GOAT' points distribution among top players
- Best Seasons - Find which are the players' best seasons of the Open Era based on 'GOAT' points (overall and by surface)
- Tournaments - Browse tournaments, see players with most titles, historical tournament levels and surfaces and average participation.
- Tournament Events - Browse all Open Era tournament events, see tournament event draw, performance, statistics, historical winners and records
- Tournament Forecasts
^{}- Tournament Event Forecasts for in-progress tournaments driven by Tennis Crystal Ball Match Prediction Algorithm - Records
^{}- Various match, tournament result and ranking records, famous and infamous (best player that never...) - Live Scores - Live Scores via Livescore.in
- Blog Section - A blog section

Data on which the statistics is based is from open source tennis data repository by Jeff Sackmann, with some corrections and additions where data is wrong or lacking.
Even with these corrections and additions, there are still small errors and data missing.
Most notably for many tournaments between 1968 and 1972, as well as full rankings between 1981 and 1983.
Rankings before official ATP rankings started in 1973 season are estimated and as well still not complete.

Please provide feedback on data as well at mcekovic@gmail.com or GitHub.

Grand Slam Tour Finals Alt. Finals Masters Olympics ATP 500 ATP 250

- Masters tournament classification is per Wikipedia's Tennis Masters Series records and statistics. This is not completely fair, as this classification starts from 1970 (there are no Masters tournaments in 1968 and 1969), as well as classification from 1970 to 1978 is fuzzy and contradictory to the Wikipedia's Grand Prix Super Series.
- In addition to official Tour Finals tournaments, Dallas WCT Finals (1971-1989), Grand Slam Cup (1990-1999) and Tennis Champions Classic (1970, 1971) are considered alternative Tour Finals and are weighted a little less then official Tour Finals, the same as Masters tournaments.
- Separation of ATP 500/Championship Series vs ATP 250/World Series for seasons 1990 and onwards is as per ATP. For seasons before 1990, 11 tournaments per season with strongest participation based on player ranks are considered ATP 500 tournaments. For seasons 1968 and 1969, in order to compensate lack of Tour Finals and Masters tournaments, 25 strongest tournaments per season are considered ATP 500 tournaments. In addition, Pepsi Grand Slam (1976-1981), WCT Challenge Cup (1976-1980) and Seasonal WCT Finals (1972, 1982) are also considered as ATP 500.

Indoor: Hard (i) Clay (i) Carpet

A lot of content on this site is based on 'GOAT' Points formula, which is a formula to quantify tennis player achievements throughout their careers and to compare players from different eras. 'GOAT' Points formula is based on assigning 'GOAT' points to players for tournament results, ATP and Elo rankings and various important achievements. For visual description of the 'GOAT' Points formula please click:

Loading...

**'GOAT' Points**- The points assigned to players for various tennis achievements, like winning or going deep into tournaments, ATP and Elo rankings, Grand Slam (career and calendar year), big wins, head-to-head ratios, title, streak, performance and statistics records.**Elo Rating System**- The Elo rating is a method for calculating the relative skill levels of players in competitor-versus-competitor games such as chess or tennis. It is named after its creator Arpad Elo, a Hungarian-born American physics professor.**Points Dominance Ratio**- Points Dominance Ratio: % of return points won divided by % of service points lost**Games Dominance Ratio**- Games Dominance Ratio: % of return games won divided by % of service games lost**Break Points Ratio**- Break Points Ratio: % of break points converted divided by % of faced break points lost**Over-Performing Ratio**- Points to Matches Over-Performing Ratio: % of matches won divided by % of points won**Tournament Participation**- Participation percentage measures how much the best players participate in the draw (100% if all top players participate in the draw). Formula: sum(ParticipationWeight(rank)) / sum(ParticipationWeight(1..PlayerCount)): i.e. sum of participation weights of all players in the draw compared to maximal participation weight if all top players would have been participated, where participation weight depend on ranking (see Participation Weights in the About page).**Tournament Strength**- Tournament strength measures how hard is to win a tournament based on weighted Elo ratings of the participating players. Formula: sum(ParticipationWeight(EloSeeding) * (Elo - 1500) / 400) * BestOfFactor, i.e. weighted sum of participating players strengths based on Elo Rating multiplied by best-of factor: 1.25 for Grand Slam, 1 for other tournaments (better player has 25% more chances to win in best-of-5 compared to best-of-3), where weight depend on Elo-based seeding (see Participation Weights in the About page)**Tournament Elo Rating**- Average Elo rating measures average strength of the participating players. Formula: sum(ParticipationWeight(EloSeeding) * EloRating) / sum(ParticipationWeight(1..PlayerCount)), i.e. weighted average of participating players Elo ratings at the beginning of the tournament, where weight depend on Elo-based seeding (see Participation Weights in the About page)**Participation Weights**- Participation weights: Weights of players participating in the tournament based on their ranking or seeding (depends on context): [1: 100, 2: 85, 3: 75, 4: 67, 5: 60, 6: 55, 7-8: 50, 9-10: 45, 11-13: 40, 14-16: 35, 17-20: 30, 21-25: 25, 26-30: 20, 31-35: 16, 36-40: 13, 41-45: 10, 46-50: 8, 51-60: 6, 61-70: 5, 71-80: 4, 81-100: 3, 101-150: 2, 151-200: 1]**Title Difficulty**- Factor of difficulty to win the title compared to a difficulty for an average title winner to win an average tournament event of the same tournament level (calculation steps: first, probabilities to win the title for an average title winner of the same tournament level are calculated based on average Elo Ratings of the title winners as well as Elo Ratings of the opponents the actual winner has faced (P = 1 / (1 + 10 ^ ((AvgWinnerElo - ActualOpponentElo) / 400)); second, difficulty to win the title is calculated as the sum of inverse probabilities from the first step; third, title difficulty is normalized so that the average difficulty of the same tournament level is 1). Example: Difficulty Factor of 1.315 means that a title was 31.5% harder to win compared to an average title of the same tournament level.**Rivalry Score**- Rivalry score: sum(1 + match GOAT points), where match GOAT points is: [GS F: 8, GS SF: 4, GS QF: 2, GS R16: 1, TF F: 6, TF SF: 3, TF RR: 1, M F: 4, M SF: 2...] as in Big Wins match factor in GOAT Points legend**Match Greatness Score**- Match Greatness Score is proportional to match factor (depending on tournament level and round as in Big Wins), player rankings factor (as in Big Wins), player career high rankings factor (as in Big Wins), player Elo Ratings (((WinnerElo - 1500) / 400 + (LoserElo - 1500) / 400) / 2) and match length (sqrt(sets * (games + 2 * tie breaks)))**Draw Bonus**- Draw Bonus represents how much player has benefited or penalized with the actual draw. It is calculated as relative difference in title winning percentage of the actual draw compared to the average draw without seeding and random byes. Thus Draw Bonus incorporates both draw luck and draw seeding factors.**Surface Specialization**- Surface Specialization rating quantifies how much player is specialized in his favorite surface. Ratio of 100% means that player performance on favorite surface is more then twice as good as on the worst surface.

Ultimate Tennis Statistics and Tennis Crystal Ball source code is licensed under Apache 2.0 License.

'GOAT' Points formula, customizations of Elo Ratings for tennis, Tennis Crystal Ball Match Prediction, Tournament Forecast and other algorithms by Ultimate Tennis Statistics are licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

In short: Attribution is required. Non-commercial use only.

R. | Name | Pts. |
---|---|---|

1 | Federer | 890 |

2 | Nadal | 725 |

3 | Djokovic | 711 |

4 | Lendl | 614 |

5 | Connors | 606 |

6 | Sampras | 523 |

7 | McEnroe | 519 |

8 | Borg | 500 |

9 | Agassi | 417 |

10 | Becker | 371 |

If you like this website and want to support it, please consider a small donation to support the project.

All donations will be used only for paying the web hosting bill.

Thank You!

Elo rating is calculated in the standard way:
**K-factor** function reflecting tournament level, match round, best-of, walkover and player current rating is used:
**Start rating is 1500** for new players joining ATP circuit, while for players at the beginning of Open Era start rating is the average Elo rating for the current rank.

**Average Elo ratings** of Top 10/20/50/100/200 as calculated by this formula are guaranteed to be constant over time, even at the beginning of Open Era,
thus it is a relatively good indication of comparable player strengths across Eras.

**Not playing penalty** - In original Elo, there is no penalty when players are not playing for longer periods of time.
However, after they start playing matches again, the Elo rating obviously does not reflect their current form. To address this, non-playing Elo rating penalty is introduced.
Penalty starts after player does not play for 1 year, and increases linearly by 200 Elo rating points for each year of non-playing: not playing for 1 year: no penalty, 1.5 years: 100 points penalty, 2 years: 200, 3 years: 400, etc.

**Examples** (upsets make bigger points exchange):

- 400 points difference means 90% chance for winning
- Start rating is 1500 points
- Minimum is 10 matches

- K-factor base value is
**32** - Tournament level adjustment is: Grand Slam 100%, Tour Finals 90%, Masters 85%, Olympics 80%, ATP 500 75% and all others 70%
- Match round adjustment is: Final 100%, Semi-Final 90%, Quarter-Final and Round-Robin 85%, Rounds of 16 and 32 80%, Rounds of 64 and 128 75% and For Bronze Medal 95%
- Best-of sets adjustment: Best-of-5 100% and Best-of-3 90%
- Walk-over adjustment: 50%
- Current rating adjustment (this allows lower ranked players to advance more rapidly, while stabilizes ratings at the top):

**1 + 18 / (1 + 2**^{(rating - 1500) / 63})- For rating of 1500: x 10
- For rating of 1600: x 5.5
- For rating of 1800: x 1.64
- For rating of 2000: x 1.07
- For rating of 2200: x 1.008

- Each of the above coefficients (tournament level, round, best-of, walkover and current rating) are experimentally and carefully optimized for maximum predictability
- Recent Elo (reflecting more recent form then classic Elo rating): x 2
- Surface factor (for Elo ratings by surface and by outdoor/indoor): Depends on the percentage of surface or outdoor/indoor matches in the season
- Set, Game, Service/Return Game and Tie Break Elo Ratings
^{}K-factor adjustments are work in progress, thus subject to change

- Grand Slam final, rating 2450 d. 2350 (winner had 64% chances of win): [+12, -12] (+12 for winner, -12 for loser)
- Masters semi-final ratings 2000 d. 2350 (winner had 19% chances of win): [+21, -19]
- ATP 250 round of 32, rating 2250 d. 1800 (winner had 93% chances of win): [+1, -2]

**About Tournament Forecast**

Tournament Forecast is driven by individual Match Prediction. In each round, probabilities for each match in the draw are calculated using Neural Network Match Prediction Algorithm.

Based on this probabilities, chances for probable matchups in the further tournament rounds are calculated. Finally, probability of the player to win the title is calculated as a multiplier of probabilities to win in the each or the rounds.

If the round is far, like semi-final or final, there are many potential opponents and probabilities for a player to win over all of them are calculated.

For example, probability to win the title depends on the probability of the player to reach the final as well as probabilities of all players in the other half of the draw to reach the final, multiplied by probabilities for player to win the final match over the each of them.

**Tracking Tournament Progress**

As tournament progresses, outcome of some matches gets known, thus the match probabilities are set to 100% and 0% for the winner and for the loser respectively.

Elo Ratings are recalculated after the each round and Elo rating points earned/lost by wins/loss in all the previous rounds (including current round if the match is finished) are presented in brackets.

**Unknown Qualifiers**

Sometimes, as initial tournament draws are out, they include unknown qualifiers. Probability for the player to win over the unknown qualifier is determined by variation of the Match Prediction algorithm that includes average Elo Rating and ATP ranking points of the qualifiers as well as winning percentages vs qualifiers, overall and by surface, level, etc...

**Mathematical details**

Lets name match probability that player A wins over player B as **Pm _{A vs B}**.

These probabilities determine the probability for each player to pass to the second round

Probability of the player A to reach the next round R+1 is calculated this way:

This means that probability for player A to reach the next round R+1 depend on probability for player A to reach the previous round R multiplied by the weighted sum of probabilities for player A to win over his potential opponents in the next round. Weights of the potential opponents are the probabilities of each opponent to reach the round R.

**About Tennis Crystal Ball Match Prediction Algorithm**

Match Prediction is based on players' previous results and track records.

Previous results are analyzed by the Neural Network algorithm with ~60 neurons for different features about players like Elo Rating, Surface Elo Rating, ATP Points, Recent Form,
Head-to-Head ratios and Winning Percentages varied by surface, tournament level, tournament, round, recency, match or set ratios, vs rank, vs hand, vs backhand...

Match win probabilities given by each of the features (neurons) are then combined by the neural network using different weights.

**Training and Tuning**

Neural Network is trained on the historical data for the highest prediction rates and to determine optimal feature weights.

In order to further increase prediction accuracy, Neural Network is trained specifically for different surfaces, resulting in different feature weights per surface.

During training, some neurons are determined to be useless and they are removed from the network, thus about ~40 neurons remain.

**Primary and Secondary Probability Contributors**

Elo Ratings, overall, by surface and by set, are the primary contributors to the match prediction, followed by the recent form, H2H and winning percentages.

Elo Rating neurons individually give high prediction rates, but when they are combined with the recent form, H2H and various winning percentages, the prediction accuracy is even further increased.

However, importance of the secondary contributors is very surface dependent, so for example on grass, recent form is pretty much irrelevant, because momentum of form is often disturbed by the surface adaptation and because of relatively short length of the grass season.
Instead, winning percentages are more important on grass then on other surfaces.