Yuliia Starodubtseva vs Elena Rybakina

hard wta grand_slam best of 3 tennis_wta_us_open · commence 2026-09-05 21:55:00+00:00 · completed winner: b

P(Yuliia Starodubtseva) = 0.000  |  P(Elena Rybakina) = 1.000
live composite (last tick)

Sharp anchor — Pinnacle pre-match

Pinnacle P(Yuliia Starodubtseva) 0.131
Pinnacle P(Elena Rybakina) 0.869
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 Yuliia StarodubtsevaElena Rybakina 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
Yuliia Starodubtseva counterpuncher 11 0.602 1.2
Elena Rybakina big_server 164 0.787 6.9

Matchup adjustment: -0.50pp toward Elena Rybakina 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)

AdjustmentYuliia StarodubtsevaElena RybakinaNet
Match fatigue (14d load) -1.50pp (load 3.0) -1.00pp (load 2.0) -0.50pp

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 (200 ticks)

Time Set Game Score Server P(Yuliia Starodubtseva) P(Elena Rybakina) Exp games Source
02:45:06 2 6 {'sets': [[0, 6]], 'current_set_games': [2, 4], 'sets_won_synthetic': True, 'point_score': ['15', '15']} b 0.097 0.903 30.8 feed
02:45:37 2 6 {'sets': [[0, 6]], 'current_set_games': [2, 4], 'sets_won_synthetic': True, 'point_score': ['15', '30']} b 0.111 0.889 30.9 feed
02:46:07 2 6 {'sets': [[0, 6]], 'current_set_games': [2, 4], 'sets_won_synthetic': True, 'point_score': ['15', '30']} b 0.100 0.900 30.9 feed
02:46:38 2 6 {'sets': [[0, 6]], 'current_set_games': [2, 4], 'sets_won_synthetic': True, 'point_score': ['15', '40']} b 0.100 0.900 30.8 feed
02:47:09 2 6 {'sets': [[0, 6]], 'current_set_games': [2, 4], 'sets_won_synthetic': True, 'point_score': ['30', '40']} b 0.090 0.910 30.7 feed
02:47:39 2 6 {'sets': [[0, 6]], 'current_set_games': [2, 4], 'sets_won_synthetic': True, 'point_score': ['40', '40']} b 0.105 0.895 30.8 feed
02:48:10 2 6 {'sets': [[0, 6]], 'current_set_games': [2, 4], 'sets_won_synthetic': True, 'point_score': ['40', '40']} b 0.107 0.892 30.9 feed
02:48:40 2 6 {'sets': [[0, 6]], 'current_set_games': [2, 4], 'sets_won_synthetic': True, 'point_score': ['A', '40']} b 0.118 0.881 30.8 feed
02:49:11 2 6 {'sets': [[0, 6]], 'current_set_games': [2, 4], 'sets_won_synthetic': True, 'point_score': ['40', '40']} b 0.096 0.904 30.6 feed
02:49:41 2 6 {'sets': [[0, 6]], 'current_set_games': [2, 4], 'sets_won_synthetic': True, 'point_score': ['40', '40']} b 0.112 0.888 30.8 feed
02:50:12 2 6 {'sets': [[0, 6]], 'current_set_games': [2, 4], 'sets_won_synthetic': True, 'point_score': ['40', 'A']} b 0.111 0.889 30.9 feed
02:50:42 2 6 {'sets': [[0, 6]], 'current_set_games': [2, 4], 'sets_won_synthetic': True, 'point_score': ['40', 'A']} b 0.102 0.897 30.8 feed
02:51:13 2 7 {'sets': [[0, 6]], 'current_set_games': [3, 4], 'sets_won_synthetic': True, 'point_score': ['0', '0']} b 0.212 0.787 34.1 feed
02:51:43 2 7 {'sets': [[0, 6]], 'current_set_games': [3, 4], 'sets_won_synthetic': True, 'point_score': ['0', '0']} b 0.213 0.786 33.9 feed
02:52:14 2 7 {'sets': [[0, 6]], 'current_set_games': [3, 4], 'sets_won_synthetic': True, 'point_score': ['0', '0']} b 0.214 0.786 34.0 feed
02:52:44 2 7 {'sets': [[0, 6]], 'current_set_games': [3, 4], 'sets_won_synthetic': True, 'point_score': ['0', '0']} b 0.213 0.786 34.0 feed
02:53:15 2 7 {'sets': [[0, 6]], 'current_set_games': [3, 4], 'sets_won_synthetic': True, 'point_score': ['15', '0']} b 0.202 0.798 34.0 feed
02:53:45 2 7 {'sets': [[0, 6]], 'current_set_games': [3, 4], 'sets_won_synthetic': True, 'point_score': ['30', '0']} b 0.222 0.778 34.1 feed
02:54:16 2 7 {'sets': [[0, 6]], 'current_set_games': [3, 4], 'sets_won_synthetic': True, 'point_score': ['40', '0']} b 0.211 0.789 34.0 feed
02:54:46 2 7 {'sets': [[0, 6]], 'current_set_games': [3, 4], 'sets_won_synthetic': True, 'point_score': ['40', '0']} b 0.219 0.781 34.0 feed
02:55:17 2 8 {'sets': [[0, 6]], 'current_set_games': [3, 5], 'sets_won_synthetic': True, 'point_score': ['0', '0']} b 0.111 0.889 32.8 feed
02:55:48 2 8 {'sets': [[0, 6]], 'current_set_games': [3, 5], 'sets_won_synthetic': True, 'point_score': ['0', '15']} b 0.113 0.887 32.9 feed
02:56:18 2 8 {'sets': [[0, 6]], 'current_set_games': [3, 5], 'sets_won_synthetic': True, 'point_score': ['0', '30']} b 0.095 0.905 32.8 feed
02:56:49 2 8 {'sets': [[0, 6]], 'current_set_games': [3, 5], 'sets_won_synthetic': True, 'point_score': ['0', '30']} b 0.088 0.911 32.8 feed
02:57:20 2 8 {'sets': [[0, 6]], 'current_set_games': [3, 5], 'sets_won_synthetic': True, 'point_score': ['15', '30']} b 0.101 0.899 32.8 feed
02:57:50 2 8 {'sets': [[0, 6]], 'current_set_games': [3, 5], 'sets_won_synthetic': True, 'point_score': ['30', '30']} b 0.104 0.896 32.7 feed
02:58:20 2 8 {'sets': [[0, 6]], 'current_set_games': [3, 5], 'sets_won_synthetic': True, 'point_score': ['30', '30']} b 0.108 0.891 32.8 feed
02:58:51 2 8 {'sets': [[0, 6]], 'current_set_games': [3, 5], 'sets_won_synthetic': True, 'point_score': ['40', '30']} b 0.104 0.896 32.7 feed
02:59:22 2 8 {'sets': [[0, 6]], 'current_set_games': [3, 5], 'sets_won_synthetic': True, 'point_score': ['40', '30']} b 0.111 0.889 32.9 feed
02:59:52 3 9 {'sets': [[0, 6], [0, 6]], 'current_set_games': [3, 6], 'sets_won_synthetic': True, 'point_score': ['13', '9']} b 0.000 1.000 0.0 feed

Showing last 30 of 200 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.