Yannick Hanfmann vs Jason Kubler
Shanghai | Hard | Qualification Round 2
30 Sep 2025, 07:25
30 Sep 2025, 07:25
Comparativo de Odds
| Fuente | Yannick … | Jason … | Prob Impl. P1 |
|---|
Estadísticas de Jugadores
Yannick Hanfmann
Ranking
#103
UTR Rating
15.56 Pro
UTR Ranking
#55
Forma L5
60% (5p)
Forma L10
60% (10p)
WR Hard
17/39 = 43.6%
Jason Kubler
Ranking
#196
UTR Rating
14.77 Pro
UTR Ranking
#120
Forma L5
60% (5p)
Forma L10
70% (10p)
WR Hard
17/29 = 58.6%
Features del Modelo XGBoost (60 features)
Rankings
| rank_advantage | 93.0000 | |
| rank_ratio | 1.9029 | |
| log_rank_ratio | 0.6434 | |
| rank_tier_advantage | 0.0000 | |
| points_diff | 326.0000 | |
| best_rank_diff | 18.0000 |
Superficie
| surface_wr_diff | -5.1090 | |
| surface_wr_diff_adjusted | -13.1665 | |
| surface_matches_ratio | 1.3448 | |
| surface_tournaments_won_diff | -1.0000 | |
| surface_wr_p1 | 47.9679 | |
| surface_wr_p2 | 53.0769 | |
| surface_wr_p1_stable | 44.1860 | |
| surface_wr_p2_stable | 57.5758 | |
| p1_surface_matches | 39.0000 | |
| p2_surface_matches | 29.0000 | |
| p1_surface_dominance | -0.1282 |
Confianza
| p1_confidence | 1.0000 | |
| p2_confidence | 0.9667 | |
| combined_confidence | 0.9833 |
Servicio
| serve_quality_diff | -2.3340 | |
| first_serve_won_diff | -3.8821 | |
| second_serve_won_diff | 1.0540 | |
| bp_saved_diff | 7.2163 | |
| bp_converted_diff | -0.8695 | |
| aces_per_match_diff | -0.3546 |
Forma
| last5_wr_diff | 0.0000 | |
| last3_wr_diff | -0.3333 | |
| momentum_p1 | 50.0000 | |
| momentum_p2 | 68.0000 | |
| momentum_diff | -18.0000 | |
| weighted_momentum_diff | -7.9000 | |
| current_streak_diff | 0.0000 | |
| days_since_last_match_p1 | 0.0000 | |
| days_since_last_match_p2 | 0.0000 | |
| match_load_p1 | 2.0000 | |
| match_load_p2 | 1.0000 | |
| match_load_diff | 1.0000 |
H2H
| h2h_wins_diff | 0.0000 | |
| h2h_matches | 0.0000 | |
| h2h_win_rate_p1 | 0.5000 | |
| h2h_on_surface | 0.0000 | |
| h2h_recency_weighted | 0.5000 | |
| h2h_confidence_score | 0.0000 |
Consistencia
| winner_ue_ratio_p1 | 0.7528 | |
| winner_ue_ratio_p2 | 0.7108 | |
| tiebreak_wr_p1 | 0.5000 | |
| tiebreak_wr_p2 | 0.3846 | |
| serve_consistency_p1 | 7.1261 | |
| serve_consistency_p2 | 8.4300 |
Interacción
| surface_rank_synergy | -3.2871 | |
| rank_surface_mismatch_p1 | 0.1133 | |
| rank_surface_mismatch_p2 | -0.1238 | |
| elite_surface_amplifier | 0.0000 |
UTR
| utr_diff | 0.7900 | |
| utr_p1 | 0.8894 | |
| utr_p2 | 0.7965 | |
| utr_advantage | 5.2094 | |
| utr_both_pro | 1.0000 | |
| utr_available | 1.0000 | |
| utr_expected_prob | 0.0000 | |
| utr_closeness | 0.0000 | |
| utr_data_quality | 0.0000 |
Top 10 Features (Modelo)
surface_wr_diff
0.1032
surface_rank_synergy
0.0540
points_diff
0.0344
utr_diff
0.0324
utr_advantage
0.0308
rank_tier_advantage
0.0300
rank_advantage
0.0264
surface_wr_diff_adjusted
0.0206
log_rank_ratio
0.0186
utr_available
0.0172
Info del Partido
Match ID
10250
API ID
14795120
Gamdom ID
-
Torneo
Shanghai
Superficie
Hard
Ronda
Qualification Round 2
Status
finished
JSON Data
{
"match": {
"id": 10250,
"api_id": 14795120,
"gamdom_id": null,
"player1": "Yannick Hanfmann",
"player2": "Jason Kubler",
"tournament": "Shanghai",
"surface": "hard",
"round": "Qualification Round 2",
"date": "2025-09-30T07:25:00+00:00",
"status": "finished"
},
"odds": {
"sofascore": {
"p1": null,
"p2": null
},
"gamdom": {
"p1": null,
"p2": null
},
"tnnslive": {
"p1": null,
"p2": null
}
},
"prediction": null,
"player_stats": {
"p1": {
"ranking": 103,
"utr_singles": 15.56,
"utr_ranking": 55,
"utr_division": "Pro",
"utr_pro": true,
"utr_v4_available": false,
"wr_surface": 43.58974358974359,
"wr_surface_wins": 17,
"wr_surface_total": 39,
"wr_surface_source": "TennisPlayerYearStats",
"form_l5_wr": 60.0,
"form_l10_wr": 60.0,
"form_l5_matches": 5,
"form_l10_matches": 10
},
"p2": {
"ranking": 196,
"utr_singles": 14.77,
"utr_ranking": 120,
"utr_division": "Pro",
"utr_pro": true,
"utr_v4_available": false,
"wr_surface": 58.620689655172406,
"wr_surface_wins": 17,
"wr_surface_total": 29,
"wr_surface_source": "TennisPlayerYearStats",
"form_l5_wr": 60.0,
"form_l10_wr": 70.0,
"form_l5_matches": 5,
"form_l10_matches": 10
}
},
"utr": {
"p1": {
"score": 15.56,
"ranking": 55,
"division": "Pro",
"is_pro": true
},
"p2": {
"score": 14.77,
"ranking": 120,
"division": "Pro",
"is_pro": true
}
},
"features": {
"rank_advantage": 93,
"rank_ratio": 1.9029126213592233,
"log_rank_ratio": 0.6433856710008815,
"rank_tier_advantage": 0,
"points_diff": 326,
"best_rank_diff": 18,
"surface_wr_diff": -5.1090086384203985,
"surface_wr_diff_adjusted": -13.166549213060843,
"surface_matches_ratio": 1.3448275862068966,
"surface_tournaments_won_diff": -1,
"surface_wr_p1": 47.967914438502675,
"surface_wr_p2": 53.07692307692307,
"surface_wr_p1_stable": 44.18604651162791,
"surface_wr_p2_stable": 57.57575757575758,
"p1_surface_matches": 39,
"p2_surface_matches": 29,
"p1_surface_dominance": -0.1282051282051282,
"p1_confidence": 1.0,
"p2_confidence": 0.9666666666666667,
"combined_confidence": 0.9833333333333334,
"serve_quality_diff": -2.334032496914844,
"first_serve_won_diff": -3.8820588235294053,
"second_serve_won_diff": 1.0540374331550737,
"bp_saved_diff": 7.21631016042781,
"bp_converted_diff": -0.8695187165775451,
"aces_per_match_diff": -0.35460715754833494,
"last5_wr_diff": 0.0,
"last3_wr_diff": -0.3333333333333333,
"momentum_p1": 50.0,
"momentum_p2": 68.0,
"momentum_diff": -18.0,
"weighted_momentum_diff": -7.900000000000006,
"current_streak_diff": 0,
"days_since_last_match_p1": 0,
"days_since_last_match_p2": 0,
"match_load_p1": 2,
"match_load_p2": 1,
"match_load_diff": 1,
"h2h_wins_diff": 0,
"h2h_matches": 0,
"h2h_win_rate_p1": 0.5,
"h2h_on_surface": 0,
"h2h_recency_weighted": 0.5,
"h2h_confidence_score": 0.0,
"winner_ue_ratio_p1": 0.7528089887640449,
"winner_ue_ratio_p2": 0.7108433734939759,
"tiebreak_wr_p1": 0.5,
"tiebreak_wr_p2": 0.38461538461538464,
"serve_consistency_p1": 7.126134380674663,
"serve_consistency_p2": 8.429994979767153,
"surface_rank_synergy": -3.2870629509794083,
"rank_surface_mismatch_p1": 0.11332085561497324,
"rank_surface_mismatch_p2": -0.12376923076923074,
"elite_surface_amplifier": -0.0,
"utr_diff": 0.7900000000000009,
"utr_p1": 0.8894117647058825,
"utr_p2": 0.796470588235294,
"utr_advantage": 5.209363666336967,
"utr_both_pro": 1.0,
"utr_available": 1.0
},
"feature_importance": {
"rank_advantage": "0.0264",
"rank_ratio": "0.0154",
"log_rank_ratio": "0.0186",
"rank_tier_advantage": "0.03",
"points_diff": "0.0344",
"best_rank_diff": "0.0156",
"surface_wr_diff": "0.1032",
"surface_wr_diff_adjusted": "0.0206",
"surface_matches_ratio": "0.0126",
"surface_tournaments_won_diff": "0.0128",
"surface_wr_p1": "0.0156",
"surface_wr_p2": "0.0157",
"surface_wr_p1_stable": "0.0122",
"surface_wr_p2_stable": "0.0125",
"p1_surface_matches": "0.0123",
"p2_surface_matches": "0.0123",
"p1_surface_dominance": "0.0134",
"p1_confidence": "0.0145",
"p2_confidence": "0.0121",
"combined_confidence": "0.0143",
"serve_quality_diff": "0.0122",
"first_serve_won_diff": "0.0125",
"second_serve_won_diff": "0.012",
"bp_saved_diff": "0.0121",
"bp_converted_diff": "0.0122",
"aces_per_match_diff": "0.0118",
"last5_wr_diff": "0.0115",
"last3_wr_diff": "0.0125",
"momentum_p1": "0.013",
"momentum_p2": "0.0115",
"momentum_diff": "0.0127",
"weighted_momentum_diff": "0.0119",
"current_streak_diff": "0.0129",
"days_since_last_match_p1": "0.0132",
"days_since_last_match_p2": "0.0114",
"match_load_p1": "0.012",
"match_load_p2": "0.0124",
"match_load_diff": "0.0123",
"h2h_wins_diff": "0.0133",
"h2h_matches": "0.0152",
"h2h_win_rate_p1": "0.0028",
"h2h_on_surface": "0.0059",
"h2h_recency_weighted": "0.0121",
"h2h_confidence_score": "0.0151",
"winner_ue_ratio_p1": "0.0141",
"winner_ue_ratio_p2": "0.0133",
"tiebreak_wr_p1": "0.0121",
"tiebreak_wr_p2": "0.012",
"serve_consistency_p1": "0.0117",
"serve_consistency_p2": "0.0124",
"surface_rank_synergy": "0.054",
"rank_surface_mismatch_p1": "0.0125",
"rank_surface_mismatch_p2": "0.0127",
"elite_surface_amplifier": "0.0171",
"utr_diff": "0.0324",
"utr_p1": "0.012",
"utr_p2": "0.0115",
"utr_advantage": "0.0308",
"utr_both_pro": "0.0149",
"utr_available": "0.0172"
}
}