Demo -- read-only snapshot of the live system as of 2026-07-16T01:45:31Z; no live data, paper units only.
Skip to main content
descriptive only

These are historical per-period rates and splits for Karen Khachanov (ATP), not a prediction and not an edge claim. descriptive_only: true.

as of 2026-07-19T03:41:37.066640+00:00
Karen Khachanov (ATP)Tennis players -- player_id 111575as of 2026-07-19T03:41:37.066640+00:00
hard wr career
0.5739
clay wr career
0.5865
grass wr career
0.64
hard wr recent
0.6091
clay wr recent
0.6429
grass wr recent
null
clay minus hard career
0.0126
clay minus hard recent
0.0338
grass adapt career
0.0567
grass adapt recent
-0.0168
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/karen_khachanov_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.

Built by Neel Shah. Every figure on this card traces to a committed JSON under webapp/public/data/showcase/. Descriptive only: no prediction, ROI, or edge is claimed. Truth source: docs/JOB_EVIDENCE_PACKET.md.