{
  "trained_at": "2026-04-14 17:20:03",
  "market_results": {
    "MS": {
      "samples": 9791,
      "features_used": [
        "home_overall_elo",
        "away_overall_elo",
        "elo_diff",
        "home_home_elo",
        "away_away_elo",
        "home_form_elo",
        "away_form_elo",
        "form_elo_diff",
        "home_goals_avg",
        "home_conceded_avg",
        "away_goals_avg",
        "away_conceded_avg",
        "home_clean_sheet_rate",
        "away_clean_sheet_rate",
        "home_scoring_rate",
        "away_scoring_rate",
        "home_winning_streak",
        "away_winning_streak",
        "home_unbeaten_streak",
        "away_unbeaten_streak",
        "h2h_total_matches",
        "h2h_home_win_rate",
        "h2h_draw_rate",
        "h2h_avg_goals",
        "h2h_btts_rate",
        "h2h_over25_rate",
        "home_avg_possession",
        "away_avg_possession",
        "home_avg_shots_on_target",
        "away_avg_shots_on_target",
        "home_shot_conversion",
        "away_shot_conversion",
        "home_avg_corners",
        "away_avg_corners",
        "odds_ms_h",
        "odds_ms_d",
        "odds_ms_a",
        "implied_home",
        "implied_draw",
        "implied_away",
        "odds_ht_ms_h",
        "odds_ht_ms_d",
        "odds_ht_ms_a",
        "odds_ou05_o",
        "odds_ou05_u",
        "odds_ou15_o",
        "odds_ou15_u",
        "odds_ou25_o",
        "odds_ou25_u",
        "odds_ou35_o",
        "odds_ou35_u",
        "odds_ht_ou05_o",
        "odds_ht_ou05_u",
        "odds_ht_ou15_o",
        "odds_ht_ou15_u",
        "odds_btts_y",
        "odds_btts_n",
        "odds_ms_h_present",
        "odds_ms_d_present",
        "odds_ms_a_present",
        "odds_ht_ms_h_present",
        "odds_ht_ms_d_present",
        "odds_ht_ms_a_present",
        "odds_ou05_o_present",
        "odds_ou05_u_present",
        "odds_ou15_o_present",
        "odds_ou15_u_present",
        "odds_ou25_o_present",
        "odds_ou25_u_present",
        "odds_ou35_o_present",
        "odds_ou35_u_present",
        "odds_ht_ou05_o_present",
        "odds_ht_ou05_u_present",
        "odds_ht_ou15_o_present",
        "odds_ht_ou15_u_present",
        "odds_btts_y_present",
        "odds_btts_n_present",
        "home_xga",
        "away_xga",
        "league_avg_goals",
        "league_zero_goal_rate",
        "upset_atmosphere",
        "upset_motivation",
        "upset_fatigue",
        "upset_potential",
        "referee_home_bias",
        "referee_avg_goals",
        "referee_cards_total",
        "referee_avg_yellow",
        "referee_experience",
        "home_momentum_score",
        "away_momentum_score",
        "momentum_diff",
        "home_squad_quality",
        "away_squad_quality",
        "squad_diff",
        "home_key_players",
        "away_key_players",
        "home_missing_impact",
        "away_missing_impact",
        "home_goals_form",
        "away_goals_form"
      ],
      "train_samples": 6853,
      "val_samples": 1469,
      "test_samples": 1469,
      "xgb_accuracy": 0.8938,
      "xgb_logloss": 0.2263,
      "lgb_accuracy": 0.8938,
      "lgb_logloss": 0.2214,
      "ensemble_accuracy": 0.8945,
      "ensemble_logloss": 0.2226,
      "class_count": 3
    },
    "OU15": {
      "samples": 9791,
      "features_used": [
        "home_overall_elo",
        "away_overall_elo",
        "elo_diff",
        "home_home_elo",
        "away_away_elo",
        "home_form_elo",
        "away_form_elo",
        "form_elo_diff",
        "home_goals_avg",
        "home_conceded_avg",
        "away_goals_avg",
        "away_conceded_avg",
        "home_clean_sheet_rate",
        "away_clean_sheet_rate",
        "home_scoring_rate",
        "away_scoring_rate",
        "home_winning_streak",
        "away_winning_streak",
        "home_unbeaten_streak",
        "away_unbeaten_streak",
        "h2h_total_matches",
        "h2h_home_win_rate",
        "h2h_draw_rate",
        "h2h_avg_goals",
        "h2h_btts_rate",
        "h2h_over25_rate",
        "home_avg_possession",
        "away_avg_possession",
        "home_avg_shots_on_target",
        "away_avg_shots_on_target",
        "home_shot_conversion",
        "away_shot_conversion",
        "home_avg_corners",
        "away_avg_corners",
        "odds_ms_h",
        "odds_ms_d",
        "odds_ms_a",
        "implied_home",
        "implied_draw",
        "implied_away",
        "odds_ht_ms_h",
        "odds_ht_ms_d",
        "odds_ht_ms_a",
        "odds_ou05_o",
        "odds_ou05_u",
        "odds_ou15_o",
        "odds_ou15_u",
        "odds_ou25_o",
        "odds_ou25_u",
        "odds_ou35_o",
        "odds_ou35_u",
        "odds_ht_ou05_o",
        "odds_ht_ou05_u",
        "odds_ht_ou15_o",
        "odds_ht_ou15_u",
        "odds_btts_y",
        "odds_btts_n",
        "odds_ms_h_present",
        "odds_ms_d_present",
        "odds_ms_a_present",
        "odds_ht_ms_h_present",
        "odds_ht_ms_d_present",
        "odds_ht_ms_a_present",
        "odds_ou05_o_present",
        "odds_ou05_u_present",
        "odds_ou15_o_present",
        "odds_ou15_u_present",
        "odds_ou25_o_present",
        "odds_ou25_u_present",
        "odds_ou35_o_present",
        "odds_ou35_u_present",
        "odds_ht_ou05_o_present",
        "odds_ht_ou05_u_present",
        "odds_ht_ou15_o_present",
        "odds_ht_ou15_u_present",
        "odds_btts_y_present",
        "odds_btts_n_present",
        "home_xga",
        "away_xga",
        "league_avg_goals",
        "league_zero_goal_rate",
        "upset_atmosphere",
        "upset_motivation",
        "upset_fatigue",
        "upset_potential",
        "referee_home_bias",
        "referee_avg_goals",
        "referee_cards_total",
        "referee_avg_yellow",
        "referee_experience",
        "home_momentum_score",
        "away_momentum_score",
        "momentum_diff",
        "home_squad_quality",
        "away_squad_quality",
        "squad_diff",
        "home_key_players",
        "away_key_players",
        "home_missing_impact",
        "away_missing_impact",
        "home_goals_form",
        "away_goals_form"
      ],
      "train_samples": 6853,
      "val_samples": 1469,
      "test_samples": 1469,
      "xgb_accuracy": 0.9088,
      "xgb_logloss": 0.1758,
      "lgb_accuracy": 0.9067,
      "lgb_logloss": 0.1783,
      "ensemble_accuracy": 0.9108,
      "ensemble_logloss": 0.1753,
      "class_count": 2
    },
    "OU25": {
      "samples": 9791,
      "features_used": [
        "home_overall_elo",
        "away_overall_elo",
        "elo_diff",
        "home_home_elo",
        "away_away_elo",
        "home_form_elo",
        "away_form_elo",
        "form_elo_diff",
        "home_goals_avg",
        "home_conceded_avg",
        "away_goals_avg",
        "away_conceded_avg",
        "home_clean_sheet_rate",
        "away_clean_sheet_rate",
        "home_scoring_rate",
        "away_scoring_rate",
        "home_winning_streak",
        "away_winning_streak",
        "home_unbeaten_streak",
        "away_unbeaten_streak",
        "h2h_total_matches",
        "h2h_home_win_rate",
        "h2h_draw_rate",
        "h2h_avg_goals",
        "h2h_btts_rate",
        "h2h_over25_rate",
        "home_avg_possession",
        "away_avg_possession",
        "home_avg_shots_on_target",
        "away_avg_shots_on_target",
        "home_shot_conversion",
        "away_shot_conversion",
        "home_avg_corners",
        "away_avg_corners",
        "odds_ms_h",
        "odds_ms_d",
        "odds_ms_a",
        "implied_home",
        "implied_draw",
        "implied_away",
        "odds_ht_ms_h",
        "odds_ht_ms_d",
        "odds_ht_ms_a",
        "odds_ou05_o",
        "odds_ou05_u",
        "odds_ou15_o",
        "odds_ou15_u",
        "odds_ou25_o",
        "odds_ou25_u",
        "odds_ou35_o",
        "odds_ou35_u",
        "odds_ht_ou05_o",
        "odds_ht_ou05_u",
        "odds_ht_ou15_o",
        "odds_ht_ou15_u",
        "odds_btts_y",
        "odds_btts_n",
        "odds_ms_h_present",
        "odds_ms_d_present",
        "odds_ms_a_present",
        "odds_ht_ms_h_present",
        "odds_ht_ms_d_present",
        "odds_ht_ms_a_present",
        "odds_ou05_o_present",
        "odds_ou05_u_present",
        "odds_ou15_o_present",
        "odds_ou15_u_present",
        "odds_ou25_o_present",
        "odds_ou25_u_present",
        "odds_ou35_o_present",
        "odds_ou35_u_present",
        "odds_ht_ou05_o_present",
        "odds_ht_ou05_u_present",
        "odds_ht_ou15_o_present",
        "odds_ht_ou15_u_present",
        "odds_btts_y_present",
        "odds_btts_n_present",
        "home_xga",
        "away_xga",
        "league_avg_goals",
        "league_zero_goal_rate",
        "upset_atmosphere",
        "upset_motivation",
        "upset_fatigue",
        "upset_potential",
        "referee_home_bias",
        "referee_avg_goals",
        "referee_cards_total",
        "referee_avg_yellow",
        "referee_experience",
        "home_momentum_score",
        "away_momentum_score",
        "momentum_diff",
        "home_squad_quality",
        "away_squad_quality",
        "squad_diff",
        "home_key_players",
        "away_key_players",
        "home_missing_impact",
        "away_missing_impact",
        "home_goals_form",
        "away_goals_form"
      ],
      "train_samples": 6853,
      "val_samples": 1469,
      "test_samples": 1469,
      "xgb_accuracy": 0.9204,
      "xgb_logloss": 0.1535,
      "lgb_accuracy": 0.9224,
      "lgb_logloss": 0.1523,
      "ensemble_accuracy": 0.9217,
      "ensemble_logloss": 0.1518,
      "class_count": 2
    },
    "OU35": {
      "samples": 9791,
      "features_used": [
        "home_overall_elo",
        "away_overall_elo",
        "elo_diff",
        "home_home_elo",
        "away_away_elo",
        "home_form_elo",
        "away_form_elo",
        "form_elo_diff",
        "home_goals_avg",
        "home_conceded_avg",
        "away_goals_avg",
        "away_conceded_avg",
        "home_clean_sheet_rate",
        "away_clean_sheet_rate",
        "home_scoring_rate",
        "away_scoring_rate",
        "home_winning_streak",
        "away_winning_streak",
        "home_unbeaten_streak",
        "away_unbeaten_streak",
        "h2h_total_matches",
        "h2h_home_win_rate",
        "h2h_draw_rate",
        "h2h_avg_goals",
        "h2h_btts_rate",
        "h2h_over25_rate",
        "home_avg_possession",
        "away_avg_possession",
        "home_avg_shots_on_target",
        "away_avg_shots_on_target",
        "home_shot_conversion",
        "away_shot_conversion",
        "home_avg_corners",
        "away_avg_corners",
        "odds_ms_h",
        "odds_ms_d",
        "odds_ms_a",
        "implied_home",
        "implied_draw",
        "implied_away",
        "odds_ht_ms_h",
        "odds_ht_ms_d",
        "odds_ht_ms_a",
        "odds_ou05_o",
        "odds_ou05_u",
        "odds_ou15_o",
        "odds_ou15_u",
        "odds_ou25_o",
        "odds_ou25_u",
        "odds_ou35_o",
        "odds_ou35_u",
        "odds_ht_ou05_o",
        "odds_ht_ou05_u",
        "odds_ht_ou15_o",
        "odds_ht_ou15_u",
        "odds_btts_y",
        "odds_btts_n",
        "odds_ms_h_present",
        "odds_ms_d_present",
        "odds_ms_a_present",
        "odds_ht_ms_h_present",
        "odds_ht_ms_d_present",
        "odds_ht_ms_a_present",
        "odds_ou05_o_present",
        "odds_ou05_u_present",
        "odds_ou15_o_present",
        "odds_ou15_u_present",
        "odds_ou25_o_present",
        "odds_ou25_u_present",
        "odds_ou35_o_present",
        "odds_ou35_u_present",
        "odds_ht_ou05_o_present",
        "odds_ht_ou05_u_present",
        "odds_ht_ou15_o_present",
        "odds_ht_ou15_u_present",
        "odds_btts_y_present",
        "odds_btts_n_present",
        "home_xga",
        "away_xga",
        "league_avg_goals",
        "league_zero_goal_rate",
        "upset_atmosphere",
        "upset_motivation",
        "upset_fatigue",
        "upset_potential",
        "referee_home_bias",
        "referee_avg_goals",
        "referee_cards_total",
        "referee_avg_yellow",
        "referee_experience",
        "home_momentum_score",
        "away_momentum_score",
        "momentum_diff",
        "home_squad_quality",
        "away_squad_quality",
        "squad_diff",
        "home_key_players",
        "away_key_players",
        "home_missing_impact",
        "away_missing_impact",
        "home_goals_form",
        "away_goals_form"
      ],
      "train_samples": 6853,
      "val_samples": 1469,
      "test_samples": 1469,
      "xgb_accuracy": 0.9578,
      "xgb_logloss": 0.1171,
      "lgb_accuracy": 0.9564,
      "lgb_logloss": 0.1144,
      "ensemble_accuracy": 0.9571,
      "ensemble_logloss": 0.1149,
      "class_count": 2
    },
    "BTTS": {
      "samples": 9791,
      "features_used": [
        "home_overall_elo",
        "away_overall_elo",
        "elo_diff",
        "home_home_elo",
        "away_away_elo",
        "home_form_elo",
        "away_form_elo",
        "form_elo_diff",
        "home_goals_avg",
        "home_conceded_avg",
        "away_goals_avg",
        "away_conceded_avg",
        "home_clean_sheet_rate",
        "away_clean_sheet_rate",
        "home_scoring_rate",
        "away_scoring_rate",
        "home_winning_streak",
        "away_winning_streak",
        "home_unbeaten_streak",
        "away_unbeaten_streak",
        "h2h_total_matches",
        "h2h_home_win_rate",
        "h2h_draw_rate",
        "h2h_avg_goals",
        "h2h_btts_rate",
        "h2h_over25_rate",
        "home_avg_possession",
        "away_avg_possession",
        "home_avg_shots_on_target",
        "away_avg_shots_on_target",
        "home_shot_conversion",
        "away_shot_conversion",
        "home_avg_corners",
        "away_avg_corners",
        "odds_ms_h",
        "odds_ms_d",
        "odds_ms_a",
        "implied_home",
        "implied_draw",
        "implied_away",
        "odds_ht_ms_h",
        "odds_ht_ms_d",
        "odds_ht_ms_a",
        "odds_ou05_o",
        "odds_ou05_u",
        "odds_ou15_o",
        "odds_ou15_u",
        "odds_ou25_o",
        "odds_ou25_u",
        "odds_ou35_o",
        "odds_ou35_u",
        "odds_ht_ou05_o",
        "odds_ht_ou05_u",
        "odds_ht_ou15_o",
        "odds_ht_ou15_u",
        "odds_btts_y",
        "odds_btts_n",
        "odds_ms_h_present",
        "odds_ms_d_present",
        "odds_ms_a_present",
        "odds_ht_ms_h_present",
        "odds_ht_ms_d_present",
        "odds_ht_ms_a_present",
        "odds_ou05_o_present",
        "odds_ou05_u_present",
        "odds_ou15_o_present",
        "odds_ou15_u_present",
        "odds_ou25_o_present",
        "odds_ou25_u_present",
        "odds_ou35_o_present",
        "odds_ou35_u_present",
        "odds_ht_ou05_o_present",
        "odds_ht_ou05_u_present",
        "odds_ht_ou15_o_present",
        "odds_ht_ou15_u_present",
        "odds_btts_y_present",
        "odds_btts_n_present",
        "home_xga",
        "away_xga",
        "league_avg_goals",
        "league_zero_goal_rate",
        "upset_atmosphere",
        "upset_motivation",
        "upset_fatigue",
        "upset_potential",
        "referee_home_bias",
        "referee_avg_goals",
        "referee_cards_total",
        "referee_avg_yellow",
        "referee_experience",
        "home_momentum_score",
        "away_momentum_score",
        "momentum_diff",
        "home_squad_quality",
        "away_squad_quality",
        "squad_diff",
        "home_key_players",
        "away_key_players",
        "home_missing_impact",
        "away_missing_impact",
        "home_goals_form",
        "away_goals_form"
      ],
      "train_samples": 6853,
      "val_samples": 1469,
      "test_samples": 1469,
      "xgb_accuracy": 0.9238,
      "xgb_logloss": 0.1439,
      "lgb_accuracy": 0.9265,
      "lgb_logloss": 0.143,
      "ensemble_accuracy": 0.9265,
      "ensemble_logloss": 0.1424,
      "class_count": 2
    },
    "HT_RESULT": {
      "samples": 9786,
      "features_used": [
        "home_overall_elo",
        "away_overall_elo",
        "elo_diff",
        "home_home_elo",
        "away_away_elo",
        "home_form_elo",
        "away_form_elo",
        "form_elo_diff",
        "home_goals_avg",
        "home_conceded_avg",
        "away_goals_avg",
        "away_conceded_avg",
        "home_clean_sheet_rate",
        "away_clean_sheet_rate",
        "home_scoring_rate",
        "away_scoring_rate",
        "home_winning_streak",
        "away_winning_streak",
        "home_unbeaten_streak",
        "away_unbeaten_streak",
        "h2h_total_matches",
        "h2h_home_win_rate",
        "h2h_draw_rate",
        "h2h_avg_goals",
        "h2h_btts_rate",
        "h2h_over25_rate",
        "home_avg_possession",
        "away_avg_possession",
        "home_avg_shots_on_target",
        "away_avg_shots_on_target",
        "home_shot_conversion",
        "away_shot_conversion",
        "home_avg_corners",
        "away_avg_corners",
        "odds_ms_h",
        "odds_ms_d",
        "odds_ms_a",
        "implied_home",
        "implied_draw",
        "implied_away",
        "odds_ht_ms_h",
        "odds_ht_ms_d",
        "odds_ht_ms_a",
        "odds_ou05_o",
        "odds_ou05_u",
        "odds_ou15_o",
        "odds_ou15_u",
        "odds_ou25_o",
        "odds_ou25_u",
        "odds_ou35_o",
        "odds_ou35_u",
        "odds_ht_ou05_o",
        "odds_ht_ou05_u",
        "odds_ht_ou15_o",
        "odds_ht_ou15_u",
        "odds_btts_y",
        "odds_btts_n",
        "odds_ms_h_present",
        "odds_ms_d_present",
        "odds_ms_a_present",
        "odds_ht_ms_h_present",
        "odds_ht_ms_d_present",
        "odds_ht_ms_a_present",
        "odds_ou05_o_present",
        "odds_ou05_u_present",
        "odds_ou15_o_present",
        "odds_ou15_u_present",
        "odds_ou25_o_present",
        "odds_ou25_u_present",
        "odds_ou35_o_present",
        "odds_ou35_u_present",
        "odds_ht_ou05_o_present",
        "odds_ht_ou05_u_present",
        "odds_ht_ou15_o_present",
        "odds_ht_ou15_u_present",
        "odds_btts_y_present",
        "odds_btts_n_present",
        "home_xga",
        "away_xga",
        "league_avg_goals",
        "league_zero_goal_rate",
        "upset_atmosphere",
        "upset_motivation",
        "upset_fatigue",
        "upset_potential",
        "referee_home_bias",
        "referee_avg_goals",
        "referee_cards_total",
        "referee_avg_yellow",
        "referee_experience",
        "home_momentum_score",
        "away_momentum_score",
        "momentum_diff",
        "home_squad_quality",
        "away_squad_quality",
        "squad_diff",
        "home_key_players",
        "away_key_players",
        "home_missing_impact",
        "away_missing_impact",
        "home_goals_form",
        "away_goals_form"
      ],
      "train_samples": 6850,
      "val_samples": 1468,
      "test_samples": 1468,
      "xgb_accuracy": 0.5627,
      "xgb_logloss": 0.8712,
      "lgb_accuracy": 0.5715,
      "lgb_logloss": 0.8649,
      "ensemble_accuracy": 0.5811,
      "ensemble_logloss": 0.8649,
      "class_count": 3
    },
    "HT_OU05": {
      "samples": 9786,
      "features_used": [
        "home_overall_elo",
        "away_overall_elo",
        "elo_diff",
        "home_home_elo",
        "away_away_elo",
        "home_form_elo",
        "away_form_elo",
        "form_elo_diff",
        "home_goals_avg",
        "home_conceded_avg",
        "away_goals_avg",
        "away_conceded_avg",
        "home_clean_sheet_rate",
        "away_clean_sheet_rate",
        "home_scoring_rate",
        "away_scoring_rate",
        "home_winning_streak",
        "away_winning_streak",
        "home_unbeaten_streak",
        "away_unbeaten_streak",
        "h2h_total_matches",
        "h2h_home_win_rate",
        "h2h_draw_rate",
        "h2h_avg_goals",
        "h2h_btts_rate",
        "h2h_over25_rate",
        "home_avg_possession",
        "away_avg_possession",
        "home_avg_shots_on_target",
        "away_avg_shots_on_target",
        "home_shot_conversion",
        "away_shot_conversion",
        "home_avg_corners",
        "away_avg_corners",
        "odds_ms_h",
        "odds_ms_d",
        "odds_ms_a",
        "implied_home",
        "implied_draw",
        "implied_away",
        "odds_ht_ms_h",
        "odds_ht_ms_d",
        "odds_ht_ms_a",
        "odds_ou05_o",
        "odds_ou05_u",
        "odds_ou15_o",
        "odds_ou15_u",
        "odds_ou25_o",
        "odds_ou25_u",
        "odds_ou35_o",
        "odds_ou35_u",
        "odds_ht_ou05_o",
        "odds_ht_ou05_u",
        "odds_ht_ou15_o",
        "odds_ht_ou15_u",
        "odds_btts_y",
        "odds_btts_n",
        "odds_ms_h_present",
        "odds_ms_d_present",
        "odds_ms_a_present",
        "odds_ht_ms_h_present",
        "odds_ht_ms_d_present",
        "odds_ht_ms_a_present",
        "odds_ou05_o_present",
        "odds_ou05_u_present",
        "odds_ou15_o_present",
        "odds_ou15_u_present",
        "odds_ou25_o_present",
        "odds_ou25_u_present",
        "odds_ou35_o_present",
        "odds_ou35_u_present",
        "odds_ht_ou05_o_present",
        "odds_ht_ou05_u_present",
        "odds_ht_ou15_o_present",
        "odds_ht_ou15_u_present",
        "odds_btts_y_present",
        "odds_btts_n_present",
        "home_xga",
        "away_xga",
        "league_avg_goals",
        "league_zero_goal_rate",
        "upset_atmosphere",
        "upset_motivation",
        "upset_fatigue",
        "upset_potential",
        "referee_home_bias",
        "referee_avg_goals",
        "referee_cards_total",
        "referee_avg_yellow",
        "referee_experience",
        "home_momentum_score",
        "away_momentum_score",
        "momentum_diff",
        "home_squad_quality",
        "away_squad_quality",
        "squad_diff",
        "home_key_players",
        "away_key_players",
        "home_missing_impact",
        "away_missing_impact",
        "home_goals_form",
        "away_goals_form"
      ],
      "train_samples": 6850,
      "val_samples": 1468,
      "test_samples": 1468,
      "xgb_accuracy": 0.7221,
      "xgb_logloss": 0.5122,
      "lgb_accuracy": 0.7268,
      "lgb_logloss": 0.5092,
      "ensemble_accuracy": 0.7275,
      "ensemble_logloss": 0.5084,
      "class_count": 2
    },
    "HT_OU15": {
      "samples": 9786,
      "features_used": [
        "home_overall_elo",
        "away_overall_elo",
        "elo_diff",
        "home_home_elo",
        "away_away_elo",
        "home_form_elo",
        "away_form_elo",
        "form_elo_diff",
        "home_goals_avg",
        "home_conceded_avg",
        "away_goals_avg",
        "away_conceded_avg",
        "home_clean_sheet_rate",
        "away_clean_sheet_rate",
        "home_scoring_rate",
        "away_scoring_rate",
        "home_winning_streak",
        "away_winning_streak",
        "home_unbeaten_streak",
        "away_unbeaten_streak",
        "h2h_total_matches",
        "h2h_home_win_rate",
        "h2h_draw_rate",
        "h2h_avg_goals",
        "h2h_btts_rate",
        "h2h_over25_rate",
        "home_avg_possession",
        "away_avg_possession",
        "home_avg_shots_on_target",
        "away_avg_shots_on_target",
        "home_shot_conversion",
        "away_shot_conversion",
        "home_avg_corners",
        "away_avg_corners",
        "odds_ms_h",
        "odds_ms_d",
        "odds_ms_a",
        "implied_home",
        "implied_draw",
        "implied_away",
        "odds_ht_ms_h",
        "odds_ht_ms_d",
        "odds_ht_ms_a",
        "odds_ou05_o",
        "odds_ou05_u",
        "odds_ou15_o",
        "odds_ou15_u",
        "odds_ou25_o",
        "odds_ou25_u",
        "odds_ou35_o",
        "odds_ou35_u",
        "odds_ht_ou05_o",
        "odds_ht_ou05_u",
        "odds_ht_ou15_o",
        "odds_ht_ou15_u",
        "odds_btts_y",
        "odds_btts_n",
        "odds_ms_h_present",
        "odds_ms_d_present",
        "odds_ms_a_present",
        "odds_ht_ms_h_present",
        "odds_ht_ms_d_present",
        "odds_ht_ms_a_present",
        "odds_ou05_o_present",
        "odds_ou05_u_present",
        "odds_ou15_o_present",
        "odds_ou15_u_present",
        "odds_ou25_o_present",
        "odds_ou25_u_present",
        "odds_ou35_o_present",
        "odds_ou35_u_present",
        "odds_ht_ou05_o_present",
        "odds_ht_ou05_u_present",
        "odds_ht_ou15_o_present",
        "odds_ht_ou15_u_present",
        "odds_btts_y_present",
        "odds_btts_n_present",
        "home_xga",
        "away_xga",
        "league_avg_goals",
        "league_zero_goal_rate",
        "upset_atmosphere",
        "upset_motivation",
        "upset_fatigue",
        "upset_potential",
        "referee_home_bias",
        "referee_avg_goals",
        "referee_cards_total",
        "referee_avg_yellow",
        "referee_experience",
        "home_momentum_score",
        "away_momentum_score",
        "momentum_diff",
        "home_squad_quality",
        "away_squad_quality",
        "squad_diff",
        "home_key_players",
        "away_key_players",
        "home_missing_impact",
        "away_missing_impact",
        "home_goals_form",
        "away_goals_form"
      ],
      "train_samples": 6850,
      "val_samples": 1468,
      "test_samples": 1468,
      "xgb_accuracy": 0.752,
      "xgb_logloss": 0.5252,
      "lgb_accuracy": 0.7595,
      "lgb_logloss": 0.5213,
      "ensemble_accuracy": 0.7595,
      "ensemble_logloss": 0.5192,
      "class_count": 2
    },
    "HTFT": {
      "samples": 9786,
      "features_used": [
        "home_overall_elo",
        "away_overall_elo",
        "elo_diff",
        "home_home_elo",
        "away_away_elo",
        "home_form_elo",
        "away_form_elo",
        "form_elo_diff",
        "home_goals_avg",
        "home_conceded_avg",
        "away_goals_avg",
        "away_conceded_avg",
        "home_clean_sheet_rate",
        "away_clean_sheet_rate",
        "home_scoring_rate",
        "away_scoring_rate",
        "home_winning_streak",
        "away_winning_streak",
        "home_unbeaten_streak",
        "away_unbeaten_streak",
        "h2h_total_matches",
        "h2h_home_win_rate",
        "h2h_draw_rate",
        "h2h_avg_goals",
        "h2h_btts_rate",
        "h2h_over25_rate",
        "home_avg_possession",
        "away_avg_possession",
        "home_avg_shots_on_target",
        "away_avg_shots_on_target",
        "home_shot_conversion",
        "away_shot_conversion",
        "home_avg_corners",
        "away_avg_corners",
        "odds_ms_h",
        "odds_ms_d",
        "odds_ms_a",
        "implied_home",
        "implied_draw",
        "implied_away",
        "odds_ht_ms_h",
        "odds_ht_ms_d",
        "odds_ht_ms_a",
        "odds_ou05_o",
        "odds_ou05_u",
        "odds_ou15_o",
        "odds_ou15_u",
        "odds_ou25_o",
        "odds_ou25_u",
        "odds_ou35_o",
        "odds_ou35_u",
        "odds_ht_ou05_o",
        "odds_ht_ou05_u",
        "odds_ht_ou15_o",
        "odds_ht_ou15_u",
        "odds_btts_y",
        "odds_btts_n",
        "odds_ms_h_present",
        "odds_ms_d_present",
        "odds_ms_a_present",
        "odds_ht_ms_h_present",
        "odds_ht_ms_d_present",
        "odds_ht_ms_a_present",
        "odds_ou05_o_present",
        "odds_ou05_u_present",
        "odds_ou15_o_present",
        "odds_ou15_u_present",
        "odds_ou25_o_present",
        "odds_ou25_u_present",
        "odds_ou35_o_present",
        "odds_ou35_u_present",
        "odds_ht_ou05_o_present",
        "odds_ht_ou05_u_present",
        "odds_ht_ou15_o_present",
        "odds_ht_ou15_u_present",
        "odds_btts_y_present",
        "odds_btts_n_present",
        "home_xga",
        "away_xga",
        "league_avg_goals",
        "league_zero_goal_rate",
        "upset_atmosphere",
        "upset_motivation",
        "upset_fatigue",
        "upset_potential",
        "referee_home_bias",
        "referee_avg_goals",
        "referee_cards_total",
        "referee_avg_yellow",
        "referee_experience",
        "home_momentum_score",
        "away_momentum_score",
        "momentum_diff",
        "home_squad_quality",
        "away_squad_quality",
        "squad_diff",
        "home_key_players",
        "away_key_players",
        "home_missing_impact",
        "away_missing_impact",
        "home_goals_form",
        "away_goals_form"
      ],
      "train_samples": 6850,
      "val_samples": 1468,
      "test_samples": 1468,
      "xgb_accuracy": 0.5136,
      "xgb_logloss": 1.1384,
      "lgb_accuracy": 0.5184,
      "lgb_logloss": 1.1469,
      "ensemble_accuracy": 0.5143,
      "ensemble_logloss": 1.1339,
      "class_count": 9
    },
    "ODD_EVEN": {
      "samples": 9791,
      "features_used": [
        "home_overall_elo",
        "away_overall_elo",
        "elo_diff",
        "home_home_elo",
        "away_away_elo",
        "home_form_elo",
        "away_form_elo",
        "form_elo_diff",
        "home_goals_avg",
        "home_conceded_avg",
        "away_goals_avg",
        "away_conceded_avg",
        "home_clean_sheet_rate",
        "away_clean_sheet_rate",
        "home_scoring_rate",
        "away_scoring_rate",
        "home_winning_streak",
        "away_winning_streak",
        "home_unbeaten_streak",
        "away_unbeaten_streak",
        "h2h_total_matches",
        "h2h_home_win_rate",
        "h2h_draw_rate",
        "h2h_avg_goals",
        "h2h_btts_rate",
        "h2h_over25_rate",
        "home_avg_possession",
        "away_avg_possession",
        "home_avg_shots_on_target",
        "away_avg_shots_on_target",
        "home_shot_conversion",
        "away_shot_conversion",
        "home_avg_corners",
        "away_avg_corners",
        "odds_ms_h",
        "odds_ms_d",
        "odds_ms_a",
        "implied_home",
        "implied_draw",
        "implied_away",
        "odds_ht_ms_h",
        "odds_ht_ms_d",
        "odds_ht_ms_a",
        "odds_ou05_o",
        "odds_ou05_u",
        "odds_ou15_o",
        "odds_ou15_u",
        "odds_ou25_o",
        "odds_ou25_u",
        "odds_ou35_o",
        "odds_ou35_u",
        "odds_ht_ou05_o",
        "odds_ht_ou05_u",
        "odds_ht_ou15_o",
        "odds_ht_ou15_u",
        "odds_btts_y",
        "odds_btts_n",
        "odds_ms_h_present",
        "odds_ms_d_present",
        "odds_ms_a_present",
        "odds_ht_ms_h_present",
        "odds_ht_ms_d_present",
        "odds_ht_ms_a_present",
        "odds_ou05_o_present",
        "odds_ou05_u_present",
        "odds_ou15_o_present",
        "odds_ou15_u_present",
        "odds_ou25_o_present",
        "odds_ou25_u_present",
        "odds_ou35_o_present",
        "odds_ou35_u_present",
        "odds_ht_ou05_o_present",
        "odds_ht_ou05_u_present",
        "odds_ht_ou15_o_present",
        "odds_ht_ou15_u_present",
        "odds_btts_y_present",
        "odds_btts_n_present",
        "home_xga",
        "away_xga",
        "league_avg_goals",
        "league_zero_goal_rate",
        "upset_atmosphere",
        "upset_motivation",
        "upset_fatigue",
        "upset_potential",
        "referee_home_bias",
        "referee_avg_goals",
        "referee_cards_total",
        "referee_avg_yellow",
        "referee_experience",
        "home_momentum_score",
        "away_momentum_score",
        "momentum_diff",
        "home_squad_quality",
        "away_squad_quality",
        "squad_diff",
        "home_key_players",
        "away_key_players",
        "home_missing_impact",
        "away_missing_impact",
        "home_goals_form",
        "away_goals_form"
      ],
      "train_samples": 6853,
      "val_samples": 1469,
      "test_samples": 1469,
      "xgb_accuracy": 0.8863,
      "xgb_logloss": 0.3565,
      "lgb_accuracy": 0.8802,
      "lgb_logloss": 0.3338,
      "ensemble_accuracy": 0.8863,
      "ensemble_logloss": 0.3423,
      "class_count": 2
    },
    "CARDS_OU45": {
      "samples": 9791,
      "features_used": [
        "home_overall_elo",
        "away_overall_elo",
        "elo_diff",
        "home_home_elo",
        "away_away_elo",
        "home_form_elo",
        "away_form_elo",
        "form_elo_diff",
        "home_goals_avg",
        "home_conceded_avg",
        "away_goals_avg",
        "away_conceded_avg",
        "home_clean_sheet_rate",
        "away_clean_sheet_rate",
        "home_scoring_rate",
        "away_scoring_rate",
        "home_winning_streak",
        "away_winning_streak",
        "home_unbeaten_streak",
        "away_unbeaten_streak",
        "h2h_total_matches",
        "h2h_home_win_rate",
        "h2h_draw_rate",
        "h2h_avg_goals",
        "h2h_btts_rate",
        "h2h_over25_rate",
        "home_avg_possession",
        "away_avg_possession",
        "home_avg_shots_on_target",
        "away_avg_shots_on_target",
        "home_shot_conversion",
        "away_shot_conversion",
        "home_avg_corners",
        "away_avg_corners",
        "odds_ms_h",
        "odds_ms_d",
        "odds_ms_a",
        "implied_home",
        "implied_draw",
        "implied_away",
        "odds_ht_ms_h",
        "odds_ht_ms_d",
        "odds_ht_ms_a",
        "odds_ou05_o",
        "odds_ou05_u",
        "odds_ou15_o",
        "odds_ou15_u",
        "odds_ou25_o",
        "odds_ou25_u",
        "odds_ou35_o",
        "odds_ou35_u",
        "odds_ht_ou05_o",
        "odds_ht_ou05_u",
        "odds_ht_ou15_o",
        "odds_ht_ou15_u",
        "odds_btts_y",
        "odds_btts_n",
        "odds_ms_h_present",
        "odds_ms_d_present",
        "odds_ms_a_present",
        "odds_ht_ms_h_present",
        "odds_ht_ms_d_present",
        "odds_ht_ms_a_present",
        "odds_ou05_o_present",
        "odds_ou05_u_present",
        "odds_ou15_o_present",
        "odds_ou15_u_present",
        "odds_ou25_o_present",
        "odds_ou25_u_present",
        "odds_ou35_o_present",
        "odds_ou35_u_present",
        "odds_ht_ou05_o_present",
        "odds_ht_ou05_u_present",
        "odds_ht_ou15_o_present",
        "odds_ht_ou15_u_present",
        "odds_btts_y_present",
        "odds_btts_n_present",
        "home_xga",
        "away_xga",
        "league_avg_goals",
        "league_zero_goal_rate",
        "upset_atmosphere",
        "upset_motivation",
        "upset_fatigue",
        "upset_potential",
        "referee_home_bias",
        "referee_avg_goals",
        "referee_cards_total",
        "referee_avg_yellow",
        "referee_experience",
        "home_momentum_score",
        "away_momentum_score",
        "momentum_diff",
        "home_squad_quality",
        "away_squad_quality",
        "squad_diff",
        "home_key_players",
        "away_key_players",
        "home_missing_impact",
        "away_missing_impact",
        "home_goals_form",
        "away_goals_form"
      ],
      "train_samples": 6853,
      "val_samples": 1469,
      "test_samples": 1469,
      "xgb_accuracy": 0.6283,
      "xgb_logloss": 0.6174,
      "lgb_accuracy": 0.6413,
      "lgb_logloss": 0.615,
      "ensemble_accuracy": 0.6372,
      "ensemble_logloss": 0.6142,
      "class_count": 2
    },
    "HANDICAP_MS": {
      "samples": 9791,
      "features_used": [
        "home_overall_elo",
        "away_overall_elo",
        "elo_diff",
        "home_home_elo",
        "away_away_elo",
        "home_form_elo",
        "away_form_elo",
        "form_elo_diff",
        "home_goals_avg",
        "home_conceded_avg",
        "away_goals_avg",
        "away_conceded_avg",
        "home_clean_sheet_rate",
        "away_clean_sheet_rate",
        "home_scoring_rate",
        "away_scoring_rate",
        "home_winning_streak",
        "away_winning_streak",
        "home_unbeaten_streak",
        "away_unbeaten_streak",
        "h2h_total_matches",
        "h2h_home_win_rate",
        "h2h_draw_rate",
        "h2h_avg_goals",
        "h2h_btts_rate",
        "h2h_over25_rate",
        "home_avg_possession",
        "away_avg_possession",
        "home_avg_shots_on_target",
        "away_avg_shots_on_target",
        "home_shot_conversion",
        "away_shot_conversion",
        "home_avg_corners",
        "away_avg_corners",
        "odds_ms_h",
        "odds_ms_d",
        "odds_ms_a",
        "implied_home",
        "implied_draw",
        "implied_away",
        "odds_ht_ms_h",
        "odds_ht_ms_d",
        "odds_ht_ms_a",
        "odds_ou05_o",
        "odds_ou05_u",
        "odds_ou15_o",
        "odds_ou15_u",
        "odds_ou25_o",
        "odds_ou25_u",
        "odds_ou35_o",
        "odds_ou35_u",
        "odds_ht_ou05_o",
        "odds_ht_ou05_u",
        "odds_ht_ou15_o",
        "odds_ht_ou15_u",
        "odds_btts_y",
        "odds_btts_n",
        "odds_ms_h_present",
        "odds_ms_d_present",
        "odds_ms_a_present",
        "odds_ht_ms_h_present",
        "odds_ht_ms_d_present",
        "odds_ht_ms_a_present",
        "odds_ou05_o_present",
        "odds_ou05_u_present",
        "odds_ou15_o_present",
        "odds_ou15_u_present",
        "odds_ou25_o_present",
        "odds_ou25_u_present",
        "odds_ou35_o_present",
        "odds_ou35_u_present",
        "odds_ht_ou05_o_present",
        "odds_ht_ou05_u_present",
        "odds_ht_ou15_o_present",
        "odds_ht_ou15_u_present",
        "odds_btts_y_present",
        "odds_btts_n_present",
        "home_xga",
        "away_xga",
        "league_avg_goals",
        "league_zero_goal_rate",
        "upset_atmosphere",
        "upset_motivation",
        "upset_fatigue",
        "upset_potential",
        "referee_home_bias",
        "referee_avg_goals",
        "referee_cards_total",
        "referee_avg_yellow",
        "referee_experience",
        "home_momentum_score",
        "away_momentum_score",
        "momentum_diff",
        "home_squad_quality",
        "away_squad_quality",
        "squad_diff",
        "home_key_players",
        "away_key_players",
        "home_missing_impact",
        "away_missing_impact",
        "home_goals_form",
        "away_goals_form"
      ],
      "train_samples": 6853,
      "val_samples": 1469,
      "test_samples": 1469,
      "xgb_accuracy": 0.936,
      "xgb_logloss": 0.1903,
      "lgb_accuracy": 0.9346,
      "lgb_logloss": 0.1843,
      "ensemble_accuracy": 0.936,
      "ensemble_logloss": 0.1861,
      "class_count": 3
    }
  }
}