Trang chủTennisMislabeled: the silent data error distorting professional tennis
Tennis

Mislabeled: the silent data error distorting professional tennis

**Câu trả lời cốt lõi:** Lỗi dán nhãn dữ liệu tennis xảy ra khi một bản ghi thiếu trường bắt buộc — tay vợt, giải đấu, mặt sân, cờ bỏ cuộc — nhưng vẫn được đưa vào mô hình. Kết quả là chỉ số phong độ và xếp hạng bị bóp méo dù phép tính không sai. **Sự kiện chính:** - Bảng xếp hạng ATP dùng cửa sổ trượt 52 tuần; điểm Grand Slam tối đa 2.000, ATP Finals 1.500, Masters 1000 là 1.000. - Madrid ở độ cao khoảng 650 mét, điều kiện thi đấu gần hard court hơn Roland Garros dù cùng nhãn clay. - Jannik Sinner bị treo thi đấu ba tháng từ tháng 2 đến đầu tháng 5 năm 2025, tạo khoảng trống dữ liệu trong cửa sổ xếp hạng. - Một mùa cỏ chỉ khoảng năm tuần, cấp cho mỗi tay vợt dưới 300 điểm giao bóng — mẫu quá nhỏ cho kết luận. - ATP áp dụng gọi đường biên điện tử toàn hệ thống từ năm 2025, nhưng gọi biên và xuất dữ liệu vị trí là hai quy trình riêng. **Nguồn:** Phân tích của Nguyễn Tuấn, Melbourne; số liệu tham chiếu từ ATP Tour và WTA, công bố trong mùa giải 2024 và 2025. **Hỏi đáp liên quan:** - Hỏi: Vì sao một trận bỏ cuộc không nên bị loại khỏi mẫu? Đáp: Vì bỏ cuộc tập trung ở nhóm tay vợt tải trọng cao và người vừa trở lại sau chấn thương, loại bỏ chúng là loại bỏ nhóm rủi ro cần hiểu nhất. - Hỏi: Nhãn clay gộp nhiều giải gây hại thế nào? Đáp: Nó trộn các điều kiện độ cao và độ ẩm khác nhau, khiến mô hình xóa mất chênh lệch win rate lên tới hơn hai mươi điểm phần trăm ở một số tay vợt. - Hỏi: Cổng kiểm tra thực thể giải quyết được gì? Đáp: Nó chặn bản ghi thiếu trường bắt buộc trước khi vào mô hình, và buộc hệ thống chấp nhận rằng không đủ dữ liệu là một câu trả lời hợp lệ.

3:12 AM

I opened the file and counted nineteen rows. The header carried one word: tennis. I read slowly, line by line, the way anyone trained in fact-checking learns to read. No player. No tournament. No set, no game, no serve. Those nineteen rows described a system that has nothing to do with racket sports.

I closed the laptop, made tea, and sat still for about four minutes.

What stopped me was not a technical fault. Those nineteen rows would never enter a ranking table; nobody would read them, nobody would share them, and they would die in a temporary folder. The problem sat elsewhere. A single wrong label is enough to make an entire analytical chain speak with great confidence about an object it has never seen. And in professional tennis that failure happens every week, with real names, real numbers, and conclusions that get printed.

When the world stares at the final score, I stare at the empty data field behind it.

Five layers of a tennis match

Layer one is the official result: sets, games, points, duration, winner. Layer two is match statistics: first-serve percentage, points won on first and second serve, break points saved and converted. Layer three is positional data: ball tracking, speed, spin, bounce coordinates. Layer four is physical and medical data: distance covered, accelerations, joint load, injury history. Layer five is market data: odds, commercial value, coaching contracts, exhibition schedules.

These five layers do not speak the same language. They are stitched together by one thing only: labels. Surface, indoor or outdoor, altitude, ball type, round, date, source. Remove one label and the whole chain behind it loses meaning.

