PHPMem v2.0.1

Version
1.6.45
Uptime
18 days 4 hours 46 minutes 31 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
243 995
Rejected
0
llm:15b5bfd5f7845d43c481dbb8ca874441161ecb29212053a3de66bbd9ebdd371b
TTL 4 days 1 hour 38 minutes Size 2,69KB Export
Edit
Yes, the most natural segmentation is **court surface**, and the data backs it up. Hard, Clay, Grass and Carpet are four clearly different groups, plus a small blank group. The figures below come from `raw.raw_kaggle`, which has 237,205 player-match rows. | Surface | Rows | Avg aces | Avg double faults | Avg player rank | |---|---|---|---|---| | Hard | 117,571 | 5.88 | 2.97 | about 311 | | Clay | 107,650 | 3.38 | 2.81 | about 361 | | Grass | 9,479 | 7.57 | 3.17 | about 151 | | Carpet | 2,477 | 7.94 | 3.11 | about 517 | | (blank) | 28 | n/a | n/a | about 550 | **Why surface works as a grouping** - **Serve profile:** Average aces per match are about 3.4 on clay and 7.6–7.9 on grass and carpet, so faster surfaces favour servers. Hard courts sit in between at 5.9. Double faults vary much less, from 2.8 to 3.2. - **First-serve points:** Grass has the highest average first-serve points won (53.0, against 45.0–45.3 on clay and hard courts). It also has the highest average serve points (84 vs 73–74). Both come from `raw.raw_kaggle`. - **Who plays where:** Grass matches involve much higher-ranked players, with an average rank of about 151 and a median of 109. Clay and hard courts average 361 and 311, and carpet averages 517. Lower rank numbers mean better players, so grass is a smaller, more elite slice. Carpet is a small legacy group. - **Group sizes:** Hard and clay make up about 95% of rows. Grass and carpet are small, so their averages are less stable. - **Data quality:** 28 rows have no surface. Exclude them or treat them as "unknown" when segmenting. **Other natural groupings** - **Round (`Rd`, about 14 values):** This lets you compare early and late rounds. It is available in the raw tables and in gold tables such as `raw_kaggle_by_Rd` and `raw_kaggle_by_Surface_Rd`. - **Tournament (about 3,963 distinct values):** These are very fine-grained and suit drill-downs more than top-level segments. - **Player rank:** Rank is a numeric measure from 1 to about 2,250. Band it into tiers, such as top 10, top 100 and the rest, for serve and return comparisons. `return_kaggle` and `serve_kaggle` also have gold tables by rank. - **Time:** Dates run from 2013 to 2024 in `raw_kaggle`. `serve_kaggle` goes back to 2006. Year is a natural cut for form-over-time questions. The raw, serve and return tables share the same grain of one row per player per match, but the card reports no verified join key between them. Segment each table on its own, using the same surface and round labels. A sensible hierarchy is surface first, then round, then rank tier. Tournament is a drill-down within that.