Coco Gauff vs Marta Kostyuk

hard wta masters_1000 best of 3 tennis_wta_cincinnati_open · commence 2026-08-22 00:30:00+00:00 · completed winner: a

P(Coco Gauff) = 1.000  |  P(Marta Kostyuk) = 0.000
live composite (last tick)

Sharp anchor — Pinnacle pre-match

Pinnacle P(Coco Gauff) 0.560
Pinnacle P(Marta Kostyuk) 0.440
n_books observed 1 live

Sharp anchor sourced via OddsAPI event_id lookup → Pinnacle no-vig computation. (Field-id mismatch fix shipped 2026-05-02 — pinnacle capture is now the source of truth for pre-match anchoring.)

Surface ELO radar

Surface Coco GauffMarta Kostyuk Diff (a−b)
hard 1500 (0) 1500 (0) +0
clay 1500 (0) 1500 (0) +0
grass 1500 (0) 1500 (0) +0
indoor 1500 (0) 1500 (0) +0
overall 1500 (0) 1500 (0) +0

Per-surface ELO from 24h-cached global rater. Number-in-parens = matches contributing to that rating.

Style matchup (display-only · v0 priors · NOT in headline)

Player Archetype n matches Hold % Aces / match
Coco Gauff big_server 168 0.726 4.3
Marta Kostyuk all_court 122 0.644 3.4

Matchup adjustment: +0.00pp toward Marta Kostyuk on hard.

v0 sharp priors per tennis-betting-expert lock 2026-05-02. Display-only — NOT blended into the headline composite probability above. Promotion to wired-in pending: N≥200 archetype-tagged settled matches with closing-line capture + Brier delta ≥+0.005 vs unwired baseline + no 5pp-bucket regression. Re-evaluate post-Roland Garros (2026-06-09).

Composite adjustments (live)

AdjustmentCoco GauffMarta KostyukNet
Match fatigue (14d load) -2.75pp (load 5.5) -2.00pp (load 4.0) -0.75pp

Live adjustments flowed into the headline composite probability above. Surface transition gated to documented poor-history (>15% win-rate drop in first 3 surface-change matches). Fatigue: 14-day load weighted by best-of (BO5=2.0, BO3=1.0), capped ±3pp. Tennis-betting-expert RG R1 audit 2026-05-24.

Composite signal weights

SignalWeight
surface_elo 0.35
recent_form 0.18
h2h_matrix 0.16
surface_transition 0.11
match_simulator 0.10
tournament_fatigue 0.10
Sum 1.00

Locked weights per tennis-betting-expert composite design 2026-04-26. Signals flagged low_data are excluded; remaining weights renormalize proportionally. h2h overweighting noted in audit; will be revisited with a dedicated calibration pass after Roland Garros.

Live trajectory (137 ticks)

