Racquet Rating Lab

Data-driven tennis analytics

⌕
HomeTop PlayersExplorerCompareMajorsSummariesMethodology
⌕

Data sources

Match data by Jeff Sackmann / Tennis Abstract, licensed CC BY-NC-SA 4.0. Racquet Rating transforms this data into a canonical match schema and derives its own ratings from it. Racquet Rating is operated on a non-commercial basis.

Tennis databases, files, and algorithms by Jeff Sackmann / Tennis Abstract is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. Based on a work at https://github.com/JeffSackmann.

Full data sources, licence and derivation details

Methodology

How Racquet Rating works

Racquet Rating is this site’s own rating for tennis players, published on a 0–1000 scale and computed from public match results. This page states what it measures, what it is built from, how the number is produced, and what it does not claim.

Everything below describes the model that produced the ratings this site publishes. Where a figure comes from the published data it is read from the data, so this page and the ratings cannot drift apart.

What it isHow it is producedWhat the number meansThe five componentsData usedWho gets a ratingRating statusToursWhat it does not measureTechnical details

Definition

What Racquet Rating is

A single number summarising how a player has performed over a fixed recent window of match results.

Racquet Rating is a rating produced by this site. It is computed from publicly available tour-level match results using the model described on this page, and it is published on a 0–1000 scale.

It is not an official rating and carries no standing with any governing body. It is not the ATP ranking, it is not derived from ranking points, and this site is not affiliated with or endorsed by the ATP or the WTA. Where a Racquet Rating and an official ranking disagree, that is because they measure different things from different inputs, not because one of them is a correction of the other.

Match data through 2026-05-25 · model v1.1.0. Data sources · Methodology

Pipeline

How a rating is produced

Source match results become canonical observations, which become component scores, which become one published number.

  1. Step 1

    Source match results

    Publicly available ATP tour-level main-draw match results, under the licence and at the exact source revision recorded on the Data sources page. Nothing is scraped from a live site and nothing is entered by hand.

  2. Step 2

    Canonical observations

    Each match becomes two observations, one from each player’s side, so a result is never stored from the winner’s perspective only. Matches with an unresolvable player identity, and matches a player played against themselves, are dropped rather than guessed at. The artifact publishes the counts, including what was dropped.

  3. Step 3

    Rating-window selection

    Only observations inside the trailing rating window count toward a current rating. Everything outside it stays in the dataset and still informs the era baselines, but it does not enter the current calculation.

  4. Step 4

    Component calculation

    The five components are each computed on a 0–100 scale from the observations in the window. Form Momentum is additionally damped toward neutral in proportion to how much evidence supports it.

  5. Step 5

    Era and context normalisation

    Era Normalization scores the player against frozen era baselines and tour-depth proxies; Match Context scores results against expectation given the round and the event. Both are components, weighted like the others — neither is applied afterwards as a multiplier.

  6. Step 6

    The 0–1000 rating

    The five scores are combined with the fixed weights and multiplied by 10. This is the only arithmetic between the components and the published number, which is why the contributions shown on a profile add back up to it.

  7. Step 7

    Qualification and status

    A player below the evidence threshold is not given a number. A player above it is published with a status saying whether the number describes current form or past form.

  8. Step 8

    Published artifact and profile

    The result is written to a single versioned artifact, which is what this site reads. The site never recomputes a rating: every number on a profile is either published in that artifact or is published values multiplied by a published weight.

What the current artifact was built from

Source matches read
199,389
Canonical observations produced
398,568
Dropped — player identity unresolvable
102
Dropped — player listed against themselves
3
Match dates covered
1967-12-28 to 2026-05-25

Each match becomes two observations, so the observation count is about twice the match count. These figures come from the published artifact, not from this page.

Scale

What the number means

A weighted composite on a fixed scale — not a percentile, and not a ranking position.

Ratings are published on a 0–1000 scale. The number is a weighted composite of the five component scores — it is not a percentile, not a rank, and not a share of anything. A rating of 500 does not mean the median player, and no band of the scale carries a published label.

Where the published field currently sits

Lowest published rating
311.3
Median published rating
478.6
Highest published rating
771.7

Measured across the 159 players carrying a published rating in the current artifact. The scale runs 0–1000, and no published rating currently reaches either end of it — the ends are the bounds of the arithmetic, not targets. These three numbers describe the field as published today and will move when the artifact is regenerated.

Because the scale is a weighted composite rather than a ranking, the gap between two ratings is a gap in the composite. It does not convert to places in a ranking, to a number of matches, or to a probability.

Model

The five components

Each is scored 0–100 and enters the rating at a fixed weight. These five are the whole model.

The composite

Racquet Rating = (Σ component score × component weight) × 10

Each component is scored 0–100. The five scores are combined with the fixed weights above, and the weighted score is multiplied by 10 to land on the published 0–1000 scale.

Performance Index35% of the rating

How well the player wins points and matches — serve and return points won, break points converted and saved, results against elite opponents, and the strength of the field they have faced.

