Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

The Match Charting Project

The goal of the Match Charting Project (MCP) is to amass detailed records of professional matches. Organizations such as the ATP, WTA, ITF, and Grand Slam tournaments record some data, but not in a consistent way, and rarely make any of it available to the public.

MCP match records contain shot-by-shot data for every point of a match, including the type of shot, direction of shot, depth of returns, types of errors, and more. There is no publicly-available data like this anywhere else. To get an idea of the possibilities, aggregate match-level data is available for every submitted match at my website[1].

I started this project in late 2013[2], and since then, dozens of contributors[3] have recorded over 5,000 matches. This repo contains both the raw point-by-point data from these matches and extensive match-level aggregate totals.

Files are separated into men's ('-m-') and women's ('-w-') matches. The '-matches' files contain metadata for each match, including the player names, tournament, date, surface, and more. The '-points' files contain extensive data on each point.

The '-points' files are now separated into multiple files per gender, because the single files got too big for GitHub to handle comfortably.

The user-submitted data is found only in the '1st', '2nd', and 'Notes' columns of the points files. All of the other columns are automatically generated by the excel doc[4] used by project contributors. While some of the columns are a bit redundant, many of the others make it easier to analyze the data.

If you have any interest in working with the raw, shot-by-shot data, I strongly encourage you to contribute to the project by charting a match (or twenty) yourself. Not only is it a nice way to give back to the project and help it grow, it is also the best way to learn exactly what you can find in the data.

Here's a guide to help you get started charting your first match:

Whether you intend to start by charting matches or by jumping straight into the raw data, you'll want to take a look at the 'Instructions' tab of the MatchChart excel doc, which goes into detail regarding the charting notation.

I've now also added several '-stats-' files for both men and women. These contain the aggregate stat lines displayed in each match report. Again, many of the row names will be easier to understand if you've charted a match or two. The rows and columns track very closely to what are shown in the match reports (e.g. ). The only difference is that almost all of the data in the '-stats-' files are integer totals, while the match reports display most as percentages.

New matches are submitted several times per week. As the project continues to grow, I will update these files periodically, approximately once per 100 additional matches. Follow me on Twitter[5] for updates on new matches and other improvements to the database.


Creative Commons License
Crowdsourced shot-by-shot professional tennis data by The Tennis Abstract Match Charting Project is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Based on a work at

In other words: Attribution is required. Non-commercial use only.

I'm serious about the license, and I'm really disappointed with the handful of people who have chosen to violate it. If violations continue, I may stop updating the repo entirely. If you're going to use something that has required thousands of person-hours to build and maintain, it seems to reasonable to require that you understand and follow a simple license.




[4] MatchChart 0.x.x.xlsm, included in this repo



Raw, user-submitted point-by-point data for pro tennis matches






No releases published


No packages published