| Pinnacle P(Anna Kalinskaya) | 0.516 |
|---|---|
| Pinnacle P(Emma Navarro) | 0.484 |
| 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 | Anna Kalinskaya | Emma Navarro | 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.
| Player | Archetype | n matches | Hold % | Aces / match |
|---|---|---|---|---|
| Anna Kalinskaya | aggressive_baseliner | 101 | 0.688 | 1.7 |
| Emma Navarro | aggressive_baseliner | 62 | 0.662 | 1.3 |
Matchup adjustment: +0.00pp toward Emma Navarro 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).
| Adjustment | Anna Kalinskaya | Emma Navarro | Net |
|---|---|---|---|
| Match fatigue (14d load) | -2.00pp (load 4.0) | -1.65pp (load 3.3) | -0.35pp |
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.
| Signal | Weight |
|---|---|
| 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.
| Time | Set | Game | Score | Server | P(Anna Kalinskaya) | P(Emma Navarro) | Exp games | Source |
|---|---|---|---|---|---|---|---|---|
| 02:39:28 | 2 | 4 | {'sets': [[0, 6]], 'current_set_games': [1, 3], 'sets_won_synthetic': True, 'point_score': ['15', '15']} | b | 0.107 | 0.893 | 25.8 | feed |
| 02:39:58 | 2 | 4 | {'sets': [[0, 6]], 'current_set_games': [1, 3], 'sets_won_synthetic': True, 'point_score': ['15', '30']} | b | 0.102 | 0.898 | 25.7 | feed |
| 02:40:29 | 2 | 4 | {'sets': [[0, 6]], 'current_set_games': [1, 3], 'sets_won_synthetic': True, 'point_score': ['15', '40']} | b | 0.099 | 0.901 | 25.8 | feed |
| 02:41:00 | 2 | 4 | {'sets': [[0, 6]], 'current_set_games': [1, 3], 'sets_won_synthetic': True, 'point_score': ['30', '40']} | b | 0.103 | 0.896 | 25.8 | feed |
| 02:41:30 | 2 | 4 | {'sets': [[0, 6]], 'current_set_games': [1, 3], 'sets_won_synthetic': True, 'point_score': ['40', '40']} | b | 0.103 | 0.897 | 25.8 | feed |
| 02:42:01 | 2 | 4 | {'sets': [[0, 6]], 'current_set_games': [1, 3], 'sets_won_synthetic': True, 'point_score': ['A', '40']} | b | 0.100 | 0.900 | 25.8 | feed |
| 02:42:32 | 2 | 5 | {'sets': [[0, 6]], 'current_set_games': [1, 4], 'sets_won_synthetic': True, 'point_score': ['0', '0']} | b | 0.070 | 0.930 | 26.1 | feed |
| 02:43:02 | 2 | 5 | {'sets': [[0, 6]], 'current_set_games': [1, 4], 'sets_won_synthetic': True, 'point_score': ['0', '0']} | b | 0.060 | 0.940 | 26.1 | feed |
| 02:43:33 | 2 | 5 | {'sets': [[0, 6]], 'current_set_games': [1, 4], 'sets_won_synthetic': True, 'point_score': ['0', '0']} | b | 0.070 | 0.930 | 26.1 | feed |
| 02:44:03 | 2 | 5 | {'sets': [[0, 6]], 'current_set_games': [1, 4], 'sets_won_synthetic': True, 'point_score': ['0', '0']} | b | 0.068 | 0.932 | 26.2 | feed |
| 02:44:34 | 2 | 5 | {'sets': [[0, 6]], 'current_set_games': [1, 4], 'sets_won_synthetic': True, 'point_score': ['0', '0']} | b | 0.070 | 0.930 | 26.0 | feed |
| 02:45:04 | 2 | 5 | {'sets': [[0, 6]], 'current_set_games': [1, 4], 'sets_won_synthetic': True, 'point_score': ['15', '0']} | b | 0.069 | 0.931 | 26.0 | feed |
| 02:45:35 | 2 | 5 | {'sets': [[0, 6]], 'current_set_games': [1, 4], 'sets_won_synthetic': True, 'point_score': ['15', '15']} | b | 0.063 | 0.937 | 26.2 | feed |
| 02:46:06 | 2 | 5 | {'sets': [[0, 6]], 'current_set_games': [1, 4], 'sets_won_synthetic': True, 'point_score': ['30', '30']} | b | 0.054 | 0.946 | 26.0 | feed |
| 02:46:36 | 2 | 5 | {'sets': [[0, 6]], 'current_set_games': [1, 4], 'sets_won_synthetic': True, 'point_score': ['40', '30']} | b | 0.062 | 0.938 | 26.1 | feed |
| 02:47:07 | 2 | 6 | {'sets': [[0, 6]], 'current_set_games': [1, 5], 'sets_won_synthetic': True, 'point_score': ['0', '0']} | b | 0.013 | 0.987 | 26.3 | feed |
| 02:47:37 | 2 | 6 | {'sets': [[0, 6]], 'current_set_games': [1, 5], 'sets_won_synthetic': True, 'point_score': ['0', '0']} | b | 0.021 | 0.979 | 26.2 | feed |
| 02:48:08 | 2 | 6 | {'sets': [[0, 6]], 'current_set_games': [1, 5], 'sets_won_synthetic': True, 'point_score': ['0', '15']} | b | 0.025 | 0.976 | 26.2 | feed |
| 02:48:39 | 2 | 6 | {'sets': [[0, 6]], 'current_set_games': [1, 5], 'sets_won_synthetic': True, 'point_score': ['0', '30']} | b | 0.018 | 0.982 | 26.2 | feed |
| 02:49:09 | 2 | 6 | {'sets': [[0, 6]], 'current_set_games': [1, 5], 'sets_won_synthetic': True, 'point_score': ['0', '40']} | b | 0.021 | 0.979 | 26.2 | feed |
| 02:49:40 | 2 | 6 | {'sets': [[0, 6]], 'current_set_games': [1, 5], 'sets_won_synthetic': True, 'point_score': ['0', '40']} | b | 0.018 | 0.982 | 26.2 | feed |
| 02:50:11 | 2 | 7 | {'sets': [[0, 6]], 'current_set_games': [2, 5], 'sets_won_synthetic': True, 'point_score': ['0', '0']} | b | 0.069 | 0.931 | 28.0 | feed |
| 02:50:41 | 2 | 7 | {'sets': [[0, 6]], 'current_set_games': [2, 5], 'sets_won_synthetic': True, 'point_score': ['0', '0']} | b | 0.059 | 0.941 | 27.9 | feed |
| 02:51:12 | 2 | 7 | {'sets': [[0, 6]], 'current_set_games': [2, 5], 'sets_won_synthetic': True, 'point_score': ['0', '0']} | b | 0.068 | 0.932 | 28.2 | feed |
| 02:51:42 | 2 | 7 | {'sets': [[0, 6]], 'current_set_games': [2, 5], 'sets_won_synthetic': True, 'point_score': ['0', '0']} | b | 0.072 | 0.928 | 28.0 | feed |
| 02:52:13 | 2 | 7 | {'sets': [[0, 6]], 'current_set_games': [2, 5], 'sets_won_synthetic': True, 'point_score': ['15', '0']} | b | 0.068 | 0.932 | 28.1 | feed |
| 02:52:44 | 2 | 7 | {'sets': [[0, 6]], 'current_set_games': [2, 5], 'sets_won_synthetic': True, 'point_score': ['30', '0']} | b | 0.075 | 0.925 | 28.1 | feed |
| 02:53:14 | 2 | 7 | {'sets': [[0, 6]], 'current_set_games': [2, 5], 'sets_won_synthetic': True, 'point_score': ['40', '0']} | b | 0.069 | 0.931 | 28.2 | feed |
| 02:53:45 | 2 | 7 | {'sets': [[0, 6]], 'current_set_games': [2, 5], 'sets_won_synthetic': True, 'point_score': ['40', '15']} | b | 0.067 | 0.933 | 28.1 | feed |
| 02:54:15 | 3 | 8 | {'sets': [[0, 6], [0, 6]], 'current_set_games': [2, 6], 'sets_won_synthetic': True, 'point_score': ['12', '6']} | b | 0.000 | 1.000 | 0.0 | feed |