It carries the most weight of any component, so it usually accounts for the largest share of a rating.

Seven inputs are winsorised, standardised against fixed baselines and combined through a logistic map to a 0–100 score. Elo and strength of schedule are two of those seven inputs — they feed this component, they are not components themselves.

Form Momentum25% of the rating

Recent trajectory: results over a 26-week window with exponential decay, a fatigue adjustment from minutes and sets played, and an allowance for a player returning after a long absence.

It is what makes the rating a current-form measure rather than a career résumé.

The published score is shrunk toward the neutral 50 in proportion to how much evidence supports it, so a short hot streak is damped rather than treated as equal to a long validated record. Both the raw score and the confidence used are published, so the adjustment can be checked.

Surface Balance15% of the rating

How evenly the player performs across hard, clay and grass — an entropy-like measure of the spread, with a small penalty for extreme specialisation and credit for consistency across surfaces.

It rewards a game that travels. It is a measure of balance, not of how good the player is on any one surface.

A high score means performance is spread evenly across surfaces; a low score means it is concentrated. Neither reading says which surface a player is best on — that would need per-surface data the artifact does not publish.

Era Normalization15% of the rating

An adjustment against fixed era baselines and tour-depth proxies, so players from different periods remain comparable.

It is what allows one 0–1000 scale to span the whole dataset rather than only the current season.

The baselines are frozen, so this component reflects when a player competed and against what depth of field, not how they played.

Match Context10% of the rating

How results compare with expectation once the round and the event are taken into account, so performance on bigger stages counts for more.

It carries the smallest weight of the five, so it moves a rating the least.

The round and event weights are calibrated in the pipeline and published as a single score; this page does not recompute them. Across the rated field this component varies far less between players than the others, so it rarely explains why two players differ.

The five weights total 100%. There is no sixth component, and nothing is applied to the rating after the five are combined.

Provenance

What data is used

One licensed public source of tour-level match results, pinned to an exact revision.

Ratings are computed from ATP tour-level main-draw match results taken from a single public dataset, at one recorded revision. The dataset, its author, its licence and the exact revision in use are listed on the Data sources page, which is also where the line between the source’s data and Racquet Rating’s own derived output is drawn.

Nothing else feeds the model. There are no manually entered results, no second dataset reconciled against the first, and no inputs beyond the match record — which is also why the model cannot see injuries, withdrawals or conditions except insofar as they changed a result.

Eligibility

Who gets a rating, and how much history is used

A trailing window of match results, and a minimum amount of evidence inside it.

Racquet Rating requires at least 40 qualifying matches in the current 4-year rating window. Players without sufficient recent evidence are not assigned a current rating.

The window. A current rating is computed only from matches inside the trailing 4-year window ending at the artifact’s as-of date. Older matches stay in the dataset and still inform the frozen era baselines that Era Normalization scores against, but they do not enter a current rating. This is what makes the rating a measure of a recent period rather than of a career.

The 40-match threshold. A player with fewer than 40 qualifying matches in that window is not given a number. This is a data-sufficiency rule: below it there is not enough evidence in the window for the components to be computed from, so no rating is published. It is a decision about how much evidence the model requires before it will publish, not a statistical confidence guarantee, and no margin of error is claimed on either side of it.

A player under the threshold is not rated zero and is not ranked last. They are shown with no rating and the reason, and their match record, last match date and other published data remain visible. This says nothing about how good the player is.

Players Rated

159

Current Racquet Rating published

Active

143

Competed in the last year

Stale

16

Rated, but not competing recently

Insufficient Evidence

632

Fewer than 40 qualifying matches

States

Rating status

Four different reasons a page may not show you a number. They are not interchangeable.

Active

Published as active

A rating was computed, and the player has competed within 365 days of the artifact's as-of date. The rating describes current form.

Stale

Published as stale

A rating was computed from a sufficient evidence window, but the player's last match is more than 365 days before the as-of date. The number is real and traceable but describes past form, not present form. last_match_date states how old it is.

Not currently rated

Published as insufficient_evidence

The player appears in the rating window but has fewer than the minimum canonical observations required to publish a number. This is a statement about evidence volume, not about the player's ability, and it is NOT the same as being unranked or rated zero. Historical and peak data may still exist.

Not yet computed

Published as not_yet_computed

No rating could be produced because the calculation did not complete -- the engine raised, or the pipeline has not yet run for this player. This is a pipeline state, not a statement about evidence.

Data not yet qualified

A property of the tour, not of any player

WTA match data has not completed source qualification, so no WTA ratings are published. Racquet Rating does not publish ratings from an unverified source. This is not a per-player status and it is not the same as a player having too little evidence: no rating has been computed for any player on an unqualified tour, so there is nothing to publish or to withhold. ATP is the only tour currently qualified.

Data unavailable

A temporary fault, not a finding about the data

