Tennis Player Profiling & Monte Carlo Simulation
A university data-analysis project exploring how player statistics, surface and recent form can be combined to model tennis matches and simulate tournament outcomes.
Context
Can the playing styles we recognise on a tennis court also emerge from the data? This was the starting question of my university project, completed in May 2026. I built statistical player profiles and explored whether they formed meaningful groups, such as strong servers, baseline attackers or more defensive players.
The clustering results only partly supported this idea. Rather than forcing the data into fixed categories, I shifted the focus towards a probabilistic framework: using player characteristics alongside Elo ratings, surface and recent form to simulate matches and tournaments.
Building Comparable Player Profiles
I harmonised historical professional tennis data across sources, normalising player names and surface labels, converting dates and handling missing values before aggregating match statistics into player-level features.
- Serve: Ace rate and the proportion of first-serve points won.
- Return: The proportion of return points won.
- Aggression and consistency: Winners and unforced errors per point.
- Net play: The proportion of points won at the net.
These profiles provided a quantitative representation of strengths and weaknesses, supporting both exploratory visualisation and the interpretation of simulated outcomes.
Exploring Structure with PCA and Clustering
I used principal component analysis (PCA) to visualise player profiles in two and three dimensions, then applied KMeans to the projected data. I also explored additional components, up to 15 dimensions, and a hierarchical dendrogram to examine whether the structure depended on the representation.
With six clusters, chosen to compare against six intended player profiles, the silhouette score was approximately 0.30. This suggested moderate structure with overlapping groups. More automatic cluster selection often favoured two groups, which appeared to reflect differences in era and overall level more than distinct playing styles.
The key finding: statistical proximity does not necessarily imply the same playing style. I compared cluster assignments with style labels interpreted from dominant player characteristics and retained the profiles as continuous descriptions rather than treating the clusters as a definitive classification.
From Player Profiles to Match Simulation
An initial model translated relative player strengths into win probabilities using a simple strength ratio. Its limitations motivated an Elo-inspired, nonlinear formulation based on differences in adjusted strength, incorporating global Elo, surface-specific Elo, recent form and selected profile features.
The simulation then modelled tennis at the level of individual points, using service-point probabilities informed by surface, form and serve/return statistics. Points were assembled into games, tie-breaks, sets and matches, preserving the structure of tennis scoring.
For tournament simulation, winners advanced through the draw round by round. Repeated Monte Carlo simulations produced estimated probabilities of reaching later rounds or winning the tournament, expressed as frequencies across simulated runs.
Retrospective Results
In the report’s evaluation of the four 2015 Grand Slam tournaments, simulated winners matched the observed winners in 313 of 508 matches (61.6%).
- Australian Open: 63.78% accuracy.
- Roland-Garros: 62.20% accuracy.
- Wimbledon: 57.48% accuracy.
- US Open: 62.99% accuracy.
Aggregated by surface, accuracy was 63.39% on hard courts, 62.20% on clay and 57.48% on grass. These differences identified grass-court predictions as a priority for further investigation; they do not, by themselves, establish why the model performed differently across surfaces.
Error Analysis and Validation Limits
A revealing error was the Wimbledon 2015 final: the model favoured Federer and assigned Djokovic, the eventual winner, only around 7.2% probability of victory. This highlighted a potentially overconfident prediction and motivated closer scrutiny of how surface adaptation and serve-related features were weighted.
The reported accuracy describes the retrospective experiment. A stronger assessment would require an explicit chronological evaluation protocol, ensuring every feature uses only information available before each match, together with comparisons against simpler baselines such as Elo alone. Accuracy also needs to be complemented by probability calibration and scoring rules such as log loss or the Brier score.
The report does not establish how much each feature group improves prediction independently. Ablation studies and evaluation across more seasons would help separate the contributions of Elo, form, surface and player profiles.
Additional Exploration
I also used the player profiles to explore complementary pairings and compare surface-specific rankings. The pairing analysis considered differences between player strengths rather than individual level alone. It remained an exploratory extension, separate from the main match-prediction model.
What This Project Demonstrates
This project connects data preparation, feature engineering, unsupervised learning and probabilistic simulation in a single analytical workflow. Its most useful lesson was methodological: when an initial hypothesis was only partly supported, I revised the research question and reused the representation in a more suitable model.
Further work could investigate style matchups, fatigue and within-match dynamics, while testing whether added complexity improves predictions under a stricter validation protocol.
Methods
Feature engineering · PCA · KMeans · Hierarchical exploration · Elo-based modelling · Point-by-point simulation · Monte Carlo methods · Error analysis