Sources & method
Every number is computed by one script, scripts/build_data.py, from the files below. Nothing is typed in by hand. This is an independent portfolio demo by Jerry Shi. It is not affiliated with or endorsed by the USTA, the ATP, the WTA or any player.
Data sources
| Used for | Source | Version | Licence / note |
|---|---|---|---|
| Shot-by-shot charts | Match Charting Project | Commit 1813a13, “thru 18 sep 2026”, 18 Sep 2026 | CC BY-NC-SA 4.0 · Jeff Sackmann / Tennis Abstract and volunteer charters |
| WTA rankings | WTA official rankings API | Current list 28 Sep 2026; year-end = last list of each year | Public rankings feed used by wtatennis.com |
| ATP current ranking | ESPN ATP rankings feed | Updated 24 Sep 2026 (ESPN week 39) | atptour.com refuses scripted reads, so the public ESPN feed is used |
| ATP year-end rankings | Wikipedia performance timelines | Revision ids recorded per page (below) | CC BY-SA 4.0 |
Who is included
top five US singles players per tour, latest lists| Rank | US player | Points | On this site |
|---|---|---|---|
| 4 | Ben Shelton | 4,680 | yes |
| 8 | Frances Tiafoe | 3,380 | yes |
| 12 | Taylor Fritz | 2,880 | yes |
| 15 | Learner Tien | 2,395 | yes |
| 16 | Tommy Paul | 2,375 | yes |
| 17 | Brandon Nakashima | 2,335 | no, outside top five |
| 34 | Alex Michelsen | 1,460 | no, outside top five |
| 65 | Ethan Quinn | 874 | no, outside top five |
| Rank | US player | Points | On this site |
|---|---|---|---|
| 3 | Jessica Pegula | 7,265 | yes |
| 4 | Coco Gauff | 7,244 | yes |
| 11 | Amanda Anisimova | 3,363 | yes |
| 13 | Iva Jovic | 2,841 | yes |
| 23 | Madison Keys | 2,029 | yes |
| 24 | Emma Navarro | 2,024 | no, outside top five |
| 30 | Ann Li | 1,573 | no, outside top five |
| 36 | Peyton Stearns | 1,316 | no, outside top five |
Method
Sample. All charted singles matches of each player dated 1 Jan 2024 or later. Volunteers choose which matches to chart, so the sample leans to Slams, big events and featured players; it is not every match played. Match counts are shown wherever a figure appears.
Serve and return totals come from the project's per-match “Overview” stat lines, summed before dividing. As a check, the service points counted from the raw point log matched the stat lines within two points in 418 of 421 player-matches.
Serve targets are read from the first character of each serve code (4 wide, 5 body, 6 T). The court side comes from the point score before the point: an even number of points played means the deuce court, which also holds in tiebreaks.
Rally length and return depth are parsed from the shot codes: serve plus each shot in, the final error excluded; return depth uses the 7 / 8 / 9 depth code on the return.
Shot direction uses the project's “ShotDirOutcomes” lines: crosscourt, middle, down the line, inside-out and inside-in for rally forehands and backhands, with the share of points won when that shot was hit.
Results are rebuilt from the point log's scoreboard. A chart that stops before match point (a retirement or an unfinished chart) is shown without a result and left out of win–loss.
Wikipedia revisions used
| Player | Page | Revision |
|---|---|---|
| Ben Shelton | Ben Shelton career statistics | 1374809136 |
| Frances Tiafoe | Frances Tiafoe career statistics | 1374640978 |
| Taylor Fritz | Taylor Fritz career statistics | 1376791242 |
| Learner Tien | Learner Tien | 1377343584 |
| Tommy Paul | Tommy Paul career statistics | 1370480246 |
| Jessica Pegula | Jessica Pegula career statistics | 1377498452 |
| Coco Gauff | Coco Gauff career statistics | 1375898934 |
| Amanda Anisimova | Amanda Anisimova career statistics | 1373432300 |
| Madison Keys | Madison Keys career statistics | 1373431971 |
Only the men's year-end ranks are read from Wikipedia; the women's come from the WTA API. Iva Jovic has no year-end row on Wikipedia, which is why the WTA API is used for all five women.
Limits
- Charting is volunteer work, so coverage differs a lot by player (from 19 to 68 matches here) and by surface. Small samples are flagged.
- No ball-tracking: the charts record direction and depth codes, not coordinates, speed or spin. Court graphics place each code in its zone; they are not bounce locations.
- The ATP current ranking comes through ESPN rather than the ATP itself, and its date is ESPN's update time.
- Year-end definitions differ slightly by source: the WTA list used is the last one published in December, which can differ by a few places from figures quoted elsewhere for players with few events.