PHPMem v2.0.1

Version
1.6.45
Uptime
17 days 15 hours 57 minutes 11 seconds

Memory

Total
512MB
Used
12,72MB (2.48%)
Free
499,28MB

Keys

Current
14 060
Total (since start)
40 994
Evictions
0
Reclaimed
760
Expired Unfetched
0
Evicted Unfetched
0

Connections

Current
14 / 1 024 max
Total
240 054
Rejected
0
llm:1d4b373540df28f8fe402d19a9459e9b0e69bf460992d557ed5ef691741c9c74
TTL 4 days 14 hours 28 minutes 25 seconds Size 2,42KB Export
Edit
**The most counterintuitive finding is that the "surface effect" on serving may be partly a player-quality effect. The dataset is also mostly not elite tennis.** I'd put it this way, based on the per-surface summary of `raw.raw_kaggle` (rows are player-matches): 1. **Aces differ sharply by surface, but so does the quality of player on each surface.** - Average aces per match are about 3.4 on clay, 5.9 on hard, 7.6 on grass and 7.9 on carpet. - Average ranking (`Rk`) also varies a lot. Grass has a mean of about 151 and a median of 109. Clay has a mean of about 361 and a median of 288. Hard sits at about 311 (median 237), and carpet at about 517 (median 440). - Grass is therefore dominated by top-100-ish players and clay by much lower-ranked ones. Some of the "grass is a big-serving surface" signal, and of clay's low aces, may really be who plays on each surface. Surface and rank are confounded, so a naive surface comparison of serve stats is not a clean surface effect. - Carpet doesn't fit the pattern: it has the highest aces (7.9) but the worst average rank (517). That suggests carpet's ace rate is a real surface effect, and it is a small sample of only 2,477 rows. 2. **The data is mostly lower-level tennis.** Even on hard courts, the median player rank is 237, and ranks run out to about 2,225. Over 99% of the rows with a surface value are hard or clay (117,571 and 107,650 of 237,205), and grass is only 9,479 rows. Conclusions from this data describe the wider professional circuit, not the elite tour. 3. **A large share of match stats is missing.** `TP`, `Aces`, `DFs`, `SP`, `1SP`, `2SP` and `vA` are each null in 86,793 of 237,205 rows, about 37%. Any serve-based comparison only covers the matches where stats were recorded, and that coverage may not be random by surface or tournament level. Separately, 28 rows have a blank surface. The two mismatches above, ace rates versus player rank, are the ones to check before using this data for scouting or win-probability modelling. I did not run a rank-controlled comparison, so the confounding is something the numbers suggest rather than something I confirmed. The figures come from the per-surface aggregate of `raw.raw_kaggle` (`Surface`, `row_count`, `Rk__avg`, `Rk__median`, `Aces__avg`) and the null counts from `inspect_columns` on the same table.