Time Set Game Score Server P(Coco Gauff) P(Marta Kostyuk) Exp games Source
02:43:48 2 3 {'sets': [[6, 0]], 'current_set_games': [3, 0], 'sets_won_synthetic': True, 'point_score': ['40', 'A']} b 0.863 0.137 23.4 feed
02:44:18 2 4 {'sets': [[6, 0]], 'current_set_games': [4, 0], 'sets_won_synthetic': True, 'point_score': ['0', '0']} b 0.928 0.072 23.1 feed
02:44:49 2 4 {'sets': [[6, 0]], 'current_set_games': [4, 0], 'sets_won_synthetic': True, 'point_score': ['15', '0']} b 0.944 0.056 22.9 feed
02:45:20 2 4 {'sets': [[6, 0]], 'current_set_games': [4, 0], 'sets_won_synthetic': True, 'point_score': ['30', '0']} b 0.934 0.066 23.0 feed
02:45:50 2 4 {'sets': [[6, 0]], 'current_set_games': [4, 0], 'sets_won_synthetic': True, 'point_score': ['30', '15']} b 0.935 0.065 23.0 feed
02:46:21 2 4 {'sets': [[6, 0]], 'current_set_games': [4, 0], 'sets_won_synthetic': True, 'point_score': ['40', '15']} b 0.945 0.055 22.9 feed
02:46:51 2 4 {'sets': [[6, 0]], 'current_set_games': [4, 0], 'sets_won_synthetic': True, 'point_score': ['40', '15']} b 0.926 0.074 23.1 feed
02:47:22 2 5 {'sets': [[6, 0]], 'current_set_games': [4, 1], 'sets_won_synthetic': True, 'point_score': ['0', '0']} b 0.858 0.142 25.5 feed
02:47:53 2 5 {'sets': [[6, 0]], 'current_set_games': [4, 1], 'sets_won_synthetic': True, 'point_score': ['0', '0']} b 0.860 0.140 25.5 feed
02:48:23 2 5 {'sets': [[6, 0]], 'current_set_games': [4, 1], 'sets_won_synthetic': True, 'point_score': ['0', '0']} b 0.858 0.142 25.6 feed
02:48:54 2 5 {'sets': [[6, 0]], 'current_set_games': [4, 1], 'sets_won_synthetic': True, 'point_score': ['0', '0']} b 0.867 0.133 25.3 feed
02:49:24 2 5 {'sets': [[6, 0]], 'current_set_games': [4, 1], 'sets_won_synthetic': True, 'point_score': ['0', '0']} b 0.856 0.144 25.4 feed
02:49:55 2 5 {'sets': [[6, 0]], 'current_set_games': [4, 1], 'sets_won_synthetic': True, 'point_score': ['15', '15']} b 0.857 0.143 25.5 feed
02:50:25 2 5 {'sets': [[6, 0]], 'current_set_games': [4, 1], 'sets_won_synthetic': True, 'point_score': ['30', '15']} b 0.866 0.134 25.4 feed
02:50:56 2 5 {'sets': [[6, 0]], 'current_set_games': [4, 1], 'sets_won_synthetic': True, 'point_score': ['30', '15']} b 0.850 0.150 25.5 feed
02:51:26 2 5 {'sets': [[6, 0]], 'current_set_games': [4, 1], 'sets_won_synthetic': True, 'point_score': ['40', '15']} b 0.871 0.129 25.4 feed
02:51:57 2 6 {'sets': [[6, 0]], 'current_set_games': [4, 2], 'sets_won_synthetic': True, 'point_score': ['0', '0']} b 0.785 0.215 28.0 feed
02:52:28 2 6 {'sets': [[6, 0]], 'current_set_games': [4, 2], 'sets_won_synthetic': True, 'point_score': ['0', '15']} b 0.793 0.207 28.0 feed
02:52:58 2 6 {'sets': [[6, 0]], 'current_set_games': [4, 2], 'sets_won_synthetic': True, 'point_score': ['15', '15']} b 0.781 0.219 28.0 feed
02:53:29 2 6 {'sets': [[6, 0]], 'current_set_games': [4, 2], 'sets_won_synthetic': True, 'point_score': ['15', '30']} b 0.799 0.201 27.8 feed
02:54:00 2 6 {'sets': [[6, 0]], 'current_set_games': [4, 2], 'sets_won_synthetic': True, 'point_score': ['15', '40']} b 0.777 0.223 28.0 feed
02:54:30 2 7 {'sets': [[6, 0]], 'current_set_games': [5, 2], 'sets_won_synthetic': True, 'point_score': ['0', '0']} b 0.865 0.135 27.5 feed
02:55:01 2 7 {'sets': [[6, 0]], 'current_set_games': [5, 2], 'sets_won_synthetic': True, 'point_score': ['0', '0']} b 0.855 0.145 27.5 feed
02:55:31 2 7 {'sets': [[6, 0]], 'current_set_games': [5, 2], 'sets_won_synthetic': True, 'point_score': ['0', '0']} b 0.857 0.143 27.7 feed
02:56:02 2 7 {'sets': [[6, 0]], 'current_set_games': [5, 2], 'sets_won_synthetic': True, 'point_score': ['0', '0']} b 0.866 0.134 27.4 feed
02:56:33 2 7 {'sets': [[6, 0]], 'current_set_games': [5, 2], 'sets_won_synthetic': True, 'point_score': ['0', '15']} b 0.862 0.138 27.5 feed
02:57:03 2 7 {'sets': [[6, 0]], 'current_set_games': [5, 2], 'sets_won_synthetic': True, 'point_score': ['0', '30']} b 0.860 0.140 27.5 feed
02:57:34 2 7 {'sets': [[6, 0]], 'current_set_games': [5, 2], 'sets_won_synthetic': True, 'point_score': ['0', '30']} b 0.847 0.153 27.6 feed
02:58:04 2 7 {'sets': [[6, 0]], 'current_set_games': [5, 2], 'sets_won_synthetic': True, 'point_score': ['0', '40']} b 0.886 0.114 27.5 feed
02:58:35 3 8 {'sets': [[6, 0], [6, 0]], 'current_set_games': [6, 2], 'sets_won_synthetic': True, 'point_score': ['4', '12']} b 1.000 0.000 0.0 feed

Showing last 30 of 137 ticks.

Tennis variance: best-of-3 single-match outcomes are noisy. Composite + trajectory shown for transparency, not as a tout. Use closing-line comparison (vs Pinnacle anchor above) as the canonical edge metric.