In tennis we built an extraordinarily sophisticated measurement system on top of an extraordinarily careless labelling system.

Seven fields and one empty cell

Any record entering one of my models must pass seven fields: a unique player identifier, a tournament identifier with tier, round and absolute date, surface with indoor/outdoor condition, a match-status flag (completed, retired, defaulted, walkover), the player's physical status at that moment, and the source chain.

Drop the fifth field and watch what happens. A young player wins two matches at the Australian Open and loses the third. The statistics show he won 44% of second-serve points across the three matches — a number that invites an immediate verdict: the second serve is his weakness.

But in the third match he retired in the third game of the third set with an abdominal cramp. The retirement flag was never recorded. Every point of that set still counted. In that set he hit eleven second serves and won two. Two out of eleven. The 44% was dragged down by points played in a body that had stopped responding.

An empty label does not erase data. It simply teaches data to lie politely.

The sixth field is worse. Physical status almost never makes it into public data. We know a serve left the racket at 208 km/h; we do not know the player had a painkilling injection in his wrist forty minutes earlier. Both facts carry equal weight for a serious predictive model. We only have one.

Decomposing 8,000 points

A total means nothing until you split it into components of different natures. A player on 8,000 ranking points can be built dozens of ways. Grand Slams pay a maximum of 2,000 points each, the ATP Finals up to 1,500, Masters 1000 events 1,000 each, then ATP 500, ATP 250 and Challengers far below.

A player drawing 4,000 of his 8,000 from two Slams has a high ceiling and a narrow base. A player spreading 8,000 across fourteen events, none above 600, has a wide base and has never touched the ceiling. Same total, different athletes in every meaningful respect.

Ranking points sit in a 52-week rolling window. Jannik Sinner's spring 2026 is the cleanest methodological case in recent memory. He served a three-month suspension under a settlement with the World Anti-Doping Agency from February to early May 2026. He could not add points. The window kept turning, and points from the previous year kept expiring.

Read the ranking chart during that window without knowing about the gap and you see a flat line: form has stalled. The line does not describe form. It describes a schedule that was cut.

That is why I keep two numbers side by side for every player: ranking points, and matches actually played inside the 52-week window. Divide points by matches, not by weeks. 8,000 points from 60 matches and 8,000 points from 45 matches carry entirely different risk concentration.

The ranking is not a fact. It is an accounting convention. Every accounting convention can be misread by someone who does not know what it was built to do.

The clay label and the altitude lesson

Four words cover hundreds of conditions: hard, clay, grass, carpet.

Roland Garros is clay, in Paris, near sea level, heavy ball, high humidity. Madrid is clay too, at roughly 650 metres above sea level, where the ball travels faster and bounces higher — conditions closer to a hard court than to Paris. Rome is clay, low, humid, slow. Monte Carlo is clay, tight court, by the sea. Kitzbühel sits around 760 metres; Gstaad passes 1,000.

Run a model searching for the best clay player on a single label and you are mixing physically different events into one box and calling it a category. In 2026 I split clay into three altitude bands. The sample shattered and I lost most of my statistical power — and found something better: a handful of players showing gaps of more than twenty percentage points in win rate between low-altitude and high-altitude clay, players the four-label model had flattened into "clay specialist".

A wrong label does not produce wrong data. It produces correct data placed in the wrong drawer, which is the hardest error to catch because the arithmetic still returns an answer.

PPDA does not explain Croatia. It explains the football Croatia hides inside a patient shell. In tennis, a grass win rate does not explain a player. It explains what that player is hiding across four heavily televised matches.

Retirements, illness, and the records we delete

There is a paradox in how tennis data handles anomalies: we delete them.

A retirement is dropped for "insufficient data". A withdrawal is marked invalid. A default is pushed out of the training set.

