TennisEdge's AI model finds no betting value in P. Kudermetova vs E. Svitolina (Washington on 2026-07-29) — the market is efficient, with E. Svitolina favoured at 1.25.
P. KUDERMETOVA vs E. SVITOLINA — Washington (hard), R2
═══════════════════════════════════════════════════════
MODELS vs MARKET (all probs = P(Kudermetova))
ELO 12.3%
ML 22.1%
Blend 25.2%
Sim (baseline) 40.9% <-- outlier, see SIM VALIDATION
Book 4.00 25.0% (stale)
BETFAIR 5.50 18.2% <-- executable; comm-adj 5.275 => 19.0%
Betfair 1.21 on Svitolina => 82.6% (comm-adj 83.4%)
Exchange is LONGER on Kudermetova than the book (5.50 vs 4.00). The app's
value_pick "A" (+1.3%) was computed off the stale book quote; against the
executable price the gap is entirely a question of whose model to trust.
SIM VALIDATION (Step 4b — inspect, validate, correct, re-run)
Baseline inputs: Kudermetova SPW .589 / RPW .426 / hold 61.9%
Svitolina SPW .590 / RPW .443 / hold 67.2%
The two serve lines are near-identical, which is the tell. These are
unweighted averages over each player's last 50 matches, NOT opponent-adjusted:
- Kudermetova's window is qualifying/low-tour: opponent ELO 1174-1761,
clustered ~1500-1610 (Boulard 1174, Buyukakcay 1391, Yamaguchi 1518,
Sakkari 1500, Lepchenko 1610).
- Svitolina's window is elite: Gauff 2071, Swiatek 2058, Rybakina 2016,
Kostyuk 1982, Eala 1887, Bencic 1840, Samsonova 1788.
A ~200-ELO opposition-quality gap. Her SPW/RPW are farmed against weaker
returners/servers, so the sim reads the matchup as near-even when it is not.
Re-ran with bounded corrections (server clamp +/-0.05), logged:
spw_a .589->.559, rpw_a .426->.396 (-0.03) => P(A) 15.3%
spw_a .589->.539 only => P(A) 18.5%
spw_a .589->.539, rpw_a .426->.376 (-0.05) => P(A) 6.1%
The sim swings 40.9% -> 6.1% entirely inside the justifiable correction band.
That is not a usable anchor in either direction — but every corrected run
lands AT OR BELOW the exchange price and converges with ELO (12.3%).
Conclusion: the baseline sim's 40.9% is contaminated, and the 25.2% blend
inherits that contamination. The one model showing a real gap is the one
that fails validation.
ELO vs RANKING SANITY
Kudermetova rank 123, ELO-implied 12.3% — ELO and rank AGREE.
Svitolina rank 13, Rome champion May (beat Rybakina, Swiatek, Gauff).
No farmed-rating or understated-rating divergence. ELO is credible here.
RECENT FORM (5 most recent each; classification used all fetched matches)
Kudermetova — 3 matches at THIS venue this week (qualifier):
07-28 W Bucsa (1761) 7-5 6-7 0-6 GRIND, 3 sets — Washington R1
07-26 W Lepchenko (1610) 4-6 7-6 6-4 GRIND, 3 sets — quali FINAL
07-25 W Yamaguchi (1518) 7-6 6-4 GRIND — quali SF
07-13 L Sakkari (1500) 0-6 6.1-7.7 Athens quali
07-05 L Boulard (1174) 6-7 4-6 Contrexeville, clay
NOTE: this player's "Final" round labels are QUALIFYING finals (she wins a
"Wimbledon Final" 06-25 then loses 1/64 on 06-30). Not titles. Any naive
title/let-down read off this feed is a data artifact.
Svitolina — no matches at this venue; last match anywhere 06-30 (29 days):
06-30 L Snigur (1648) 5-7 2-6 Wimbledon R1
06-25 L Xin. Wang (1500) 0-0 Bad Homburg QF — walkover/retired
06-23 W Samsonova (1788) 3 sets GRIND
06-19 L Eala (1887) 3-6 4-6 narrow loss to Elite — neutral
06-18 W Lys (1579) 6-3 6-2 DOM
Clay peak (Rome title, RG QF) in May, then a mediocre grass swing.
SHAPE, PATH & SHARPNESS (Step 1b)
Kudermetova: STABLE. All three Washington wins are GRINDs, two of them
against Avg opposition (1518, 1610) — winning ugly vs weak fields is not
good shape. Partial offset: the R1 win over Bucsa (1761) is a genuine
main-draw result against Strong, and is the best of the three.
PATH: strongly positive — 3 matches deep at the venue, hard court,
conditions-adjusted, timing grooved. No surface transition.
Svitolina: FADING into the break. Lost R1 Wimbledon 5-7 2-6 to a 1648, and
a 0-0 at Bad Homburg five days earlier reads as withdrawal/retirement —
a fitness flag. RUST RISK: 29 days since any match, plus grass -> hard
transition, plus first match at the venue. Real and directionally pro-dog.
FATIGUE (Step 2)
Kudermetova (23): 3 matches / 9 sets / 329 min in 7d, back_to_back 1,
last match YESTERDAY (07-28) and it was a 3-SET WIN.
=> Calibrated 3-set-hangover applies: -4.5pp, surface-agnostic (hard -4.4).
Age 23 = baseline band, no softening. Applied ONCE, not stacked with
the cumulative 329-min load (which is context only, per calibration).
Svitolina (31): zero load. Fresh — but 29 days fresh is rust, not freshness.
Market check: this is NOT a case of a strong player drifting on a fatigue
narrative. The tired side here is the 18% dog; the "over-priced fatigue"
inversion does not apply.
NARRATIVE (Step 3)
Let-down: none real. The 07-26 "Final" is a qualifying final — no title,
no peak to come down from. Feed artifact, discarded.
Venue momentum: Kudermetova 3-0 at Washington this week. Amplifier only —
venue never creates an edge.
Surface transition: Svitolina grass -> hard (RISK for her, supports the dog
ML directionally). Kudermetova none.
MY NUMBER
Rank-13 vs rank-123 on hard, baseline dog ~15-17%
+ Svitolina rust 29d / grass->hard / fitness flag +3.5
+ Kudermetova match-sharp, 3 matches at venue +2.0
- 3-set win yesterday (calibrated hangover) -4.5
- wins are GRINDs vs 1518/1610 qualifying-level field -1.0
=> P(Kudermetova) ~= 17%. Corrected sim 6-18.5%, ELO 12.3% — consistent.
Executable implied (Betfair 5.50, comm-adj) = 19.0%. Edge = -2pp.
Other side: P(Svitolina) ~= 83%. min_odds = 1.05/0.83 = 1.265.
Betfair 1.21 < 1.265 => automatic PASS on the favourite.
ALT MARKETS
alt_markets.handicap = null, alt_markets.totals = null. Nothing stakeable
off the exchange. The sim's own handicap/totals lines are downstream of the
same contaminated inputs (and swing just as wildly), so no margin bet either.
Market stays ml by default; no ml bet available.
GATES
G1 edge-origin: FAIL — pre-narrative edge is only 25.2% blend vs 19.0%
executable, and that blend inherits the opponent-unadjusted sim that
collapses 40.9%->6.1% under a justified +/-0.05 correction; corrected
pre-fatigue number is ~19% vs 19.0% implied = 0pp. No numeric edge exists
before any fatigue/narrative adjustment.
G2 consensus: n/a (stake-tier only, never blocks) — would be the capped
0.5-1.0u lone_signal band anyway: ELO and ML both side with the market,
the lone dissenting signal is the contaminated sim/blend.
G3 fatal-risk: n/a — ML market, G3 never blocks ML. For the record the
thesis-negating risk is the 3-set win yesterday on the dog side.
VERDICT: PASS
The rust-vs-sharpness story is real and is the reason Svitolina is 1.21 rather
than 1.15 — the exchange has already paid for it, and has actively pushed
Kudermetova OUT to 5.50 from the book's 4.00. The only number arguing for the
dog fails its own validation test. Backing a 17% dog at a 19% price is
negative edge; backing an 83% favourite at 1.21 breaks the min-odds rule.
No bet either side.