Ultimate Tennis Statistics and Tennis Crystal Ball
Ultimate Tennis Statistics is a Tennis Big Data Analysis tool with a nice web GUI. Tennis Crystal Ball is a set of Match Prediction and Tournament Forecasts algorithms powered by AI and machine learning.
- '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, Team Cups, Top Rankings and Surface timeline
- Head-to-Head - Head-to-head between two players with H2H matches, season summary, performance and statistics comparison, ranking, performance and statistics charts, 'GOAT' points breakdown and Hypothetical Matchup prediction based on the Neural Network 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 weekly ranking tables
- EloRatings - Player weekly Elo rating tables (overall, by surface, outdoor or indoor, set or game) using customized Elo rating formula
- Ranking Charts - Player ranking and ranking point charts, 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)
- Titles and Results - Titles and other results, filtered by various filters
- Titles and Results Charts - Titles and results charts, filtered by level, surface and seasons
- Top Performers - Find top performers in both performance and pressure situations categories
- Performance Charts - Performance charts for various performance categories, filtered by seasons
- Mental Toughness - Compare players by mental toughness using special mental toughness formula, filtered by various filters
- Statistics Leaders - Find statistics leaders in different statistical categories (100+), including dominance and break points ratios
- Top Match Stats - Top single match statistics figures filtered by various filters
- Statistics Charts - Statistics charts for various statistical categories, including dominance and break points ratios
- Seasons - 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
- Tournaments 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 Neural Network Match Prediction Algorithm
- Records Book - Various match, tournament result and ranking records, famous and infamous (the best player that never...)
- Live Scores - Live Scores via Enetscores by Enetpulse
- For Jeff Sackmann ATP CSV repository: https://github.com/JeffSackmann/tennis_atp (as of commit cf2201c on 2 dec 2019)
- Database setup instructions: #232
- Docker image mcekovic/uts-database with PostgreSQL database pre-populated with ATP tennis data as of season 2019: #337
PostgreSQL, Java, Spring Boot, Thymeleaf, JQuery, Bootstrap, Google Charts, Groovy...
flowchart LR user((User)) --> tn subgraph uts[Tennis Stats] direction TB subgraph app[Spring Boot Java App] direction TB cc[Caffeine<br>Cache] mvc(Spring<br>MVC) --> tcb(Tennis<br>Crystal Ball<br>Predictor) & elo(Elo Ratings<br>Manager) mvc & tcb & elo --> cc end tn[[Tomcat<br>Native]] --> mvc app --> cb[Let's Encrypt<br>Certbot] -- SSL certificate ---> tn end subgraph dl[Data Load] direction TB load(Data Load<br>Groovy Script) --> gd[[Selenium<br>Geckodriver]] --> ff[Headless<br>Firefox] end app -- spawn ---> load app & load ---> db[(<br>PostgreSQL<br>DB)] load --> repo[Jeff Sackman<br>Tennis Repo] ff --> www([www]) style uts fill:DimGray style app fill:CadetBlue style mvc fill:Indigo style elo fill:DarkOrchid style tcb fill:DarkMagenta style cc fill:Maroon style tn fill:ForestGreen style cb fill:Crimson style dl fill:DimGray style load fill:RoyalBlue style gd fill:IndianRed style ff fill:OrangeRed style db fill:SteelBlue style repo fill:DarkSlateGray click mvc href "https://github.com/mcekovic/tennis-crystal-ball/tree/master/tennis-stats/src/main/java/org/strangeforest/tcb/stats/controller" _blank click elo href "https://github.com/mcekovic/tennis-crystal-ball/tree/master/tennis-stats/src/main/java/org/strangeforest/tcb/stats/model/elo" _blank click tcb href "https://github.com/mcekovic/tennis-crystal-ball/tree/master/tennis-stats/src/main/java/org/strangeforest/tcb/stats/model/prediction" _blank click cc href "https://github.com/ben-manes/caffeine" _blank click tn href "https://tomcat.apache.org/native-doc" _blank click cb href "https://certbot.eff.org" _blank click load href "https://groovy-lang.org" _blank click gd href "https://github.com/mozilla/geckodriver" _blank click ff href "https://www.mozilla.org/en-US/firefox" _blank click db href "https://www.postgresql.org" _blank click repo href "https://github.com/JeffSackmann/tennis_atp" _blank
Player GOAT Points
Peak Elo Ratings
Tennis Crystal Ball and Ultimate Tennis Statistics source code is licensed under Apache 2.0 License.
'GOAT' Formula, customizations of Elo Ratings for tennis, Match Prediction, Tournament Forecasts 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.