If the published artifact cannot be read, surfaces that would normally show a rating say so explicitly rather than showing a blank, a zero or an empty table. A rating that exists is still there; the site simply could not load it for that request. This is the only one of these four states that carries no information about a player or a tour.

Scope

Which tours are covered

ATP only. The WTA has not completed source qualification.

ATP is the only tour currently qualified for Racquet Rating publication. WTA match data has not completed source qualification, so no WTA ratings are published. Racquet Rating does not publish ratings from an unverified source.

There are no unpublished or hidden WTA ratings. No WTA rating has been computed, because the WTA source data has not been qualified, and this site does not publish ratings from a source it has not verified. Where the site offers a WTA view it says the tour is not qualified rather than showing an empty result, because an empty result would read as a claim that no WTA player qualifies.

Boundaries

What Racquet Rating does not measure

The rating answers one question from one kind of evidence. These are the questions it does not answer.

A Racquet Rating is not

An official ATP ranking, or any part of one
Racquet Rating is this site’s own measure. It has no official standing, it is computed differently from the ATP ranking, and it is not endorsed by or affiliated with the ATP, the WTA or any governing body.
A seeding, a points total or a prize-money order
The model reads match results. It does not read entry lists, ranking points, draw positions or prize money, so it cannot stand in for any of them.
A head-to-head record
Two players’ ratings are two separate measurements against their own fields. The difference between them is not a record of matches they played against each other.
A prediction of who wins the next match
Nothing in the model is fitted to forecast a future result, and no output of it is a probability. It describes evidence already on the record.
A recent-form rating, or a surface rating
Form Momentum is one component of five, at a quarter of the weight, and Surface Balance measures evenness across surfaces rather than strength on one. A rating is neither of those things on its own.
A statement about a player outside the evidence window
A current rating is computed only from matches inside the rating window. It says nothing about a career before that window, and it is not a career ranking.
A measure of anything the match record does not contain
Injuries, withdrawals, draw luck, coaching, conditions and tactical match-ups are not inputs. Where they affected results, the model sees only the results.

Shown beside a rating, but not part of it

Recent results
A player’s record over their last 10 matches in the rating window. A record of what happened. It is not Form Momentum, which is a 26-week decayed, fatigue-adjusted and evidence-damped score.
Highest-ranked opponents defeated
Wins over the highest-ranked opponents in the rating window, ordered by the opponent’s official rank on the day. It is evidence beside the rating, not an input the rating is built from.
Surface performance
Measured win rates on hard, clay and grass, shown only where the sample supports a rate. The rating is not a weighted average of these rates — Surface Balance measures how evenly performance is spread, not how high any one rate is.
Elo
Elo is one of the seven inputs to Performance Index. It is on its own scale, it is not a sixth component of the Racquet Rating, and it is not comparable with the component scores.

For readers who want to check it

Technical details

How to verify a published rating against the published components. Nothing here is needed to read a rating — the definitions above are complete on their own.

How a match is represented⌄

Every match produces two canonical observations, one from each player’s side, rather than a single winner-perspective row. A player’s record in the window is therefore read the same way whether they won or lost, and a score is never displayed from only the winner’s point of view.

How the contributions reconcile with the rating⌄

The rating is a linear combination, so each component’s contribution in rating points is exactly its score × its weight × 10, and the five contributions sum to the published rating. The “Why this rating?” section on every rated profile prints that sum next to the published number so it can be checked on the page.

The check is performed at full precision on the published values and holds to within 0.5 rating points — the same tolerance the publication gate uses, so the publish-time and read-time checks agree on what counts as explainable. The artifact rounds component scores and ratings before writing them, which is the only reason the difference is not exactly zero.

Weights, scale and published precision⌄

Weights: Performance Index 35%, Form Momentum 25%, Surface Balance 15%, Era Normalization 15%, Match Context 10%. Ratings are published on the 0–1000 scale to 1 decimal place. Component scores are published on a 0–100 scale and are a different quantity from a contribution in rating points; both are labelled wherever both appear.

A value outside the scale is treated as a contract violation and is not rendered, rather than being rescaled to fit.

Elo, and what it is not⌄

Elo is one of the seven inputs to Performance Index. It is on its own scale, it is not a sixth component of the Racquet Rating, and it is not comparable with the component scores.

Where a profile prints an Elo figure it is labelled as an input and is shown on its own scale. It is published because it is checkable, not because it is a rating.

Freshness and versioning⌄

The site reads one versioned artifact and never recomputes a rating in the browser or on the server. The artifact currently served is model v1.1.0, schema 2.0.0, built from match data through 2026-05-25.

A rating is marked stale rather than withdrawn when the player stops competing, so an old number is still traceable to the matches behind it and is never presented as current form.

Keep exploring

Use methodology in context

Jump into player pages and comparisons to see how this framework appears in real score profiles.

Explore Top PlayersCompare PlayersOpen ExplorerView Majors

On this page

What it isHow it is producedWhat the number meansThe five componentsData usedWho gets a ratingRating statusToursWhat it does not measureTechnical details