I understand the operational logic and reject the conclusion. Anomalous records carry the most information in the entire dataset. A player retiring in the third set with an abdominal cramp after four matches in eight days is telling you a load story no 6-3 6-4 win can tell. Delete the record and you delete the evidence.

In my system a retirement carries three separate labels: acute injury, exhaustion or cramp, illness. They never merge, because they feed three different models. A player out two weeks with a fever and a player out two weeks with a torn abdominal muscle both appear as "absent 14 days". One returns with temporarily reduced capacity; the other with a far higher recurrence risk.

And there is no public standard for injury labels at all — no shared taxonomy, no diagnostic codes. A hip injury becomes hip, hip flexor, lower back, abdominal, or simply "injury" within a single season. When a player suffers his third injury in eighteen months, we cannot answer the simplest question: are they connected?

Four matches on grass

A grass season lasts about five weeks. A run to the semi-finals of an ATP 500 means four matches, each roughly 70 service points — under 300 points in total. At 300 points the margin of error swallows the entire gap between a good grass player and an average one.

Yet every June an industry writes about "grass specialists" on exactly that sample. In the 2026 grass swing I ran a reverse test: I took the players the press called grass specialists and compared their grass win rates over three seasons with their hard-court rates over the same span. Most gaps fell inside what sampling error explains. The label described four lucky matches recorded with great care, not a capability.

I do not need to see how many matches they won. I need to see how they were labelled in a match nobody noticed.

The source chain, one afternoon at Melbourne Park

Based on my own tracking experience, one rule governs every number before it reaches print: find the way home.

The way home is the chain from the figure on screen back to the person who recorded it, on what device, under which definition.

One afternoon at Melbourne Park I worked with two screens: the official statistics sheet and the positional data export of the same match. I hand-counted every second serve a player hit in the second set and compared direction classifications. The discrepancy was small — it lived on balls landing near the centre line, where the inside/outside split depends on a human-set threshold. It was still enough to shift his second-serve-outside percentage by nearly four points.

Four points on a small sample says nothing about the player. It says everything about the system: two data products from the same match, same court, same technology need not agree, and nobody obliges them to.

Data never lies — but it took me ten years to learn when it tells half the truth.

The counter-intuitive turn: broken records are the richest

The popular belief is that cleaner data yields better analysis. True technically, false epistemically.

A perfectly clean dataset has had every anomaly removed, and anomalies are where information lives. A player winning 70% of tie-breaks across a season is an anomaly to explain, not a skill to praise.

Retirements are not randomly distributed. They cluster among high-load players, late in the season, on punishing surfaces, and among players returning from injury. Remove them and you remove precisely the group you most need to understand. Models built on fully cleaned data predict the obvious matches beautifully and collapse exactly where fans care most.

Tennis also confuses correlation with causation systematically, and always in the direction of the fashionable story. High first-serve percentage correlates with winning; the conclusion drawn is that serving well causes victory. But a player leading often serves more freely, aims closer to the lines, and lands more first serves. Causality runs backwards at least in part. The same holds for break points saved, where the sample is itself selected by the player's quality.

One gate

I could end with five recommendations to the ATP, WTA and ITF. I have written that piece before and it mostly pleases the writer.

So: one recommendation. Every tennis record, before entering any model, internal ranking or public index, must pass an entity gate. The gate asks a single question: does this record contain at least one valid tennis entity with all seven mandatory fields present? If not, the record is held — not deleted — and labelled with the reason.

Such a gate takes seconds to write. It stops a nineteen-row file labelled tennis that contains no tennis player. It stops a retirement becoming an ordinary loss. It stops Madrid being counted as Paris. And it forces the industry to accept what it resists: insufficient data is a valid answer.

Empty stadiums in 2026 did not make players weaker. They exposed fabricated metrics that crowds had been shielding. Mislabels do the same. They create no fake data. They simply let real numbers describe something unreal — and wait to see who among us is patient enough to open the file and count again.

I will still open the file at 3:12 AM. And I will still count.