Sources & method

Built 1 Oct 2026Public data only

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 forSourceVersionLicence / note
Shot-by-shot chartsMatch Charting ProjectCommit 1813a13, “thru 18 sep 2026”, 18 Sep 2026CC BY-NC-SA 4.0 · Jeff Sackmann / Tennis Abstract and volunteer charters
WTA rankingsWTA official rankings APICurrent list 28 Sep 2026; year-end = last list of each yearPublic rankings feed used by wtatennis.com
ATP current rankingESPN ATP rankings feedUpdated 24 Sep 2026 (ESPN week 39)atptour.com refuses scripted reads, so the public ESPN feed is used
ATP year-end rankingsWikipedia performance timelinesRevision ids recorded per page (below)CC BY-SA 4.0

Who is included

Men · ESPN ATP feed · 24 Sep 2026
RankUS playerPointsOn this site
4Ben Shelton4,680yes
8Frances Tiafoe3,380yes
12Taylor Fritz2,880yes
15Learner Tien2,395yes
16Tommy Paul2,375yes
17Brandon Nakashima2,335no, outside top five
34Alex Michelsen1,460no, outside top five
65Ethan Quinn874no, outside top five
Women · WTA official · 28 Sep 2026
RankUS playerPointsOn this site
3Jessica Pegula7,265yes
4Coco Gauff7,244yes
11Amanda Anisimova3,363yes
13Iva Jovic2,841yes
23Madison Keys2,029yes
24Emma Navarro2,024no, outside top five
30Ann Li1,573no, outside top five
36Peyton Stearns1,316no, 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

PlayerPageRevision
Ben SheltonBen Shelton career statistics1374809136
Frances TiafoeFrances Tiafoe career statistics1374640978
Taylor FritzTaylor Fritz career statistics1376791242
Learner TienLearner Tien1377343584
Tommy PaulTommy Paul career statistics1370480246
Jessica PegulaJessica Pegula career statistics1377498452
Coco GauffCoco Gauff career statistics1375898934
Amanda AnisimovaAmanda Anisimova career statistics1373432300
Madison KeysMadison Keys career statistics1373431971

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