TENNISEDGE.GG

J. Shang vs A. Rublev — Prediction & Analysis

Montreal · ATP Montreal - 1/32-finals · Aug. 6, 2026 · 14:00 UTC

TennisEdge's AI model finds no betting value in J. Shang vs A. Rublev (Montreal on 2026-08-06) — the market is efficient, with A. Rublev favoured at 1.32.

Surface hard Odds J. Shang 3.90 · A. Rublev 1.32

Verdict: no bet

The model found no value at current prices — the market has this one priced about right. That verdict is part of the public record too.
Profiles: J. Shang · A. Rublev · head-to-head record · Montreal

Model probabilities

Independent estimates of who wins, each from a different method. The blend is what the bot prices against the market.

Method J. Shang A. Rublev
Elo
ratings-based, surface-weighted
30.8% 69.2%
Machine learning
29-feature gradient-boosted model
48.9% 51.2%
Serve / return
point-by-point simulation
38.6% 61.4%
Blend
what the bot actually prices off
35.5% 64.5%
Market implied
de-vigged from the opening odds
25.3% 74.7%

We publish how well these score against the closing market, including where they lose: how accurate are tennis predictions?

Elo ratings

PlayerSurfaceEloRecordMatches
J. Shang hard1713 92–59151
A. Rublev hard1854 163–90253

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 Aug. 2, 2026.

Head to head

A. Rublev leads 1–0 over 1 meeting. Full record.

DateEventSurfaceWinnerScore
Jan. 6, 2024ATP Hong KonghardA. Rublev2 - 1

Recent form

J. Shang

W D. Vallejo 0 - 2 Aug. 2, 2026
L K. Nishikori 2 - 1 July 27, 2026
L D. Medvedev 2 - 0 Feb. 24, 2026
L D. Medvedev 2 - 0 Feb. 16, 2026
L B. Van De Zandschulp 3 - 0 Jan. 22, 2026

A. Rublev

L L. van Assche 1 - 2 July 24, 2026
W T. Skatov 2 - 0 July 23, 2026
W L. Darderi 2 - 0 July 19, 2026
W A. Tabilo 2 - 1 July 18, 2026
W S. Baez 2 - 0 July 17, 2026

All Aug. 6, 2026 results & picks →

Full analysis

J. Shang vs A. Rublev — ATP Montreal, R2 (1/32), hard

═══ MODELS vs MARKET (Shang = A) ═══
  ELO           30.75%
  ML            48.85%   <- extreme outlier
  Blend         35.46%
  Sim (raw)     38.57%
  Betfair ML    4.00 / 1.32  -> comm-adj 3.85 -> breakeven 25.97%
  Pinnacle      3.79 / 1.298 -> no-vig 25.51% (fetched 05:55Z, ~fresh)
  Book          3.90 / 1.32
Market and Pinnacle agree tightly (25.5-26.0%). The disagreement is entirely
model-side, and it is enormous (ML +23pp). That is the profile of a broken
input, not an edge.

═══ SIM INPUT VALIDATION (Step 4b) ═══
Baseline inputs: Shang spw .602 / rpw .411 (43 matches); Rublev spw .617 /
rpw .417 (50 matches). Sim win prob Shang 38.6%.
Divergence test: sim (38.6%) vs ELO (30.8%) vs market (25.5%) = NO convergence
-> inspect inputs. Two input biases, both pushing Shang UP:
  1. Rublev's serve number is a CLAY number. His entire recent window is clay
     (Rome, Roland Garros, Bastad, Estoril) plus grass — ZERO hard-court
     matches in the 50-match sample. Hard court raises a flat, big-serving
     profile's SPW materially; .617 understates his Montreal hold.
  2. Shang is ranked 406 and his 43-match sample is Challenger-level fields —
     a level-dropper's SPW/RPW inflated by weak opposition (the sim does not
     opponent-adjust).
Bounded correction (logged): spw_b .617 -> .650 (+.033, inside the +/-.05
clamp), justified by 1. only; I did NOT also shade Shang down, so this is the
conservative end.
  Re-run result: Shang win prob 38.57% -> 23.54%. Expected margin -1.1 -> -2.9.
  A +3.5 cover 56.7% -> 39.8%.
A single defensible, conservative input fix does not trim the edge — it ERASES
it and flips it negative. The sim's "edge" here is a clay-sample artifact.

═══ ELO / RANKING SANITY ═══
Shang: ELO implies ~30.8% vs a top-16, i.e. a ~top-40 level, while his official
rank is 406. Classic high-ELO/modest-rank divergence -> rating carried over
from a pre-layoff level and/or farmed on weak fields. Per framework this
DISCOUNTS the ELO edge; it cannot create one. Live form does not independently
back a top-30 level (see below).
Rublev: ELO and rank 16 agree — credible.

═══ RECENT FORM ═══
J. Shang (21) — only 2 matches in the whole window (returning player, thin data)
  08-02 Montreal (hard) R64  W  vs D. Vallejo (1473, Weak)      6-3 6-3   DOM
  07-27 Washington (hard) R16 L  vs K. Nishikori (1732, Strong)  6-7 6-3 6-4 (3 sets)
  Shape: STABLE. The DOM is over a 1473 — expectation MET, not exceeded; a
  6-3 6-3 over a Weak opponent is not evidence of top-30 level. Competitive
  3-set loss to Nishikori is a mild positive.

