Arthur Fils vs Alex de Minaur

hard atp masters_1000 best of 3 tennis_atp_cincinnati_open · commence 2026-08-19 17:55:00+00:00 · completed winner: a

P(Arthur Fils) = 1.000  |  P(Alex de Minaur) = 0.000
live composite (last tick)

Sharp anchor — Pinnacle pre-match

Pinnacle P(Arthur Fils) 0.609
Pinnacle P(Alex de Minaur) 0.391
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 Arthur FilsAlex de Minaur 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
Arthur Fils aggressive_baseliner 64 0.848 7.6
Alex de Minaur all_court 189 0.790 4.0

Matchup adjustment: +0.00pp toward Alex de Minaur 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)

AdjustmentArthur FilsAlex de MinaurNet
Match fatigue (14d load) -3.00pp (load 6.0) -2.30pp (load 4.6) -0.70pp

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

Time Set Game Score Server P(Arthur Fils) P(Alex de Minaur) Exp games Source
19:26:34 1 0 {'sets': [], 'current_set_games': [0, 0], 'sets_won_synthetic': True, 'point_score': ['30', '30']} b 0.498 0.502 24.7 feed
19:27:04 1 0 {'sets': [], 'current_set_games': [0, 0], 'sets_won_synthetic': True, 'point_score': ['40', '30']} b 0.488 0.512 24.4 feed
19:27:35 1 0 {'sets': [], 'current_set_games': [0, 0], 'sets_won_synthetic': True, 'point_score': ['40', '40']} b 0.501 0.499 24.6 feed
19:28:05 1 0 {'sets': [], 'current_set_games': [0, 0], 'sets_won_synthetic': True, 'point_score': ['40', 'A']} b 0.500 0.500 24.7 feed
19:28:35 1 0 {'sets': [], 'current_set_games': [0, 0], 'sets_won_synthetic': True, 'point_score': ['40', '40']} b 0.483 0.517 24.6 feed
19:29:06 1 0 {'sets': [], 'current_set_games': [0, 0], 'sets_won_synthetic': True, 'point_score': ['40', 'A']} b 0.489 0.510 24.3 feed
19:29:37 1 1 {'sets': [], 'current_set_games': [1, 0], 'sets_won_synthetic': True, 'point_score': ['0', '0']} b 0.513 0.487 25.5 feed
19:30:07 1 1 {'sets': [], 'current_set_games': [1, 0], 'sets_won_synthetic': True, 'point_score': ['0', '0']} b 0.519 0.481 25.3 feed
19:30:38 1 1 {'sets': [], 'current_set_games': [1, 0], 'sets_won_synthetic': True, 'point_score': ['0', '0']} b 0.528 0.472 25.6 feed
19:31:08 1 1 {'sets': [], 'current_set_games': [1, 0], 'sets_won_synthetic': True, 'point_score': ['0', '0']} b 0.502 0.498 25.5 feed
19:31:39 1 1 {'sets': [], 'current_set_games': [1, 0], 'sets_won_synthetic': True, 'point_score': ['0', '0']} b 0.499 0.501 25.3 feed
22:19:28 3 10 {'sets': [[6, 0], [6, 0]], 'current_set_games': [6, 4], 'sets_won_synthetic': True, 'point_score': ['7', '12']} b 1.000 0.000 0.0 feed
22:20:28 3 10 {'sets': [[6, 0], [6, 0]], 'current_set_games': [6, 4], 'sets_won_synthetic': True, 'point_score': ['7', '12']} b 1.000 0.000 0.0 feed
22:21:28 3 10 {'sets': [[6, 0], [6, 0]], 'current_set_games': [6, 4], 'sets_won_synthetic': True, 'point_score': ['7', '12']} b 1.000 0.000 0.0 feed
22:22:29 3 10 {'sets': [[6, 0], [6, 0]], 'current_set_games': [6, 4], 'sets_won_synthetic': True, 'point_score': ['7', '12']} b 1.000 0.000 0.0 feed
22:23:28 3 10 {'sets': [[6, 0], [6, 0]], 'current_set_games': [6, 4], 'sets_won_synthetic': True, 'point_score': ['7', '12']} b 1.000 0.000 0.0 feed
22:24:29 3 10 {'sets': [[6, 0], [6, 0]], 'current_set_games': [6, 4], 'sets_won_synthetic': True, 'point_score': ['7', '12']} b 1.000 0.000 0.0 feed
22:25:29 3 10 {'sets': [[6, 0], [6, 0]], 'current_set_games': [6, 4], 'sets_won_synthetic': True, 'point_score': ['7', '12']} b 1.000 0.000 0.0 feed
22:26:29 3 10 {'sets': [[6, 0], [6, 0]], 'current_set_games': [6, 4], 'sets_won_synthetic': True, 'point_score': ['7', '12']} b 1.000 0.000 0.0 feed
22:27:29 3 10 {'sets': [[6, 0], [6, 0]], 'current_set_games': [6, 4], 'sets_won_synthetic': True, 'point_score': ['7', '12']} b 1.000 0.000 0.0 feed
22:28:29 3 10 {'sets': [[6, 0], [6, 0]], 'current_set_games': [6, 4], 'sets_won_synthetic': True, 'point_score': ['7', '12']} b 1.000 0.000 0.0 feed
22:29:30 3 10 {'sets': [[6, 0], [6, 0]], 'current_set_games': [6, 4], 'sets_won_synthetic': True, 'point_score': ['7', '12']} b 1.000 0.000 0.0 feed
22:30:55 3 10 {'sets': [[6, 0], [6, 0]], 'current_set_games': [6, 4], 'sets_won_synthetic': True, 'point_score': ['7', '12']} b 1.000 0.000 0.0 feed
22:31:55 3 10 {'sets': [[6, 0], [6, 0]], 'current_set_games': [6, 4], 'sets_won_synthetic': True, 'point_score': ['7', '12']} b 1.000 0.000 0.0 feed
22:32:55 3 10 {'sets': [[6, 0], [6, 0]], 'current_set_games': [6, 4], 'sets_won_synthetic': True, 'point_score': ['7', '12']} b 1.000 0.000 0.0 feed
22:33:55 3 10 {'sets': [[6, 0], [6, 0]], 'current_set_games': [6, 4], 'sets_won_synthetic': True, 'point_score': ['7', '12']} b 1.000 0.000 0.0 feed
22:34:56 3 10 {'sets': [[6, 0], [6, 0]], 'current_set_games': [6, 4], 'sets_won_synthetic': True, 'point_score': ['7', '12']} b 1.000 0.000 0.0 feed
22:35:56 3 10 {'sets': [[6, 0], [6, 0]], 'current_set_games': [6, 4], 'sets_won_synthetic': True, 'point_score': ['7', '12']} b 1.000 0.000 0.0 feed
22:36:56 3 10 {'sets': [[6, 0], [6, 0]], 'current_set_games': [6, 4], 'sets_won_synthetic': True, 'point_score': ['7', '12']} b 1.000 0.000 0.0 feed
22:37:56 3 10 {'sets': [[6, 0], [6, 0]], 'current_set_games': [6, 4], 'sets_won_synthetic': True, 'point_score': ['7', '12']} b 1.000 0.000 0.0 feed

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