TennisEdge's AI bot is backing L. Bronzetti (moneyline) at 2.48 in S. Sorribes Tormo vs L. Bronzetti (Targu Mures (Romania) - Qualification on 2026-07-31). Result: WON.
Independent estimates of who wins, each from a different method. The blend is what the bot prices against the market.
| Method | S. Sorribes Tormo | L. Bronzetti |
|---|---|---|
| Elo ratings-based, surface-weighted |
49.6% | 50.4% |
| Machine learning 29-feature gradient-boosted model |
44.0% | 56.0% |
| Serve / return point-by-point simulation |
45.0% | 55.0% |
| Blend what the bot actually prices off |
49.4% | 50.6% |
| Market implied de-vigged from the opening odds |
57.1% | 42.9% |
We publish how well these score against the closing market, including where they lose: how accurate are tennis predictions?
| Player | Surface | Elo | Record | Matches |
|---|---|---|---|---|
| S. Sorribes Tormo | hard | 1519 | 62–59 | 121 |
| L. Bronzetti | clay | 1714 | 103–71 | 174 |
Our own ratings, computed from match results since 2018. Players with fewer than 5 rated matches are omitted rather than shown at a provisional starting value. Last updated Feb. 17, 2026.
Level at 1–1 over 2 meetings. Full record.
| Date | Event | Surface | Winner | Score |
|---|---|---|---|---|
| July 31, 2026 | Targu Mures (Romania) - Qualification | clay | L. Bronzetti | 2 - 1 |
| April 16, 2026 | W75 Portoroz (Slovenia) | clay | S. Sorribes Tormo | 2 - 0 |
| L | L. Bronzetti | 1 - 2 | July 31, 2026 |
| W | C. W. Hennemann | 2 - 0 | July 29, 2026 |
| W | L. Romero Gormaz | 1 - 2 | July 27, 2026 |
| L | A. Charaeva | 1 - 2 | July 21, 2026 |
| L | A. Bondar | 2 - 0 | July 13, 2026 |
| L | L. Samson | 0 - 2 | Aug. 1, 2026 |
| W | S. Sorribes Tormo | 1 - 2 | July 31, 2026 |
| W | A. Ibragimova | 0 - 2 | July 30, 2026 |
| W | M. Tona | 0 - 2 | July 28, 2026 |
| L | F. Ferro | 2 - 0 | July 25, 2026 |
All July 31, 2026 results & picks →
S. Sorribes Tormo (A, age 29, rank 295) vs L. Bronzetti (B, age 27, rank 105) — Targu Mures (Romania) Qualification, clay, Quarter-finals.
MODELS vs MARKET
Book: A 1.65 / B 2.20 (B implied 45.5%). Betfair ML: A 1.66 / B 2.48 — B drifted to implied ~40.3%.
ELO: A 0.496 (B 0.504). ML: A 0.440 (B 0.560). Blended model: A 0.494 (B 0.506).
All three models make B a coin-flip-to-favourite (~50–56%), yet the exchange prices B at only ~40%.
A 10–16pt gap on the model-favoured, BETTER-RANKED player. This is the raw, pre-narrative edge.
ELO/RANKING CROSS-CHECK
B is rank 105 vs A's rank 295 yet priced a 2.48 dog. Sorribes carries a competitive ELO off a
MODEST rank (295) built largely on qualification-level fields (recent wins over 1500 ELO) — mild
farmed-rating flag, so her ELO edge is if anything overstated. Bronzetti (strong rank 105, only
even ELO) is the "ELO understates" case. Both point the same way: B is undervalued at 2.48.
RECENT FORM (last 5)
A (Sorribes): 07-29 W Hennemann(1500) 6-1 6-3 DOM/Weak; 07-27 W Romero Gormaz(1500) 3-set grind;
07-21 L Charaeva(1687) competitive; 07-13 L Bondar(1790) close; 07-01 L Pegula(1877) grass.
Shape STABLE, match-sharp at this venue (2 wins here). Clay grinder.
B (Bronzetti): 07-30 W Ibragimova(1616) 2 sets; 07-28 W Tona(1500) 2 sets; 07-25 L Ferro(1627);
07-24 W Kabbaj(1516) 3 sets; 07-23 W Spiteri(1455). Winning deep, SHARPENING/STABLE, very match-tough.
PATH & SHARPNESS
Both deep in Targu Mures (2 matches each) — even, both match-sharp, neither rusty.
FATIGUE (Step 2 calibration)
A: 3 matches/14d, 322 min. B: EXTREME cumulative load — 9 matches/14d, 27 sets, 811 min, last 07-30.
BUT: not a checklist-extreme spot — yesterday (07-30) was a 2-set WIN (roughly neutral, no −4.5pp
hangover haircut), not 3-in-3 immediately (rest 07-29). Age 27 = baseline. Per calibration cumulative
minutes alone is CONTEXT not an edge, and the market OVER-prices visible fatigue — B's drift from 2.20
to 2.48 is exactly a fatigue-narrative fade, which the framework flags as the value side.
Residual real risk: 27 sets/14d is a genuine outlier tail AND Sorribes's grinding clay style is the
worst matchup for a tired player — a legitimate thesis-negating risk → risk_flag, stake capped 1.0u.
NARRATIVE
No first-Final let-down in window for either. No surface transition (both on clay). B lost Rome final
07-19 (note, not a peak-title letdown). No title recency.
MARKET CHOICE
ML (B @ 2.48 betfair) is the coherent, lowest-variance expression of the model-market gap.
Handicap: model null; laying A -2.5 or B +2.5 @ 1.92 — no independent margin edge, pass.
Total 21.5: model under 0.518 vs commission-adj breakeven 0.518 — zero edge, pass.
AH shadow: B +2.5 @ 1.92 (dog ML < 3.0, not mandatory; noted).
refutation_check: clean — no injury/withdrawal news last 72h; B won 07-30, demonstrably fit.
GATES
G1 edge-origin: PASS — 9% (blended) to 14% (ML) exchange edge on B BEFORE any fatigue/narrative;
edge survives a generous fatigue haircut (B still ~45–50% > 41.6% breakeven).
G2 consensus: PASS (stake tier) — ELO+ML+blended all favour B (2+ models) → full ladder eligible;
capped here by G3 risk_flag, not by G2.
G3 fatal-risk: ML bet — never blocks; extreme-load + grinder-matchup negating risk → risk_flag, 1.0u cap.
VERDICT: BET B (Bronzetti) ML @ 2.48. Edge 8.4% at win_prob 0.50 (blended 0.506 shaded for tail load).
min_odds = 1.05/0.50 = 2.10 < 2.48 ✓. Value on the model-favoured, better-ranked, match-sharp player
whose price was fatigue-faded. Capped 1.0u (risk_flag) for the real cumulative-load/grinder risk.