Ultimate Tennis Statistics


UTS Ultimate Tennis Statistics aims to become the ultimate tennis statistics destination for die-hard tennis fans. It tries to provide all kinds of tennis statistics in the Open Era men's tennis with a 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.


More info about feature details can be found on the Glossary page.

Some useful tips can be found on the Tips page.

Tennis Data

Data Source
Data on which the statistics are based is from the 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 certainly still some errors, most notably for tournaments and rankings in the sixties and seventies. Rankings before official ATP rankings started in the 1973 season are estimated and not complete.
In-Match Statistics
In-Match statistics data (Aces, DFs, Serve %...) started to be recorded from 1991 onward, and thus this data is available on UTS also only for seasons 1991 onward.
Data Update
Data is updated every Monday morning with new rankings and newly completed tournaments, followed by re-computation of aggregated data and records. In-progress tournament forecasts are updated every 15 minutes. Data is realigned with Jeff Sackmann's repository once a year in the tennis off-season.
Non-ATP Data
Qualifying, Challengers and Futures matches are currently not included. They are in medium-to-remote plan to be included: #328
Woman (WTA) tennis data is not included. For now, it is only in the very remote plans: #289
Raw Data
For raw data please check out Jeff Sackmann tennis data repository or the Ultimate Tennis Statistics pre-populated database Docker image mcekovic/uts-database.
Data Feedback
Please provide feedback on data as well at mcekovic@gmail.com or GitHub.

Tournament Classification

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

Masters tournaments classification is per ATP starting from 1990 season. Unfortunately, using top group within Grand Prix Super Series as Masters tournaments is not practical because the group size varies significantly from season to season (from 2 to 30). Instead, 9 tournaments with the strongest participation of top players based on player ranks are considered Masters tournaments.
Tour Finals and Alternative Tour Finals
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 than official Tour Finals, the same as Masters tournaments.
ATP 500 / 250
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 the strongest participation based on player ranks are considered ATP 500 tournaments. For seasons 1968 and 1969, to compensate for the lack of Tour Finals, 16 strongest tournaments per season are considered ATP 500 tournaments. Pepsi Grand Slam (1976-1981), WCT Challenge Cup (1976-1980) and Seasonal WCT Finals (1972, 1982) are also considered as ATP 500 tournaments.


Outdoor: Hard Clay Grass

Indoor: Hard (i) Clay (i) Carpet

Court Speeds

Very Fast Fast Medium Fast Medium Medium Slow Slow Very Slow

Court Speed Index tries to estimate tournament event's court speed based on overall Ace %, Service Points Won % and Service Games Won %, averaged in a way to eliminate dependency on participating players dominant playing style (for more details see Glossary page).

'GOAT' Points Formula

A lot of content on this website 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 a visual description of the 'GOAT' Points formula please click:


Crawling Considerations

Please do not perform massive parallel crawling of the Ultimate Tennis Statistics website!
This is a very efficient and optimized website. You can see by yourself that even the most complex pages with very complex tennis statistics data open very quickly.
However, it is hosted on very modest hardware (1 CPU Core, 2 GB RAM), hence massive parallel crawling will seriously hamper the browsing experience of the regular visitors.
This is a free website with a sort-of-premium content, please do not misuse it!
If you need raw data, please consider Jeff Sackmann's repository or Docker image mcekovic/uts-database of the Ultimate Tennis Statistics pre-populated database.


Ultimate Tennis Statistics is powered by the Open-Source Software:

Linux PostgreSQL Java Spring Boot
Linux PostgreSQL Java Spring Boot

Ultimate Tennis Statistics logo is a courtesy of and designed by crazysesirdzija@gmail.com.

Source Code and License

Ultimate Tennis Statistics and Tennis Crystal Ball source code is available at GitHub and is licensed under the Apache 2.0 License.

Creative Commons 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.

Top 10 GOATs

R. Name Pts.
1 Djokovic 1102
2 Federer 924
3 Nadal 885
4 Connors 616
5 Lendl 604
6 Sampras 522
7 McEnroe 512
8 Borg 480
9 Agassi 417
10 Laver 389




If you like the Ultimate Tennis Statistics website and want to support it, please consider a small donation to support the project. Thank You!

Creative Commons License