A. Rublev (28) — clay swing
  07-24 Estoril (clay) QF  L  vs L. van Assche (1727, Strong)  6-3 3-6 4-6  (lost after winning set 1)
  07-23 Estoril (clay) R16 W  vs T. Skatov (1628, Avg)         6-1 6-1  DOM
  07-19 Bastad (clay) FINAL W vs L. Darderi (1937, Elite)      6-4 6-3  DOM over Elite
  07-18 Bastad (clay) SF   W  vs A. Tabilo (1860, Elite)       6-4 4-6 6-4  GRIND
  07-17 Bastad (clay) QF   W  vs S. Baez (1772, Strong)        6-1 6-2  DOM
  Shape: STABLE-to-good. DOM over an Elite (1937) in a title match 16d ago is
  a genuine over-performance; the van Assche loss is the one blemish.

═══ PATH & SHARPNESS (Step 1b) ═══
  Shang: 1 match at this venue, won on this surface 2 days ago -> match-sharp,
    conditions-adjusted. Genuine positive.
  Rublev: BYE — first match at the venue, 11 days since his last match
    anywhere, arriving straight off a European clay block -> rust + SURFACE
    TRANSITION (clay -> hard), which also widens margin variance.
This is the real qualitative angle in the match. But see MARKET below: it is
already in the price.

═══ FATIGUE (Step 2) ═══
  Shang: 1 match/7d, 2/14d, 235 min, last 08-02, back_to_back 0. Age 21 ->
    recovers fast. No extreme spot. 2-set win 2 days ago = roughly neutral,
    NO 3-set-hangover haircut applies (it is the extra-set toll only).
  Rublev: 0 matches/7d, last 07-24, 236 min/14d. Fresh but idle.
  Verdict: roughly equal. Cumulative minutes are context, never an edge. No
  fatigue adjustment made in either direction.

═══ NARRATIVE (Step 3) ═══
  Let-down: Rublev's first Final in the list = Bastad, WON 07-19 = 16 days ago
    -> outside the 0-7d window -> NONE.
  TITLE: Bastad 16d ago (clay).
  Venue momentum: Shang 1-0 at Montreal this week; Rublev no window matches.
  Surface transition: RUBLEV (clay -> hard). Shang none (2 straight hard).

═══ MARKET READ — is the story already priced? ═══
A world No.16 against a world No.406 would ordinarily be priced ~1.20-1.25.
Rublev is 1.32 on the exchange and 1.298 at Pinnacle. The market is therefore
ALREADY paying Shang substantial respect above his ranking AND already shading
for Rublev's clay-to-hard transition and idle fortnight. My one qualitative
edge is the thing the price has visibly absorbed. There is no residual
information the market is slow on.

═══ GATES ═══
GATES
  G1 edge-origin: FAIL — credible pre-narrative edge is 0-1pp, not 3%. Best-supported estimate (corrected coherent sim 23.5%, Pinnacle 25.5%, discounted ELO ~28-30%) puts fair Shang ~27% vs 25.97% breakeven = +1.0pp. Blend/ML edges (9.5pp/22.9pp) rest on clay-biased and thin-sample inputs shown above to be invalid. Below even the 3% probe bar.
  G2 consensus:   PASS (stake-tier only) — would be lone-signal/contaminated tier; moot, G1 already fails.
  G3 fatal-risk:  FAIL (margin only) — Shang +3.5 cover is self-negating: the same evidence I use to say his level is overstated (Challenger-inflated stats, rank 406, 2 matches in 90d, long layoff) is exactly what makes a blowout live; corrected cover 39.8% vs 46.3% implied = -6.5pp. Hard veto on the handicap.

═══ MARKET CHOICE ═══
  ML Shang @ 4.00 (Betfair): fair ~27% vs breakeven 25.97% = +1.0pp. Min odds
    for a probe = 1.03/0.27 = 3.81, for full = 3.89 — nominally cleared, but
    the 3% pre-narrative edge floor is NOT met. PASS.
  ML Rublev @ 1.32: comm-adj 1.304 -> breakeven 76.7% vs fair ~73%. Negative.
    PASS.
  Handicap: A +3.5 @ 2.16 (implied 46.3%). Baseline sim 56.7% (+10.4pp) but
    corrected 39.8% (-6.5pp). Edge is an artifact; G3 hard veto anyway. PASS.
  Totals: book line 22.0 (O 1.90 / U 2.02). Baseline sim ~50.5% over at 22.0
    = ~-2pp on the over; corrected sim shifts to the under (exp games 22.4 ->
    21.6), but that is my override driving it, not an independent read, and
    totals get NO probe tier. PASS.
  AH shadow record: A +3.5 @ 2.16 (pass)
  refutation_check: n/a — PASS decision, no web access taken.

═══ VERDICT: PASS ═══
Every number that says "bet Shang" traces to one of two broken inputs: an ML
reading a 2-match, rank-406 sample, and a simulation whose Rublev serve is a
clay figure with no hard-court data behind it. Correcting only the more
defensible of those two, conservatively and within the clamp, moves Shang from
38.6% to 23.5% — below the market. Betfair and Pinnacle sit within 0.5pp of
each other at ~25.5%, and Rublev's 1.32 already concedes the rust-and-surface-
transition story that is my only genuine qualitative angle. Match-sharp beats
rusty is real here, but it is priced. G1 fails on the numbers, G3 vetoes the
margin market. No bet.
(win_probability field = J. Shang / player A fair estimate 0.27; no stake taken.)