PHPMem v2.0.1

Version
1.6.45
Uptime
18 days 9 hours 57 minutes 18 seconds

Memory

Total
512MB
Used
12,33MB (2.41%)
Free
499,67MB

Keys

Current
13 424
Total (since start)
40 994
Evictions
0
Reclaimed
762
Expired Unfetched
0
Evicted Unfetched
0

Connections

Current
2 / 1 024 max
Total
245 859
Rejected
0
llm:4976c04fe1faf02f1111fc6ab4f73d7c638c244d1d3b80df0e108f52b70b911d
TTL 3 days 20 hours 28 minutes 18 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.