PHPMem v2.0.1

Version
1.6.45
Uptime
18 days 11 hours 2 minutes 27 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
246 215
Rejected
0
llm:df001b2d999f27aeb2d34055ac7f58f9f248ad66fffb318acab5953a4db00158
TTL 3 days 19 hours 21 minutes 36 seconds Size 2,38KB Export
Edit
Yes. The most natural segmentation is by **court surface**, with match round, tournament and opponent rank as secondary cuts. **1. Surface (primary segment)** - Surface has four real values plus a small blank group. Hard has 117,571 rows, Clay 107,650, Grass 9,479, Carpet 2,477, and 28 rows have no surface. Together that is all 237,205 rows of `raw.raw_kaggle`. - Surface splits the data into different styles of play. Average aces per match are about 3.4 on clay, 5.9 on hard, 7.6 on grass and 7.9 on carpet. Grass and carpet are the big-serving surfaces, and clay is the slow one. - Double faults barely change (about 2.8 to 3.2 per match). The surface effect is mostly about aces and serve dominance. - The groups are very uneven in size. Hard and clay make up about 95% of records, while carpet is small and mostly historical. Treat grass and carpet comparisons with more caution. - The mean player rank also differs by surface: about 151 on grass, 311 on hard, 361 on clay and 517 on carpet. Rank is a confounder here, so part of the surface gap may reflect who plays on each surface and not the surface alone. **2. Other natural groupings** (from the dataset card; I did not run queries on these) - **Round (`Rd`):** about 14 distinct values. This is useful for asking whether form or serve and return stats change deeper into a tournament. - **Tournament:** about 3,963 distinct values, which is too many to use directly. It works better rolled up to tournament level or filtered to the top events. - **Opponent rank band (`vRk`) and player rank (`Rk`):** both are continuous and range up to about 2,250. They are best binned into bands such as top 10, top 50 and top 100. - **Serve and return pressure splits:** break-point saved (`Bpsvd`) and break-point converted (`BPCnv`) are other splits the pre-aggregated tables offer. - **Player and year:** `raw.players_man_` and `raw.players_tournament_man_` let you group by player and by season (2002–2024). The three match tables (`raw_kaggle`, `return_kaggle`, `serve_kaggle`) share the same grain, which is one row per player per match. No verified join key links them, so each segmentation has to be done within one table at a time. **Recommendation:** use Surface × Round as the core segmentation, then add rank bands to control for player quality.