Skip to content

How the numbers are made

What data the Numbers strand uses and does not, how a probability is produced and scored, what is withheld and why, and how to rerun any piece.

Last updated

Every piece in Numbers answers one question with data. This page says where that data comes from, what it can and cannot support, how a stated probability is produced and later scored, and how anyone can rerun the computation. It is the standing contract behind the strand; a piece that departs from it says so in its own data note.

What the data is

FifthSet holds two datasets of its own: a point-by-point tape of the four Grand Slam tournaments, recorded by its own live system from the Australian Open 2027 on, and the picks of its prediction-game community. Both are FifthSet's own, and derived tables from them are published with each piece under CC BY 4.0.

For history the strand rests on open sources. Match-level results back to 1967 come from TennisMyLife, whose website publishes its database under the MIT licence; FifthSet keeps that notice and credits the source on every derived chart. Match statistics and odds-derived tables come from Valuebetennis under CC BY 4.0, credited the same way. Point-level history of the Grand Slams from 2011 to 2024 and the Match Charting Project exist only under non-commercial licences (CC BY-NC-SA); FifthSet uses them while it earns nothing, marks every piece that rests on them in its frontmatter, and will re-derive or withdraw those pieces the day it takes its first revenue. Wimbledon's own tracking data is not counted until its terms have been read and found to permit the use.

What the data is not

The tape is Slam-only and starts in 2027; "since 2011 at the Slams" can be written, "since 2011 on tour" cannot. Tracking and shot-level numbers for the men's game outside Wimbledon are cited from their publishers, not computed. Live-feed rows, whether from ESPN, the WTA or a paid provider, are inputs and are never republished; what is published are aggregates derived from them, and a withheld.md beside each piece's notebook lists what was withheld and why. The strand has no computer vision of its own and does not claim tracking numbers it did not receive.

How a probability is produced and scored

Where a piece states a probability it is a calibrated number produced by a stated model from stated inputs, quoted with its inputs ("the model gives a player 0.62 from these inputs"), and it is the only kind of forward-looking claim the strand makes: nobody will win here. Each such probability is recorded in the piece's frontmatter with what it claims, the stated number and the date the world answers. When the answer is in, the outcome is recorded and the forecast is scored with the Brier score, the squared distance between the stated probability and what happened, where 0 is perfect and 0.25 is what a coin would score. Every scored forecast, its running mean and the calibration curve are on the forecast ledger, a page that cannot be edited without the record showing it.

Uncertainty is part of every result: intervals or ranges where the sample allows, the sample size in the piece's tables, and a small sample said aloud. Descriptive and causal readings are separated by phrasing, and by a heading where a piece does both. A corrected number keeps the old value visible in the piece's updates log.

What is withheld

Raw rows from any live feed or paid provider; anything a licence forbids to redistribute; and any table whose publication would identify an individual member of the prediction community. The withheld.md beside each piece's notebook names the withheld files by category.

How to rerun a piece

Every piece names its methodology file, a notebook or script under analysis/<date>-<slug>/ in the publication's repository. The folder holds the whole computation, deterministic and seeded, the published derived data with its licence, and a withheld.md naming what could not be published; the chart specifications the piece renders are under content/charts/. The notebooks run in continuous integration against the committed data and assert every number quoted in the article: a figure the notebook cannot reproduce fails the build, so what is on the page is what the code produced.