Luca Nardi vs Otto Virtanen
Manama, Bahrain | Hard | Semifinals
31 Ene 2026, 19:10
Predicción IA (XGBoost 1.0.0)
Otto Virtanen
Luca …: 37,9% Otto …: 62,1%
¿Por qué Otto Virtanen?
UTR 14,57 vs 14,87 (-0,28) — Niveles similares
Confianza media | Tier: ?
Comparativo de Odds
Fuente Luca … Otto … Prob Impl. P1
Sofascore 1,67 2,10 59,9%
IA Fair Odds 2,64 1,61 37,9%
Edge vs Mercado: Luca …: -17,8% Otto …: +17,8%
Estadísticas de Jugadores
Luca Nardi
Ranking #106
UTR Rating 14,57 Pro
UTR Ranking #159
Forma L5 60% (5p)
Forma L10 50% (10p)
WR Hard 22/41 = 53,7%
Otto Virtanen
Ranking #116
UTR Rating 14,87 Pro
UTR Ranking #103
Forma L5 60% (5p)
Forma L10 70% (10p)
WR Hard 16/30 = 53,3%
Features del Modelo XGBoost (60 features)
Rankings
rank_advantage 18,0000
rank_ratio 1,1667
log_rank_ratio 0,1542
rank_tier_advantage 0,0000
points_diff 73,0000
best_rank_diff 24,0000
Superficie
surface_wr_diff 0,3252
surface_wr_diff_adjusted 0,3922
surface_matches_ratio 1,3667
surface_tournaments_won_diff -1,0000
surface_wr_p1 53,6585
surface_wr_p2 53,3333
surface_wr_p1_stable 53,3333
surface_wr_p2_stable 52,9412
p1_surface_matches 41,0000
p2_surface_matches 30,0000
p1_surface_dominance 0,0732
Confianza
p1_confidence 1,0000
p2_confidence 1,0000
combined_confidence 1,0000
Servicio
serve_quality_diff -16,0094
first_serve_won_diff -3,6971
second_serve_won_diff -5,9834
bp_saved_diff -5,5171
bp_converted_diff -3,1805
aces_per_match_diff -6,1829
Forma
last5_wr_diff 0,0000
last3_wr_diff 0,0000
momentum_p1 90,0000
momentum_p2 90,0000
momentum_diff 0,0000
weighted_momentum_diff 1,5690
current_streak_diff 0,0000
days_since_last_match_p1 0,0000
days_since_last_match_p2 0,0000
match_load_p1 4,0000
match_load_p2 3,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,4842
winner_ue_ratio_p2 0,5962
tiebreak_wr_p1 0,4000
tiebreak_wr_p2 0,3333
serve_consistency_p1 8,9310
serve_consistency_p2 6,4355
Interacción
surface_rank_synergy 0,0501
rank_surface_mismatch_p1 -0,0186
rank_surface_mismatch_p2 -0,0513
elite_surface_amplifier 0,0000
UTR
utr_diff -0,2800
utr_p1 0,7753
utr_p2 0,8082
utr_advantage -1,9009
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)
Info del Partido
Match ID 24670
API ID 15403377
Gamdom ID -
Torneo Manama, Bahrain
Superficie Hard
Ronda Semifinals
Status finished
JSON Data
{
  "match": {
    "id": 24670,
    "api_id": 15403377,
    "gamdom_id": null,
    "player1": "Luca Nardi",
    "player2": "Otto Virtanen",
    "tournament": "Manama, Bahrain",
    "surface": "hard",
    "round": "Semifinals",
    "date": "2026-01-31T15:10:00+00:00",
    "status": "finished"
  },
  "odds": {
    "sofascore": {
      "p1": 1.67,
      "p2": 2.1
    },
    "gamdom": {
      "p1": null,
      "p2": null
    },
    "tnnslive": {
      "p1": 1.89,
      "p2": 1.84
    }
  },
  "prediction": {
    "prob_p1": 0.3794,
    "prob_p2": 0.6206,
    "winner": 2,
    "confidence": 0.6206,
    "model_version": "1.0.0"
  },
  "player_stats": {
    "p1": {
      "ranking": 106,
      "utr_singles": 14.57,
      "utr_ranking": 159,
      "utr_division": "Pro",
      "utr_pro": true,
      "utr_v4_available": false,
      "wr_surface": 53.65853658536586,
      "wr_surface_wins": 22,
      "wr_surface_total": 41,
      "wr_surface_source": "TennisPlayerYearStats",
      "form_l5_wr": 60.0,
      "form_l10_wr": 50.0,
      "form_l5_matches": 5,
      "form_l10_matches": 10
    },
    "p2": {
      "ranking": 116,
      "utr_singles": 14.87,
      "utr_ranking": 103,
      "utr_division": "Pro",
      "utr_pro": true,
      "utr_v4_available": false,
      "wr_surface": 53.333333333333336,
      "wr_surface_wins": 16,
      "wr_surface_total": 30,
      "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": 14.57,
      "ranking": 159,
      "division": "Pro",
      "is_pro": true
    },
    "p2": {
      "score": 14.87,
      "ranking": 103,
      "division": "Pro",
      "is_pro": true
    }
  },
  "features": {
    "utr_p1": 0.7752941176470588,
    "utr_p2": 0.8082352941176469,
    "utr_diff": -0.27999999999999936,
    "rank_ratio": 1.1666666666666667,
    "h2h_matches": 0,
    "momentum_p1": 89.99999999999999,
    "momentum_p2": 89.99999999999999,
    "points_diff": 73,
    "utr_both_pro": 1.0,
    "bp_saved_diff": -5.517073170731713,
    "h2h_wins_diff": 0,
    "last3_wr_diff": 0.0,
    "last5_wr_diff": 0.0,
    "match_load_p1": 4,
    "match_load_p2": 3,
    "momentum_diff": 0.0,
    "p1_confidence": 1.0,
    "p2_confidence": 1.0,
    "surface_wr_p1": 53.65853658536586,
    "surface_wr_p2": 53.333333333333336,
    "utr_advantage": -1.9008825526137092,
    "utr_available": 1.0,
    "best_rank_diff": 24,
    "h2h_on_surface": 0,
    "log_rank_ratio": 0.15415067982725836,
    "rank_advantage": 18,
    "tiebreak_wr_p1": 0.4,
    "tiebreak_wr_p2": 0.3333333333333333,
    "h2h_win_rate_p1": 0.5,
    "match_load_diff": 1,
    "surface_wr_diff": 0.325203252032523,
    "bp_converted_diff": -3.180487804878048,
    "p1_surface_matches": 41,
    "p2_surface_matches": 30,
    "serve_quality_diff": -16.009414634146324,
    "winner_ue_ratio_p1": 0.4842105263157895,
    "winner_ue_ratio_p2": 0.5961538461538461,
    "aces_per_match_diff": -6.182926829268293,
    "combined_confidence": 1.0,
    "current_streak_diff": 0,
    "rank_tier_advantage": 0,
    "first_serve_won_diff": -3.6970731707316844,
    "h2h_confidence_score": 0.0,
    "h2h_recency_weighted": 0.5,
    "p1_surface_dominance": 0.07317073170731707,
    "serve_consistency_p1": 8.931014190720177,
    "serve_consistency_p2": 6.435487573785372,
    "surface_rank_synergy": 0.05013030238284866,
    "surface_wr_p1_stable": 53.333333333333336,
    "surface_wr_p2_stable": 52.94117647058824,
    "second_serve_won_diff": -5.983414634146335,
    "surface_matches_ratio": 1.3666666666666667,
    "weighted_momentum_diff": 1.5689999999999884,
    "elite_surface_amplifier": 0.0,
    "days_since_last_match_p1": 0,
    "days_since_last_match_p2": 0,
    "rank_surface_mismatch_p1": -0.018585365853658553,
    "rank_surface_mismatch_p2": -0.05133333333333334,
    "surface_wr_diff_adjusted": 0.39215686274509665,
    "surface_tournaments_won_diff": -1
  },
  "feature_importance": {}
}