Skip to content

Research on calculating win probability and forecasting serve performance in tennis matches.

License

Notifications You must be signed in to change notification settings

jgollub1/tennis_match_prediction

Repository files navigation

Research Paper

This repository contains the implementation for all methods oulined in the research paper Forecasting Serve Performance in Professional Tennis Matches, published in the Journal of Sports Analytics (2021). research_paper/Results.ipynb lists each method's predictive performance across ATP tour-level matches from 2014-2016, as well as the match statistics used in each case study.

Tennis Match Prediction

	2017 Australian Open Men's Singles Final

alt text

Accurate in-match prediction for tennis is important to a variety of communities, including sports journalists, tennis aficionados, and professional sports betters. In-match prediction consists of the following estimate: given any score between two players and all historical information about the two players, what is the probability that each player wins the match? While win-probability graphs have recently received more attention in football (see Brian Burke's http://www.advancedfootballanalytics.com) and baseball, they still receive little exposure in tennis, because strong tools for their prediction have not been implemented and been made widely available (until now!).

This project explores new approaches and also implements known methods, evaluating models on tens of thousands of ATP/WTA matches from the twenty-first century. No prior published papers have compared the effectiveness of in-match prediction models at this scale before. Because an effective pre-match forecast forms the starting point for an in-match model, I explore match prediction in two steps: pre-match prediction and in-match prediction. Setup instructions may be found below and further detail on running the scripts and interpreting results can be found in 'get_started.txt'.

All tennis match and point-by-point datasets are supplied by Jeff Sackmann, and you can access them at https://github.com/JeffSackmann/. Together, this code produces relevant player information (eg player's elo, serve/return percentages over the past twelve months heading into a match) for any tour-level match from 1968-present. Then, approaches and results are documented in 'pre_match_predictions.ipynb' and 'in_match_predictions.ipynb'.

Please provide attribution for any use of this code (see LICENSE for more details).

You can reach me at jacobgollub@gmail.com

Setup Instructions

Clone this repository. Navigate to root and create a virtual environment:

python3 -m venv venv

then start a virtual environment session:

source venv/bin/activate

install modules:

pip install -r requirements.txt

About

Research on calculating win probability and forecasting serve performance in tennis matches.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published