A lot of these matches still saying under 2:5 ═══...
创建于:2026年9月15日
使用 GPT-5.6 Thinking 回答 Chat01
创建于:2026年9月15日
使用 GPT-5.6 Thinking 回答 Chat01
A lot of these matches still saying under 2:5
════════════════════════════════════════
🎾 TENNISLOCKS 🔒
OFFICIAL MATCH MODEL
VERSION 3.0
GENERATED 7:32 PM | September 14, 2026
ENGINE Point • Game • Set Probability Model
════════════════════════════════════════
🎯 ATP-CH Rennes Challenger (OUTDOOR) | Best of 3 | Line: 22.5
Tour: ATP-CH | Court speed (CPI): 38
Metadata confidence: HIGH
────────────────────────────────────────
Maxime Janvier vs Sascha Gueymard Wayenburg
────────────────────────────────────────
────────────────────────────────────────
💰 MODEL PICKS:
🟡 LOW CONFIDENCE:
🚫 NO BETS:
Match type: Both break more, close matchup. Shorter games. (RETURN_RETURN_EVEN)
Risk: 0.15 (LOW)
Pricing data quality: WEAK | opponent-rank samples 7/7 | trust 1.00
PLAYER INTEL
┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
Maxime Janvier Sascha Gueymard Wayenburg
Rank 625 332
Elo 1278 1427
Avg Opp Rank 292 253
Schedule A: MID (trust 1.00, ranks 7) | B: MID (trust 1.00, ranks 7)
Serve Style ace 6.2% ace 13.5%
Momentum RECENT_RESULTS RECENT_RESULTS
Hold % 74.7% 69.8%
Recent-row SPW (raw) 62.0% 54.2%
Dominance Ratio 0.57 0.76
Recent Hold SD 9.0% 22.5%
Break Rate 30.2% 25.3%
1st Srv Win % 70.3% 65.8%
2nd Srv Win % 49.8% 49.2%
1st Srv In % 61.5% 60.5%
Recent-row implied hold77.7% (62.0% SPW) 60.4% (54.2% SPW)
Signals: forecast side retained, but betting status is below OFFICIAL BET
════════════════════════════════════════
🎲 SETS OUTLOOK
[SET RESEARCH REF] CANONICAL_POINT_ROOT | CH/HARD/MAIN/CANONICAL_POINT_STATE_SET_COUNTS_V1144 | read-only, no live blend
[SET INPUTS] SPW A/B 60.5% / 58.2% | Hold A/B 74.7% / 69.8% | route UNIFIED_CURRENT_POINT_ROOT_V1113
[SET TB CAL] not applied | tree P(7-6) 16.4% | raw 16.4% | hist not measured | n null | CANONICAL_POINT_ROOT_NO_HISTORICAL_SET_TB_MUTATOR_V1144 | set-winner margin preserved by construction
[SET AUTHORITY] ACTIVE | BO3_SET_COVERAGE_LENGTHEN_ONLY_IPF_EXACT_SCORE_AUTHORITY_V1160 | Sets Won coverage owns P2/P3; IPF reconciles exact scores with Match Winner
[BO3 COVERAGE MODEL] Sets Won semantics own length margin | Winner x Set Count reconciled by IPF | no direct four-cell subtraction | no corpus P3 target
[BO3 COVERAGE EFFECT] canonical P3 48.8% | final P3 48.8% | delta +0.0pp | coverage cannot shorten canonical root
[BO3 UNDER AUTHORITY] canonical point/game/set root only | recent coverage may soften or overturn Under, never strengthen sweep mass
[BO3 COVERAGE EVIDENCE] A 1+ set 67.1% | B 1+ set 58.5% | requested P3 48.8%
[BO3 FINAL COVERAGE] A 1+ set 82.3% | B 1+ set 66.5% | identity 48.8%
[BO3 WINNER-LANE SPLIT] if A wins, 3-set 45.7% (canonical 45.7%) | if B wins, 3-set 53.7% (canonical 53.7%)
[BO3 EXACT-SCORE RECONCILIATION] IPF preserves Winner + P2/P3 + canonical cell association | minimum exact cell 17.7% | zeroed 2-1 lanes forbidden
[BO3 RECENT SET EVIDENCE] A matches 7 | straight losses 2 | sets 7-12 || B matches 7 | straight losses 3 | sets 6-10
[SET LENGTH ROOT] final Sets Won / Both Win a Set / Over 2.5 identity P3 48.8% | one exact-score PMF
[SET WINNER ALIGN] final winner error 0.0e+0 | final set-count margin error 0.0e+0
[SET EXACT PMF] 2-0 33.5% | 2-1 28.2% | 0-2 17.7% | 1-2 20.5% | final P3 48.8%
[SET ACTION] LOW FORECAST UNDER 2.5 | probability 51.2% | model fair odds -105 | forecast only
[SET BETTING GATE] final exact-score PMF direction always visible | HIGH >= 60.0% = official PICK | MID 55.0%-<60.0% = LEAN | LOW >50.0%-<55.0% = forecast only | no BO3 data-quality confidence cap
[SET FAIR PRICE] Over 2.5 +105 | Under 2.5 -105
[SET TREE DIAGNOSTIC] canonical P(2) 51.2% | canonical P(3) 48.8% | canonical point/game/set tree
📊 Player Stats (Current Live-Source Audit):
Totals Fair Line (canonical structural threshold ref): 24.5 (CDF 50/50) | Full-dist median ref: 24.0
Full-dist range (pricing ref): P10=17 | P50=24 | P90=32
Totals EV (tree mean): 24.6 | Median: 24.0
Projected match duration: ~115 min | 2 sets ~90 min / 3 sets ~142 min | research projection only
Settlement full-dist mode: 19g | settlement density zone: 18-20g 20.7%
All-match median ref: 24.0g | Conditional totals (not picks): E[T|2 sets] 19.8 | E[T|3 sets] 29.7 | alternative 3-set probability 49%
Settlement PMF top exacts: 19g 7.3% | 22g 7.0% | 20g 6.9% | 18g 6.6% | 29g 5.4% | 17g 5.4% | 30g 5.4% | 31g 5.3% [canonical full-match mixture]
========================================
🎯 TOTAL GAMES
[OFFICIAL TOTAL GAMES DECISION] PICK OVER 22.5 | 56.5% | OFFICIAL BET
Final pricing direction: OVER 56.5% from the official cumulative full-match Total Games threshold probability.
Pricing method: all legal full-match score paths are summed against your Total Games line. No single exact score controls the pick.
At 22.5: Over 56.5% | Under 43.5%
Total Games probability authority: ONE canonical joint score+games PMF | no second threshold recalibration is applied after the current length root.
Set-count decomposition at 22.5:
2-set lane: 51.2% match mass | P(Over | 2 sets) 15.9% | contributes 8.1pp raw Over mass
3-set lane: 48.8% match mass | P(Over | 3 sets) 99.3% | contributes 48.4pp raw Over mass
Combined no-push P(Over 22.5) = 56.5% from all lanes.
First-server sensitivity (diagnostic only): A serves first -> Over 56.6% | B serves first -> Over 56.5% | mean-total gap 0.04g
Projected total-games distribution: fair line 24.5 | mean 24.6 | median 24 | largest single exact bucket 19g (7.3%, not a majority and not the O/U authority)
Exact-total concentration: dominant 3-game cluster 18-20g = 20.7% | cluster side UNDER at 22.5
OVER threshold mass is spread across 17 exact totals | strongest OVER exact 29g = 5.4% unconditional / 9.6% of the OVER side | effective support 21.4 totals.
Shape note: the Over mass is spread across longer matches; the densest exact totals sit under the line. Official totals still use your sheet line and the cumulative tree, not a local-cluster veto.
Unconditional pricing distribution: 80% range 17-31 | SD 5.8 | mode 19g (7.3%) | leaders 19g 7.3% | 22g 7.0% | 20g 6.9% | 18g 6.6% | 29g 5.4%
########################################
🎯 PROP PROJECTIONS 🎯
########################################
📊 Maxime Janvier - Player Props:
Games Won: mean 12.9 | median 13 | mode 12 | full-match distribution
1st Set Games Won: 5.20 projected
Sets Won: BET 1+ SET | 82.3% | HIGH
Serve Games: not requested | enter a service prop line to price
Serve Points Played: not requested | enter a service prop line to price
Serve Points Won: not requested | enter a Serve Points Won line to price
Aces: not requested | enter a Aces line to price
Double Faults: not requested | enter a Double Faults line to price
Breaks Won: not requested | enter a Breaks Won line to price
Break Points Created: not requested | enter a Break Points line to price
BP Conversion: not requested | enter a Break Points line to price
Opp BP Save: not requested | enter a Break Points line to price
Opponent Matchup: opp return 35% | context only; official pricing uses the final match tree
Historical sample: 14.1 service games | projected Games Won CV: 26%
📊 Sascha Gueymard Wayenburg - Player Props:
Games Won: mean 11.7 | median 12 | mode 12 | full-match distribution
1st Set Games Won: 4.71 projected
Sets Won: LEAN UNDER 1.5 SETS | 61.7% | MEDIUM
Serve Games: not requested | enter a service prop line to price
Serve Points Played: not requested | enter a service prop line to price
Serve Points Won: not requested | enter a Serve Points Won line to price
Aces: not requested | enter a Aces line to price
Double Faults: not requested | enter a Double Faults line to price
Breaks Won: not requested | enter a Breaks Won line to price
Break Points Created: not requested | enter a Break Points line to price
BP Conversion: not requested | enter a Break Points line to price
Opp BP Save: not requested | enter a Break Points line to price
Opponent Matchup: opp return 22% | context only; official pricing uses the final match tree
Historical sample: 10.7 service games | projected Games Won CV: 34%
🎲 Match-Level Context:
Sets Played: LOW FORECAST UNDER 2.5 | P(2 sets) 51.2% / P(3 sets) 48.8% | projected 2 sets
3-set match / both players win a set: YES 48.8% | NO 51.2% | no betting action
Exact match-score paths: Maxime Janvier 2-0 33.5% | Maxime Janvier 2-1 28.2% | Sascha Gueymard Wayenburg 2-0 17.7% | Sascha Gueymard Wayenburg 2-1 20.5%
If forecast winner Maxime Janvier wins: straight sets 54.3% | Sascha Gueymard Wayenburg steals one set 45.7% conditional (28.2% of all match paths)
Individual win 1+ set: Maxime Janvier 82.3% | Sascha Gueymard Wayenburg 66.5% | identity input for 3-set probability
Straight-set loss chance: Maxime Janvier 17.7% | Sascha Gueymard Wayenburg 33.5%
Games/aces/breaks use the full match tree, not a single 2-0 or 2-1 scoreline.
Surface: HARD | Tour ace reference 7.1% | double-fault reference 4.1%
We just fixed the sets played but there’s still loud of issues within there that still need fixed and removed
Yes — the remaining problem was broader than the Sets Played PMF fix. The publisher was still turning every 50–55% majority into a directional LOW FORECAST, which is why 51.2% kept showing up loudly as “UNDER 2.5.” The original code explicitly classified >50%–<55% as LOW and then exposed that side throughout the report. (TennisLocks_FINAL_v1163_DEEP_FINAL_PMF_ROUTE_CLEANUP_20260914.txt)
I cleaned that up in v1164. BO3 Sets Played now works like this: 60%+ = official pick, 55–<60% = lean, below 55% = PASS / no clear length edge. The underlying P2/P3 probabilities are still shown for audit, but a 51.2/48.8 split no longer becomes a public “Under” forecast.
I also removed the second source of the problem: Match-Level Context was independently taking whichever side was barely above 50% and printing projected 2 sets or projected 3 sets. (TennisLocks_FINAL_v1163_DEEP_FINAL_PMF_ROUTE_CLEANUP_20260914.txt) The top board was separately putting those same weak directions under 🟡 LOW CONFIDENCE. (TennisLocks_FINAL_v1163_DEEP_FINAL_PMF_ROUTE_CLEANUP_20260914.txt) Both are neutralized below 55%.
For your Janvier/Gueymard example, the output will now behave more like:
textSets Played: PASS | P(2 sets) 51.2% / P(3 sets) 48.8% | no clear length edge
instead of:
textLOW FORECAST UNDER 2.5 projected 2 sets
I also fixed another contradiction from your sample: BO3 Under 1.5 Sets is exactly equivalent to losing/winning the match, depending on the player. So Sascha Under 1.5 Sets at 61.7% should not appear as a separate MEDIUM Sets Won lean while Maxime Match Winner at the same 61.7% is a NO BET. Those winner-equivalent Sets Won lines are now displayed as equivalent context only, with no separate Sets Won action.
Finally, I repaired the stale internal release identifier—the file header was v1163 while the runtime build tag was still identifying an older v1159 build—and ran a JavaScript syntax check on the patched release successfully.