descriptive only
These are historical per-period rates and splits for Christopher Oconnell (ATP), not a prediction and not an edge claim. descriptive_only: true.
as of 2026-07-19T03:41:37.066640+00:00Christopher Oconnell (ATP)Tennis players -- player_id 106331as of 2026-07-19T03:41:37.066640+00:00
hard wr career
0.419
clay wr career
0.3636
grass wr career
null
hard wr recent
0.4474
clay wr recent
null
grass wr recent
null
clay minus hard career
-0.0554
clay minus hard recent
-0.0545
grass adapt career
null
grass adapt recent
null
sample floor -- hard_wr: hard_n>=30 | clay_wr: clay_n>=30 | grass_wr: grass_n>=30 | clay_minus_hard: clay_n>=25 & hard_n>=25 | grass_adapt: grass_n>=15 (per metric, career+recent_form independently; below floor shows n/a)download card PNG -> docs/img/atlas/tennis/christopher_oconnell_atp.png
sample floor
as of 2026-07-19T03:41:37.066640+00:00
An entity earns a descriptive card only after clearing a minimum-sample floor, so rates are not read off tiny samples. The floor for this pack is hard_wr: hard_n>=30 | clay_wr: clay_n>=30 | grass_wr: grass_n>=30 | clay_minus_hard: clay_n>=25 & hard_n>=25 | grass_adapt: grass_n>=15 (per metric, career+recent_form independently; below floor shows n/a). Entities below the floor are deliberately left off -- we do not print rates we cannot stand behind.