{
  "match_info": {
    "home_team": "Tottenham",
    "away_team": "Everton",
    "tournament": "Premier League",
    "date": "20260912",
    "timezone": "America/New_York",
    "home_formation": "4-2-3-1",
    "away_formation": "4-2-3-1",
    "lineup_status": "unconfirmed_official",
    "lineup_source": "/matches/get-lineups",
    "lineup_confirmed": false,
    "lineup_confidence": 0.75
  },
  "prediction": {
    "most_likely_score": "0-1",
    "home_goals": 0,
    "away_goals": 1,
    "most_likely_score_probability": 0.1306,
    "match_resolution": "regulation",
    "predicted_winner": "Everton",
    "tiebreaker": {
      "applies": false,
      "method": "none",
      "regulation_draw_probability": 0.299,
      "shootout_home_win_probability": null,
      "shootout_away_win_probability": null,
      "penalty_home_goals": null,
      "penalty_away_goals": null,
      "penalty_score": null,
      "penalty_winner": null,
      "penalty_winner_goals": null,
      "penalty_loser_goals": null,
      "penalty_result": null,
      "home_advance_probability": null,
      "away_advance_probability": null,
      "projected_winner": null,
      "projected_winner_probability": null,
      "final_score_after_penalties": null,
      "reason": "Tie-breaker not required for this match context."
    },
    "top_5_scorelines": [
      {
        "score": "0-1",
        "probability": 0.1306
      },
      {
        "score": "1-1",
        "probability": 0.1358
      },
      {
        "score": "0-0",
        "probability": 0.1199
      },
      {
        "score": "1-0",
        "probability": 0.1197
      },
      {
        "score": "1-2",
        "probability": 0.0748
      }
    ],
    "scoreline_probabilities": {
      "0-0": 0.1199,
      "0-1": 0.1306,
      "0-2": 0.0733,
      "0-3": 0.0272,
      "0-4": 0.0076,
      "0-5": 0.0017,
      "1-0": 0.1197,
      "1-1": 0.1358,
      "1-2": 0.0748,
      "1-3": 0.0277,
      "1-4": 0.0077,
      "1-5": 0.0017,
      "2-0": 0.0617,
      "2-1": 0.0686,
      "2-2": 0.0381,
      "2-3": 0.0141,
      "2-4": 0.0039,
      "2-5": 0.0009,
      "3-0": 0.021,
      "3-1": 0.0233,
      "3-2": 0.013,
      "3-3": 0.0048,
      "3-4": 0.0013,
      "4-0": 0.0053,
      "4-1": 0.0059,
      "4-2": 0.0033,
      "4-3": 0.0012,
      "5-0": 0.0011,
      "5-1": 0.0012,
      "5-2": 0.0007
    },
    "outcome": {
      "home_win": 0.327,
      "draw": 0.299,
      "away_win": 0.374
    },
    "markets": {
      "over_2_5_goals": 0.359,
      "under_2_5_goals": 0.641,
      "btts_yes": 0.4304,
      "btts_no": 0.5696,
      "home_clean_sheet": 0.3289,
      "away_clean_sheet": 0.3606
    },
    "home_ratings": {
      "DR": 7.37,
      "MCR": 7.47,
      "ATR": 7.29,
      "GK": 7.16
    },
    "away_ratings": {
      "DR": 6.95,
      "MCR": 7.35,
      "ATR": 7.22,
      "GK": 6.94
    },
    "insights": {
      "summary": "Antagonist matchup analysis for Tottenham vs Everton. Most likely scoreline: 0-1. Lambdas derived from 4 home and 5 away individual player duels.",
      "key_player": "Projected scorer(s): Thierno Barry",
      "tactical_analysis": "Tactical parity between 4-2-3-1 and 4-2-3-1. Match outcome driven primarily by individual player quality. Midfield is evenly contested — Sandro Tonali vs James Garner will be the pivotal duel. Total antagonist xG — Home: 0.48, Away: 0.58. Home danger zone: Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle. Away danger zone: Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle."
    },
    "confidence": 0.61,
    "home_lambda": 1.02,
    "away_lambda": 1.112,
    "modal_scoreline": "1-1",
    "modal_scoreline_probability": 0.1358,
    "headline_policy": "decisive_score_substitution"
  },
  "pregame_baseline": {
    "fair_win_probability": {
      "home_win": 0.327,
      "draw": 0.299,
      "away_win": 0.374
    },
    "favorite": "Everton",
    "favorite_win_probability": 0.374,
    "fair_spread": -0.092,
    "fair_total": 2.132,
    "prop_estimates": [
      {
        "market": "team_total_goals",
        "selection": "Tottenham",
        "estimate": 1.02,
        "probability": null,
        "unit": "goals"
      },
      {
        "market": "team_total_goals",
        "selection": "Everton",
        "estimate": 1.112,
        "probability": null,
        "unit": "goals"
      },
      {
        "market": "over_2_5_goals",
        "selection": "yes",
        "estimate": 2.5,
        "probability": 0.359,
        "unit": "probability"
      },
      {
        "market": "both_teams_to_score",
        "selection": "yes",
        "estimate": 1.0,
        "probability": 0.4304,
        "unit": "probability"
      },
      {
        "market": "clean_sheet",
        "selection": "Tottenham",
        "estimate": 1.0,
        "probability": 0.3289,
        "unit": "probability"
      },
      {
        "market": "clean_sheet",
        "selection": "Everton",
        "estimate": 1.0,
        "probability": 0.3606,
        "unit": "probability"
      },
      {
        "market": "anytime_goal",
        "selection": "Micky van de Ven (Tottenham)",
        "estimate": 0.3573,
        "probability": 0.0,
        "unit": "xG"
      },
      {
        "market": "anytime_goal",
        "selection": "Tyrique George (Everton)",
        "estimate": 0.2806,
        "probability": 0.2256,
        "unit": "xG"
      },
      {
        "market": "assist",
        "selection": "Sávio (Tottenham)",
        "estimate": 0.2021,
        "probability": 0.0,
        "unit": "xA"
      },
      {
        "market": "assist",
        "selection": "Merlin Röhl (Everton)",
        "estimate": 0.157,
        "probability": 0.2375,
        "unit": "xA"
      }
    ],
    "expected_pace": {
      "tempo": "high",
      "expected_total_goals": 2.132,
      "expected_total_shots": 37,
      "expected_total_passes": 883,
      "expected_pressing_actions_per_90": 16.2,
      "possession_home_pct": 50.7,
      "possession_away_pct": 49.3,
      "notes": "possession projects near even"
    },
    "expected_game_script": {
      "favorite": "Everton",
      "favorite_win_probability": 0.374,
      "script": "Everton is the fair winner side, but the baseline remains narrow: fair spread -0.09 goals and fair total 2.13.",
      "first_half": "Expect high tempo while both sides test the matchup thesis; shot baseline is about 18 first-half attempts.",
      "second_half": "If level after halftime, midfield control and bench quality should decide territory; Tottenham must keep the match inside one goal.",
      "late_game": "A Everton lead likely shifts toward control and counters; a draw state keeps set pieces and transition chances live."
    },
    "key_matchup_thesis": "Everton chance creation leans on Thierno Barry against Micky van de Ven, Jan Paul van Hecke in Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle; possession projects near even.",
    "expected_rotation_usage_behavior": [
      "Tottenham: starters carry the main goal usage through the highest xG attackers; bench watchlist: Mohammed Kudus, Xavi Simons, Dominic Solanke.",
      "Everton: starters carry the main goal usage through Thierno Barry; bench watchlist: Brennan Johnson, Beto, Tim Iroegbunam.",
      "Assist usage should flow through Merlin Röhl; late lineup changes should re-score these allocations."
    ],
    "pregame_play_by_play": [
      "0-15: Everton tries to establish the projected edge; track possession and first-shot share.",
      "15-45: Baseline expects high tempo, about 18 total first-half shots, and 1.07 first-half xG pace.",
      "45-70: If the match is level, watch midfield control and the listed bench watchlists for usage changes.",
      "70-90: If Tottenham is chasing, transition and set-piece volume become the primary live deviation signal; a draw state keeps set pieces and transition chances live."
    ],
    "invalidation_triggers": [
      "Early red card, injury, or goalkeeper change for Everton.",
      "Tottenham wins the midfield/territory battle beyond the possession baseline.",
      "Pace collapses: first 25 minutes fall well below the shot and box-entry baseline.",
      "Set pieces, penalties, or second balls create more danger than the open-play matchup thesis."
    ],
    "top_3_risk_factors": [
      {
        "factor": "Low-event scoring variance",
        "impact": "One penalty, deflection, or missed big chance can overwhelm the fair win probability."
      },
      {
        "factor": "Late lineup or role change",
        "impact": "A pregame XI, injury, or tactical role shift can invalidate player prop and usage estimates."
      },
      {
        "factor": "Discipline and set-piece volatility",
        "impact": "Cards, fouls in dangerous zones, and corner volume can change the expected game script quickly."
      }
    ]
  },
  "teams": {
    "Tottenham": {
      "formation": "4-2-3-1",
      "players": {
        "Sávio": {
          "player_id": 1046795,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 17,
          "height": 176,
          "market_value": 37000000,
          "stats": {
            "key_pass": 2,
            "expected_assists": 0.2021,
            "assists": 0,
            "expected_goals": 0.0914,
            "rating": 7.5588,
            "minutes": 66,
            "total_pass": 21,
            "accurate_pass": 16,
            "ball_recovery": 3,
            "duels_won": 6,
            "total_shots": 2,
            "total_long_balls": 1,
            "accurate_long_balls": 0,
            "total_own_half_passes": 3,
            "accurate_own_half_passes": 3,
            "total_opp_half_passes": 17,
            "accurate_opp_half_passes": 13,
            "crosses_total": 2,
            "crosses_accurate": 1,
            "touches": 44,
            "possession_lost": 17.2678,
            "dispossessed": 1.0792,
            "duels_lost": 6,
            "aerial_won": 1,
            "aerial_lost": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "total_contest": 10,
            "won_contest": 5,
            "challenges_lost": 0,
            "fouls": 1,
            "fouls_drawn": 1,
            "goal_rate": 0.0,
            "goals": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "blocks": 0,
            "big_chances_created": 1,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "ball_carries": 26,
            "total_progression": 153,
            "progressive_carries": 9,
            "dribbles_attempted": 3,
            "dribbles_successful": 0.6,
            "crosses_attempted": 0.0,
            "duel_win_rate": 0.228,
            "pressing_faced": "MEDIUM",
            "matchup_zone": "Attacking Mid vs Double Pivot — Tight Space Battle",
            "numerical_situation": "1v2",
            "opponent_defenders": "James Garner, Merlin Röhl",
            "opponent_faced": "James Garner, Merlin Röhl",
            "antagonist_source": "attacking_duel, midfield_pairing",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 80.0
          },
          "latest_10_games": [
            {
              "match_id": 16363638.0,
              "match_date": "2026-09-05",
              "home_team": "Nottingham Forest",
              "away_team": "Tottenham Hotspur",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Tottenham Hotspur",
              "opponent": "Nottingham Forest",
              "stats": {
                "minutes": 61,
                "rating": 7.4,
                "assists": 0,
                "expected_goals": 0.019,
                "expected_assists": 0.2698,
                "total_shots": 1,
                "total_pass": 19,
                "accurate_pass": 15,
                "key_pass": 1,
                "duels_won": 6
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 1302,
            "combined_rank_score": 563.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 430.0,
            "sofascore_rating": 6.9143,
            "sofascore_appearances": 7.0,
            "fifa_rank": 697.0,
            "fifa_overall": 80.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 9,
            "squad_role": "starter",
            "projected_match_rating": 7.5588,
            "source_file": "data/player_rankings.csv",
            "player_name": "Savinho",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Khéphren Thuram",
                  "ranking": 1297
                },
                {
                  "player_name": "Idrissa Gana Gueye",
                  "ranking": 1298
                },
                {
                  "player_name": "Kouadio Manu Koné",
                  "ranking": 1299
                },
                {
                  "player_name": "Anders Dreyer",
                  "ranking": 1300
                },
                {
                  "player_name": "Noa Lang",
                  "ranking": 1301
                }
              ],
              "lower": [
                {
                  "player_name": "Matt Sutton",
                  "ranking": 1303
                },
                {
                  "player_name": "Pierre Kalulu",
                  "ranking": 1304
                },
                {
                  "player_name": "Mario Gila",
                  "ranking": 1305
                },
                {
                  "player_name": "Son Heung Min",
                  "ranking": 1306
                },
                {
                  "player_name": "Bazoumana Touré",
                  "ranking": 1307
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.312,
          "history_matches": 1,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "M_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "keyPass",
              "expectedAssists",
              "totalCross",
              "accurateCross",
              "duelWon",
              "duelLost",
              "aerialWon",
              "ballRecovery",
              "touches",
              "interceptionWon",
              "wonTackle",
              "possessionLostCtrl",
              "dispossessed",
              "numberOfSprints",
              "kilometersCovered",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "creative_index",
              "touches_p90",
              "totalPass_p90",
              "keyPass_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "ballCarriesCount_p90",
              "creative_efficiency",
              "cross_accuracy",
              "cross_creative_contribution",
              "defensive_midfield_actions",
              "press_vulnerability",
              "progressive_carries_p90",
              "intensity_index",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "rating"
            ],
            "history_matches": 1,
            "data_confidence": 0.312,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "market_value_adjustment": 1.0792,
            "fbref_prior_metrics": null,
            "rationale": "XGBoost regressor (M_service) evaluated 1 historical appearances across 5 target models."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 5 target models",
              "stats": {
                "key_pass": 2,
                "expected_assists": 0.1873,
                "assists": 0,
                "expected_goals": 0.1481,
                "rating": 7.0038,
                "minutes": 61,
                "total_pass": 19,
                "accurate_pass": 15,
                "ball_recovery": 3,
                "duels_won": 6,
                "total_shots": 1,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 3,
                "accurate_own_half_passes": 3,
                "total_opp_half_passes": 16,
                "accurate_opp_half_passes": 12,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 41,
                "possession_lost": 16.0,
                "dispossessed": 1.0,
                "duels_lost": 6,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 9,
                "won_contest": 5,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 24,
                "total_progression": 142,
                "progressive_carries": 8
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0792, quality 0.764)",
              "stats": {
                "key_pass": 2,
                "expected_assists": 0.2021,
                "assists": 0,
                "expected_goals": 0.1599,
                "rating": 7.5588,
                "minutes": 66,
                "total_pass": 21,
                "accurate_pass": 16,
                "ball_recovery": 3,
                "duels_won": 6,
                "total_shots": 1,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 3,
                "accurate_own_half_passes": 3,
                "total_opp_half_passes": 17,
                "accurate_opp_half_passes": 13,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 44,
                "possession_lost": 17.2678,
                "dispossessed": 1.0792,
                "duels_lost": 6,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 10,
                "won_contest": 5,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 26,
                "total_progression": 153,
                "progressive_carries": 9
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 2,
                "expected_assists": 0.2021,
                "assists": 0,
                "expected_goals": 0.1599,
                "rating": 7.5588,
                "minutes": 66,
                "total_pass": 21,
                "accurate_pass": 16,
                "ball_recovery": 3,
                "duels_won": 6,
                "total_shots": 1,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 3,
                "accurate_own_half_passes": 3,
                "total_opp_half_passes": 17,
                "accurate_opp_half_passes": 13,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 44,
                "possession_lost": 17.2678,
                "dispossessed": 1.0792,
                "duels_lost": 6,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 10,
                "won_contest": 5,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 26,
                "total_progression": 153,
                "progressive_carries": 9
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "key_pass": 2,
                "expected_assists": 0.2021,
                "assists": 0,
                "expected_goals": 0.1599,
                "rating": 7.5588,
                "minutes": 66,
                "total_pass": 21,
                "accurate_pass": 16,
                "ball_recovery": 3,
                "duels_won": 6,
                "total_shots": 2,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 3,
                "accurate_own_half_passes": 3,
                "total_opp_half_passes": 17,
                "accurate_opp_half_passes": 13,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 44,
                "possession_lost": 17.2678,
                "dispossessed": 1.0792,
                "duels_lost": 6,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 10,
                "won_contest": 5,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 26,
                "total_progression": 153,
                "progressive_carries": 9,
                "dribbles_attempted": 3,
                "dribbles_successful": 0.6,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.228,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "Attacking Mid vs Double Pivot — Tight Space Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "James Garner, Merlin Röhl",
                "opponent_faced": "James Garner, Merlin Röhl",
                "antagonist_source": "attacking_duel, midfield_pairing"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.02 (squad xG sum 1.7835, xG scale 0.5719)",
              "stats": {
                "key_pass": 2,
                "expected_assists": 0.2021,
                "assists": 0,
                "expected_goals": 0.0914,
                "rating": 7.5588,
                "minutes": 66,
                "total_pass": 21,
                "accurate_pass": 16,
                "ball_recovery": 3,
                "duels_won": 6,
                "total_shots": 2,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 3,
                "accurate_own_half_passes": 3,
                "total_opp_half_passes": 17,
                "accurate_opp_half_passes": 13,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 44,
                "possession_lost": 17.2678,
                "dispossessed": 1.0792,
                "duels_lost": 6,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 10,
                "won_contest": 5,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 26,
                "total_progression": 153,
                "progressive_carries": 9,
                "dribbles_attempted": 3,
                "dribbles_successful": 0.6,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.228,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "Attacking Mid vs Double Pivot — Tight Space Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "James Garner, Merlin Röhl",
                "opponent_faced": "James Garner, Merlin Röhl",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 9, fifa_overall 80.0)",
              "stats": {
                "key_pass": 2,
                "expected_assists": 0.2021,
                "assists": 0,
                "expected_goals": 0.0914,
                "rating": 7.5588,
                "minutes": 66,
                "total_pass": 21,
                "accurate_pass": 16,
                "ball_recovery": 3,
                "duels_won": 6,
                "total_shots": 2,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 3,
                "accurate_own_half_passes": 3,
                "total_opp_half_passes": 17,
                "accurate_opp_half_passes": 13,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 44,
                "possession_lost": 17.2678,
                "dispossessed": 1.0792,
                "duels_lost": 6,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 10,
                "won_contest": 5,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 26,
                "total_progression": 153,
                "progressive_carries": 9,
                "dribbles_attempted": 3,
                "dribbles_successful": 0.6,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.228,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "Attacking Mid vs Double Pivot — Tight Space Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "James Garner, Merlin Röhl",
                "opponent_faced": "James Garner, Merlin Röhl",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 80.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 0 projected goals distributed by scorer weight",
              "stats": {
                "key_pass": 2,
                "expected_assists": 0.2021,
                "assists": 0,
                "expected_goals": 0.0914,
                "rating": 7.5588,
                "minutes": 66,
                "total_pass": 21,
                "accurate_pass": 16,
                "ball_recovery": 3,
                "duels_won": 6,
                "total_shots": 2,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 3,
                "accurate_own_half_passes": 3,
                "total_opp_half_passes": 17,
                "accurate_opp_half_passes": 13,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 44,
                "possession_lost": 17.2678,
                "dispossessed": 1.0792,
                "duels_lost": 6,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 10,
                "won_contest": 5,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 26,
                "total_progression": 153,
                "progressive_carries": 9,
                "dribbles_attempted": 3,
                "dribbles_successful": 0.6,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.228,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "Attacking Mid vs Double Pivot — Tight Space Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "James Garner, Merlin Röhl",
                "opponent_faced": "James Garner, Merlin Röhl",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 80.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 0 projected assists distributed by provider weight",
              "stats": {
                "key_pass": 2,
                "expected_assists": 0.2021,
                "assists": 0,
                "expected_goals": 0.0914,
                "rating": 7.5588,
                "minutes": 66,
                "total_pass": 21,
                "accurate_pass": 16,
                "ball_recovery": 3,
                "duels_won": 6,
                "total_shots": 2,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 3,
                "accurate_own_half_passes": 3,
                "total_opp_half_passes": 17,
                "accurate_opp_half_passes": 13,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 44,
                "possession_lost": 17.2678,
                "dispossessed": 1.0792,
                "duels_lost": 6,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 10,
                "won_contest": 5,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 26,
                "total_progression": 153,
                "progressive_carries": 9,
                "dribbles_attempted": 3,
                "dribbles_successful": 0.6,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.228,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "Attacking Mid vs Double Pivot — Tight Space Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "James Garner, Merlin Röhl",
                "opponent_faced": "James Garner, Merlin Röhl",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 80.0
              }
            }
          ]
        },
        "Sandro Tonali": {
          "player_id": 892673,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 16,
          "height": 181,
          "market_value": 74000000,
          "stats": {
            "key_pass": 1,
            "expected_assists": 0.0716,
            "assists": 0,
            "expected_goals": 0.0461,
            "rating": 7.664,
            "minutes": 95,
            "total_pass": 52,
            "accurate_pass": 45,
            "ball_recovery": 4,
            "duels_won": 4,
            "total_shots": 2,
            "total_long_balls": 2,
            "accurate_long_balls": 2,
            "total_own_half_passes": 20,
            "accurate_own_half_passes": 19,
            "total_opp_half_passes": 32,
            "accurate_opp_half_passes": 25,
            "crosses_total": 2,
            "crosses_accurate": 0,
            "touches": 66,
            "possession_lost": 11.1276,
            "dispossessed": 2.2255,
            "duels_lost": 3,
            "aerial_won": 1,
            "aerial_lost": 0,
            "interceptions": 1,
            "tackles_won": 1,
            "tackles": 3,
            "clearances": 1,
            "total_contest": 2,
            "won_contest": 1,
            "challenges_lost": 1,
            "fouls": 1,
            "fouls_drawn": 1,
            "goal_rate": 0.0,
            "goals": 0,
            "shots_on_target": 1,
            "shots_off_target": 1,
            "blocks": 2,
            "big_chances_created": 1,
            "big_chances_missed": 0,
            "xgot": 0.1892,
            "ball_carries": 17,
            "total_progression": 75,
            "progressive_carries": 1,
            "offsides": 1,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 33.3,
            "shotConversion": 0.0,
            "minutesPct": 91.1,
            "pointsPerMatch": 0.0,
            "netGoalDifferencePer90": 0.0,
            "dribbles_attempted": 2,
            "dribbles_successful": 0.8,
            "crosses_attempted": 0.0,
            "duel_win_rate": 0.443,
            "pressing_faced": "ULTRA_HIGH",
            "matchup_zone": "CDM vs CDM",
            "numerical_situation": "1v1",
            "opponent_defenders": "James Garner",
            "opponent_faced": "James Garner",
            "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 85.0
          },
          "latest_10_games": [
            {
              "match_id": 16363638.0,
              "match_date": "2026-09-05",
              "home_team": "Nottingham Forest",
              "away_team": "Tottenham Hotspur",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Tottenham Hotspur",
              "opponent": "Nottingham Forest",
              "stats": {
                "minutes": 90,
                "rating": 7.6,
                "assists": 0,
                "expected_assists": 0.0056,
                "total_shots": 0,
                "total_pass": 41,
                "accurate_pass": 35,
                "tackles": 4,
                "interceptions": 1,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 7,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363256.0,
              "match_date": "2026-08-29",
              "home_team": "Tottenham Hotspur",
              "away_team": "Newcastle United",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Tottenham Hotspur",
              "opponent": "Newcastle United",
              "stats": {
                "minutes": 75,
                "rating": 6.6,
                "assists": 0,
                "expected_goals": 0.0525,
                "expected_assists": 0.0225,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 36,
                "accurate_pass": 29,
                "key_pass": 2,
                "interceptions": 1,
                "duels_won": 2,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363242.0,
              "match_date": "2026-08-22",
              "home_team": "Brentford",
              "away_team": "Tottenham Hotspur",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Tottenham Hotspur",
              "opponent": "Brentford",
              "stats": {
                "minutes": 90,
                "rating": 6.5,
                "assists": 0,
                "expected_goals": 0.0391,
                "expected_assists": 0.06,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 63,
                "accurate_pass": 56,
                "tackles": 1,
                "tackles_won": 1,
                "duels_won": 2,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 101,
            "combined_rank_score": 96.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 54.0,
            "sofascore_rating": 7.6889,
            "sofascore_appearances": 9.0,
            "fifa_rank": 139.0,
            "fifa_overall": 85.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 1,
            "squad_role": "starter",
            "projected_match_rating": 7.664,
            "source_file": "data/player_rankings.csv",
            "player_name": "Sandro Tonali",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Jordan Pickford",
                  "ranking": 96
                },
                {
                  "player_name": "Luke Brattan",
                  "ranking": 97
                },
                {
                  "player_name": "Moisés Caicedo",
                  "ranking": 98
                },
                {
                  "player_name": "Danrlei",
                  "ranking": 99
                },
                {
                  "player_name": "Bruno Guimarães",
                  "ranking": 100
                }
              ],
              "lower": [
                {
                  "player_name": "José Sanhueza",
                  "ranking": 102
                },
                {
                  "player_name": "Fedor Lapoukhov",
                  "ranking": 103
                },
                {
                  "player_name": "Ramón Sosa",
                  "ranking": 104
                },
                {
                  "player_name": "Hakan Çalhanoğlu",
                  "ranking": 105
                },
                {
                  "player_name": "Paulo Dybala",
                  "ranking": 106
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.456,
          "history_matches": 3,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "M_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "keyPass",
              "expectedAssists",
              "totalCross",
              "accurateCross",
              "duelWon",
              "duelLost",
              "aerialWon",
              "ballRecovery",
              "touches",
              "interceptionWon",
              "wonTackle",
              "possessionLostCtrl",
              "dispossessed",
              "numberOfSprints",
              "kilometersCovered",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "creative_index",
              "touches_p90",
              "totalPass_p90",
              "keyPass_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "ballCarriesCount_p90",
              "creative_efficiency",
              "cross_accuracy",
              "cross_creative_contribution",
              "defensive_midfield_actions",
              "press_vulnerability",
              "progressive_carries_p90",
              "intensity_index",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "rating"
            ],
            "history_matches": 3,
            "data_confidence": 0.456,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.1128,
            "fbref_prior_metrics": {
              "squad": "Tottenham",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 2.0,
              "minutes": 164.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 1.65,
              "shots_on_target_pct": 33.3,
              "prior_reliability": 0.12
            },
            "rationale": "XGBoost regressor (M_service) evaluated 3 historical appearances across 5 target models; FBref 2026-2027 prior blended (Premier League, Tottenham, rel: 0.12, gls/90: 0.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 5 target models",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0644,
                "assists": 0,
                "expected_goals": 0.0724,
                "rating": 6.8874,
                "minutes": 85,
                "total_pass": 47,
                "accurate_pass": 40,
                "ball_recovery": 3,
                "duels_won": 4,
                "total_shots": 2,
                "total_long_balls": 2,
                "accurate_long_balls": 2,
                "total_own_half_passes": 18,
                "accurate_own_half_passes": 17,
                "total_opp_half_passes": 29,
                "accurate_opp_half_passes": 23,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 59,
                "possession_lost": 10.0,
                "dispossessed": 2.0,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 1,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 2,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.17,
                "ball_carries": 15,
                "total_progression": 68,
                "progressive_carries": 1
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.1128, quality 0.876)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0716,
                "assists": 0,
                "expected_goals": 0.0806,
                "rating": 7.664,
                "minutes": 95,
                "total_pass": 52,
                "accurate_pass": 45,
                "ball_recovery": 4,
                "duels_won": 4,
                "total_shots": 2,
                "total_long_balls": 2,
                "accurate_long_balls": 2,
                "total_own_half_passes": 20,
                "accurate_own_half_passes": 19,
                "total_opp_half_passes": 32,
                "accurate_opp_half_passes": 25,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 66,
                "possession_lost": 11.1276,
                "dispossessed": 2.2255,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 1,
                "tackles_won": 1,
                "tackles": 3,
                "clearances": 1,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 2,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.1892,
                "ball_carries": 17,
                "total_progression": 75,
                "progressive_carries": 1
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0488)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0716,
                "assists": 0,
                "expected_goals": 0.0806,
                "rating": 7.664,
                "minutes": 95,
                "total_pass": 52,
                "accurate_pass": 45,
                "ball_recovery": 4,
                "duels_won": 4,
                "total_shots": 2,
                "total_long_balls": 2,
                "accurate_long_balls": 2,
                "total_own_half_passes": 20,
                "accurate_own_half_passes": 19,
                "total_opp_half_passes": 32,
                "accurate_opp_half_passes": 25,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 66,
                "possession_lost": 11.1276,
                "dispossessed": 2.2255,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 1,
                "tackles_won": 1,
                "tackles": 3,
                "clearances": 1,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 2,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.1892,
                "ball_carries": 17,
                "total_progression": 75,
                "progressive_carries": 1,
                "offsides": 1,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 33.3,
                "shotConversion": 0.0,
                "minutesPct": 91.1,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": -2.74
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0716,
                "assists": 0,
                "expected_goals": 0.0806,
                "rating": 7.664,
                "minutes": 95,
                "total_pass": 52,
                "accurate_pass": 45,
                "ball_recovery": 4,
                "duels_won": 4,
                "total_shots": 2,
                "total_long_balls": 2,
                "accurate_long_balls": 2,
                "total_own_half_passes": 20,
                "accurate_own_half_passes": 19,
                "total_opp_half_passes": 32,
                "accurate_opp_half_passes": 25,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 66,
                "possession_lost": 11.1276,
                "dispossessed": 2.2255,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 1,
                "tackles_won": 1,
                "tackles": 3,
                "clearances": 1,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 2,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.1892,
                "ball_carries": 17,
                "total_progression": 75,
                "progressive_carries": 1,
                "offsides": 1,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 33.3,
                "shotConversion": 0.0,
                "minutesPct": 91.1,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0716,
                "assists": 0,
                "expected_goals": 0.0806,
                "rating": 7.664,
                "minutes": 95,
                "total_pass": 52,
                "accurate_pass": 45,
                "ball_recovery": 4,
                "duels_won": 4,
                "total_shots": 2,
                "total_long_balls": 2,
                "accurate_long_balls": 2,
                "total_own_half_passes": 20,
                "accurate_own_half_passes": 19,
                "total_opp_half_passes": 32,
                "accurate_opp_half_passes": 25,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 66,
                "possession_lost": 11.1276,
                "dispossessed": 2.2255,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 1,
                "tackles_won": 1,
                "tackles": 3,
                "clearances": 1,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 2,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.1892,
                "ball_carries": 17,
                "total_progression": 75,
                "progressive_carries": 1,
                "offsides": 1,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 33.3,
                "shotConversion": 0.0,
                "minutesPct": 91.1,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.8,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.443,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "James Garner",
                "opponent_faced": "James Garner",
                "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.02 (squad xG sum 1.7835, xG scale 0.5719)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0716,
                "assists": 0,
                "expected_goals": 0.0461,
                "rating": 7.664,
                "minutes": 95,
                "total_pass": 52,
                "accurate_pass": 45,
                "ball_recovery": 4,
                "duels_won": 4,
                "total_shots": 2,
                "total_long_balls": 2,
                "accurate_long_balls": 2,
                "total_own_half_passes": 20,
                "accurate_own_half_passes": 19,
                "total_opp_half_passes": 32,
                "accurate_opp_half_passes": 25,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 66,
                "possession_lost": 11.1276,
                "dispossessed": 2.2255,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 1,
                "tackles_won": 1,
                "tackles": 3,
                "clearances": 1,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 2,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.1892,
                "ball_carries": 17,
                "total_progression": 75,
                "progressive_carries": 1,
                "offsides": 1,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 33.3,
                "shotConversion": 0.0,
                "minutesPct": 91.1,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.8,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.443,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "James Garner",
                "opponent_faced": "James Garner",
                "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 1, fifa_overall 85.0)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0716,
                "assists": 0,
                "expected_goals": 0.0461,
                "rating": 7.664,
                "minutes": 95,
                "total_pass": 52,
                "accurate_pass": 45,
                "ball_recovery": 4,
                "duels_won": 4,
                "total_shots": 2,
                "total_long_balls": 2,
                "accurate_long_balls": 2,
                "total_own_half_passes": 20,
                "accurate_own_half_passes": 19,
                "total_opp_half_passes": 32,
                "accurate_opp_half_passes": 25,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 66,
                "possession_lost": 11.1276,
                "dispossessed": 2.2255,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 1,
                "tackles_won": 1,
                "tackles": 3,
                "clearances": 1,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 2,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.1892,
                "ball_carries": 17,
                "total_progression": 75,
                "progressive_carries": 1,
                "offsides": 1,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 33.3,
                "shotConversion": 0.0,
                "minutesPct": 91.1,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.8,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.443,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "James Garner",
                "opponent_faced": "James Garner",
                "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 85.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 0 projected goals distributed by scorer weight",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0716,
                "assists": 0,
                "expected_goals": 0.0461,
                "rating": 7.664,
                "minutes": 95,
                "total_pass": 52,
                "accurate_pass": 45,
                "ball_recovery": 4,
                "duels_won": 4,
                "total_shots": 2,
                "total_long_balls": 2,
                "accurate_long_balls": 2,
                "total_own_half_passes": 20,
                "accurate_own_half_passes": 19,
                "total_opp_half_passes": 32,
                "accurate_opp_half_passes": 25,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 66,
                "possession_lost": 11.1276,
                "dispossessed": 2.2255,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 1,
                "tackles_won": 1,
                "tackles": 3,
                "clearances": 1,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 2,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.1892,
                "ball_carries": 17,
                "total_progression": 75,
                "progressive_carries": 1,
                "offsides": 1,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 33.3,
                "shotConversion": 0.0,
                "minutesPct": 91.1,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.8,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.443,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "James Garner",
                "opponent_faced": "James Garner",
                "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 85.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 0 projected assists distributed by provider weight",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0716,
                "assists": 0,
                "expected_goals": 0.0461,
                "rating": 7.664,
                "minutes": 95,
                "total_pass": 52,
                "accurate_pass": 45,
                "ball_recovery": 4,
                "duels_won": 4,
                "total_shots": 2,
                "total_long_balls": 2,
                "accurate_long_balls": 2,
                "total_own_half_passes": 20,
                "accurate_own_half_passes": 19,
                "total_opp_half_passes": 32,
                "accurate_opp_half_passes": 25,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 66,
                "possession_lost": 11.1276,
                "dispossessed": 2.2255,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 1,
                "tackles_won": 1,
                "tackles": 3,
                "clearances": 1,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 2,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.1892,
                "ball_carries": 17,
                "total_progression": 75,
                "progressive_carries": 1,
                "offsides": 1,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 33.3,
                "shotConversion": 0.0,
                "minutesPct": 91.1,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.8,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.443,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "James Garner",
                "opponent_faced": "James Garner",
                "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 85.0
              }
            }
          ]
        },
        "Rodrigo Bentancur": {
          "player_id": 791190,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 30,
          "height": 187,
          "market_value": 19300000,
          "stats": {
            "key_pass": 1,
            "expected_assists": 0.0862,
            "assists": 0,
            "expected_goals": 0.0249,
            "rating": 7.0696,
            "minutes": 78,
            "total_pass": 43,
            "accurate_pass": 38,
            "ball_recovery": 4,
            "duels_won": 5,
            "total_shots": 1,
            "total_long_balls": 3,
            "accurate_long_balls": 2,
            "total_own_half_passes": 24,
            "accurate_own_half_passes": 22,
            "total_opp_half_passes": 19,
            "accurate_opp_half_passes": 17,
            "crosses_total": 1,
            "crosses_accurate": 1,
            "touches": 54,
            "possession_lost": 6.2234,
            "dispossessed": 1.0372,
            "duels_lost": 8,
            "aerial_won": 2,
            "aerial_lost": 3,
            "interceptions": 2,
            "tackles_won": 2,
            "tackles": 2,
            "clearances": 5,
            "total_contest": 2,
            "won_contest": 1,
            "challenges_lost": 2,
            "fouls": 3,
            "fouls_drawn": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "shots_on_target": 0,
            "shots_off_target": 1,
            "blocks": 1,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "ball_carries": 15,
            "total_progression": 39,
            "progressive_carries": 1,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "minutesPct": 75.0,
            "pointsPerMatch": 0.0,
            "netGoalDifferencePer90": 0.0,
            "opponent_faced": "Jack Grealish, Merlin Röhl",
            "matchup_zone": "Attacking Mid vs Double Pivot — Tight Space Battle",
            "antagonist_source": "defensive_duel, midfield_pairing",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 79.0
          },
          "latest_10_games": [
            {
              "match_id": 16363638.0,
              "match_date": "2026-09-05",
              "home_team": "Nottingham Forest",
              "away_team": "Tottenham Hotspur",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Tottenham Hotspur",
              "opponent": "Nottingham Forest",
              "stats": {
                "minutes": 90,
                "rating": 6.8,
                "assists": 0,
                "expected_goals": 0.016,
                "expected_assists": 0.0136,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 36,
                "accurate_pass": 29,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 2,
                "clearances": 9,
                "aerial_won": 4,
                "duels_won": 6,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363256.0,
              "match_date": "2026-08-29",
              "home_team": "Tottenham Hotspur",
              "away_team": "Newcastle United",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Tottenham Hotspur",
              "opponent": "Newcastle United",
              "stats": {
                "minutes": 90,
                "rating": 6.6,
                "assists": 0,
                "expected_assists": 0.0167,
                "total_shots": 0,
                "total_pass": 47,
                "accurate_pass": 45,
                "tackles": 2,
                "tackles_won": 2,
                "interceptions": 1,
                "clearances": 1,
                "aerial_won": 2,
                "duels_won": 4,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363242.0,
              "match_date": "2026-08-22",
              "home_team": "Brentford",
              "away_team": "Tottenham Hotspur",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Tottenham Hotspur",
              "opponent": "Brentford",
              "stats": {
                "minutes": 45,
                "rating": 5.9,
                "assists": 0,
                "expected_assists": 0.0124,
                "total_shots": 0,
                "total_pass": 41,
                "accurate_pass": 37,
                "key_pass": 1,
                "tackles": 3,
                "tackles_won": 2,
                "aerial_won": 1,
                "duels_won": 4,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 1665,
            "combined_rank_score": 675.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 490.0,
            "sofascore_rating": 6.8667,
            "sofascore_appearances": 6.0,
            "fifa_rank": 860.0,
            "fifa_overall": 79.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 16,
            "squad_role": "starter",
            "projected_match_rating": 7.0696,
            "source_file": "data/player_rankings.csv",
            "player_name": "Rodrigo Bentancur",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Petar Sučić",
                  "ranking": 1660
                },
                {
                  "player_name": "Giacomo Raspadori",
                  "ranking": 1661
                },
                {
                  "player_name": "Wataru Endo",
                  "ranking": 1662
                },
                {
                  "player_name": "Barış Alper Yılmaz",
                  "ranking": 1663
                },
                {
                  "player_name": "Carlos Soler",
                  "ranking": 1664
                }
              ],
              "lower": [
                {
                  "player_name": "Abdel Abqar",
                  "ranking": 1666
                },
                {
                  "player_name": "Sofyan Amrabat",
                  "ranking": 1667
                },
                {
                  "player_name": "Gang-han Lee",
                  "ranking": 1668
                },
                {
                  "player_name": "Choi Chi-ung",
                  "ranking": 1669
                },
                {
                  "player_name": "Robin Koch",
                  "ranking": 1670
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.453,
          "history_matches": 3,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "M_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "keyPass",
              "expectedAssists",
              "totalCross",
              "accurateCross",
              "duelWon",
              "duelLost",
              "aerialWon",
              "ballRecovery",
              "touches",
              "interceptionWon",
              "wonTackle",
              "possessionLostCtrl",
              "dispossessed",
              "numberOfSprints",
              "kilometersCovered",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "creative_index",
              "touches_p90",
              "totalPass_p90",
              "keyPass_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "ballCarriesCount_p90",
              "creative_efficiency",
              "cross_accuracy",
              "cross_creative_contribution",
              "defensive_midfield_actions",
              "press_vulnerability",
              "progressive_carries_p90",
              "intensity_index",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "rating"
            ],
            "history_matches": 3,
            "data_confidence": 0.453,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.0372,
            "fbref_prior_metrics": {
              "squad": "Tottenham",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 1.0,
              "minutes": 135.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 0.0,
              "prior_reliability": 0.1
            },
            "rationale": "XGBoost regressor (M_service) evaluated 3 historical appearances across 5 target models; FBref 2026-2027 prior blended (Premier League, Tottenham, rel: 0.10, gls/90: 0.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 5 target models",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0831,
                "assists": 0,
                "expected_goals": 0.042,
                "rating": 6.8158,
                "minutes": 75,
                "total_pass": 41,
                "accurate_pass": 37,
                "ball_recovery": 4,
                "duels_won": 5,
                "total_shots": 1,
                "total_long_balls": 2,
                "accurate_long_balls": 2,
                "total_own_half_passes": 23,
                "accurate_own_half_passes": 21,
                "total_opp_half_passes": 19,
                "accurate_opp_half_passes": 16,
                "crosses_total": 1,
                "crosses_accurate": 1,
                "touches": 52,
                "possession_lost": 6.0,
                "dispossessed": 1.0,
                "duels_lost": 8,
                "aerial_won": 2,
                "aerial_lost": 3,
                "interceptions": 2,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 5,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 2,
                "fouls": 3,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 15,
                "total_progression": 37,
                "progressive_carries": 1
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0372, quality 0.624)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0862,
                "assists": 0,
                "expected_goals": 0.0436,
                "rating": 7.0696,
                "minutes": 78,
                "total_pass": 43,
                "accurate_pass": 38,
                "ball_recovery": 4,
                "duels_won": 5,
                "total_shots": 1,
                "total_long_balls": 3,
                "accurate_long_balls": 2,
                "total_own_half_passes": 24,
                "accurate_own_half_passes": 22,
                "total_opp_half_passes": 19,
                "accurate_opp_half_passes": 17,
                "crosses_total": 1,
                "crosses_accurate": 1,
                "touches": 54,
                "possession_lost": 6.2234,
                "dispossessed": 1.0372,
                "duels_lost": 8,
                "aerial_won": 2,
                "aerial_lost": 3,
                "interceptions": 2,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 5,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 2,
                "fouls": 3,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 15,
                "total_progression": 39,
                "progressive_carries": 1
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0406)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0862,
                "assists": 0,
                "expected_goals": 0.0436,
                "rating": 7.0696,
                "minutes": 78,
                "total_pass": 43,
                "accurate_pass": 38,
                "ball_recovery": 4,
                "duels_won": 5,
                "total_shots": 1,
                "total_long_balls": 3,
                "accurate_long_balls": 2,
                "total_own_half_passes": 24,
                "accurate_own_half_passes": 22,
                "total_opp_half_passes": 19,
                "accurate_opp_half_passes": 17,
                "crosses_total": 1,
                "crosses_accurate": 1,
                "touches": 54,
                "possession_lost": 6.2234,
                "dispossessed": 1.0372,
                "duels_lost": 8,
                "aerial_won": 2,
                "aerial_lost": 3,
                "interceptions": 2,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 5,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 2,
                "fouls": 3,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 15,
                "total_progression": 39,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 75.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": -2.0
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0862,
                "assists": 0,
                "expected_goals": 0.0436,
                "rating": 7.0696,
                "minutes": 78,
                "total_pass": 43,
                "accurate_pass": 38,
                "ball_recovery": 4,
                "duels_won": 5,
                "total_shots": 1,
                "total_long_balls": 3,
                "accurate_long_balls": 2,
                "total_own_half_passes": 24,
                "accurate_own_half_passes": 22,
                "total_opp_half_passes": 19,
                "accurate_opp_half_passes": 17,
                "crosses_total": 1,
                "crosses_accurate": 1,
                "touches": 54,
                "possession_lost": 6.2234,
                "dispossessed": 1.0372,
                "duels_lost": 8,
                "aerial_won": 2,
                "aerial_lost": 3,
                "interceptions": 2,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 5,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 2,
                "fouls": 3,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 15,
                "total_progression": 39,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 75.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0862,
                "assists": 0,
                "expected_goals": 0.0436,
                "rating": 7.0696,
                "minutes": 78,
                "total_pass": 43,
                "accurate_pass": 38,
                "ball_recovery": 4,
                "duels_won": 5,
                "total_shots": 1,
                "total_long_balls": 3,
                "accurate_long_balls": 2,
                "total_own_half_passes": 24,
                "accurate_own_half_passes": 22,
                "total_opp_half_passes": 19,
                "accurate_opp_half_passes": 17,
                "crosses_total": 1,
                "crosses_accurate": 1,
                "touches": 54,
                "possession_lost": 6.2234,
                "dispossessed": 1.0372,
                "duels_lost": 8,
                "aerial_won": 2,
                "aerial_lost": 3,
                "interceptions": 2,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 5,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 2,
                "fouls": 3,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 15,
                "total_progression": 39,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 75.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "opponent_faced": "Jack Grealish, Merlin Röhl",
                "matchup_zone": "Attacking Mid vs Double Pivot — Tight Space Battle",
                "antagonist_source": "defensive_duel, midfield_pairing"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.02 (squad xG sum 1.7835, xG scale 0.5719)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0862,
                "assists": 0,
                "expected_goals": 0.0249,
                "rating": 7.0696,
                "minutes": 78,
                "total_pass": 43,
                "accurate_pass": 38,
                "ball_recovery": 4,
                "duels_won": 5,
                "total_shots": 1,
                "total_long_balls": 3,
                "accurate_long_balls": 2,
                "total_own_half_passes": 24,
                "accurate_own_half_passes": 22,
                "total_opp_half_passes": 19,
                "accurate_opp_half_passes": 17,
                "crosses_total": 1,
                "crosses_accurate": 1,
                "touches": 54,
                "possession_lost": 6.2234,
                "dispossessed": 1.0372,
                "duels_lost": 8,
                "aerial_won": 2,
                "aerial_lost": 3,
                "interceptions": 2,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 5,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 2,
                "fouls": 3,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 15,
                "total_progression": 39,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 75.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "opponent_faced": "Jack Grealish, Merlin Röhl",
                "matchup_zone": "Attacking Mid vs Double Pivot — Tight Space Battle",
                "antagonist_source": "defensive_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 16, fifa_overall 79.0)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0862,
                "assists": 0,
                "expected_goals": 0.0249,
                "rating": 7.0696,
                "minutes": 78,
                "total_pass": 43,
                "accurate_pass": 38,
                "ball_recovery": 4,
                "duels_won": 5,
                "total_shots": 1,
                "total_long_balls": 3,
                "accurate_long_balls": 2,
                "total_own_half_passes": 24,
                "accurate_own_half_passes": 22,
                "total_opp_half_passes": 19,
                "accurate_opp_half_passes": 17,
                "crosses_total": 1,
                "crosses_accurate": 1,
                "touches": 54,
                "possession_lost": 6.2234,
                "dispossessed": 1.0372,
                "duels_lost": 8,
                "aerial_won": 2,
                "aerial_lost": 3,
                "interceptions": 2,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 5,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 2,
                "fouls": 3,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 15,
                "total_progression": 39,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 75.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "opponent_faced": "Jack Grealish, Merlin Röhl",
                "matchup_zone": "Attacking Mid vs Double Pivot — Tight Space Battle",
                "antagonist_source": "defensive_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 79.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 0 projected goals distributed by scorer weight",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0862,
                "assists": 0,
                "expected_goals": 0.0249,
                "rating": 7.0696,
                "minutes": 78,
                "total_pass": 43,
                "accurate_pass": 38,
                "ball_recovery": 4,
                "duels_won": 5,
                "total_shots": 1,
                "total_long_balls": 3,
                "accurate_long_balls": 2,
                "total_own_half_passes": 24,
                "accurate_own_half_passes": 22,
                "total_opp_half_passes": 19,
                "accurate_opp_half_passes": 17,
                "crosses_total": 1,
                "crosses_accurate": 1,
                "touches": 54,
                "possession_lost": 6.2234,
                "dispossessed": 1.0372,
                "duels_lost": 8,
                "aerial_won": 2,
                "aerial_lost": 3,
                "interceptions": 2,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 5,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 2,
                "fouls": 3,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 15,
                "total_progression": 39,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 75.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "opponent_faced": "Jack Grealish, Merlin Röhl",
                "matchup_zone": "Attacking Mid vs Double Pivot — Tight Space Battle",
                "antagonist_source": "defensive_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 79.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 0 projected assists distributed by provider weight",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0862,
                "assists": 0,
                "expected_goals": 0.0249,
                "rating": 7.0696,
                "minutes": 78,
                "total_pass": 43,
                "accurate_pass": 38,
                "ball_recovery": 4,
                "duels_won": 5,
                "total_shots": 1,
                "total_long_balls": 3,
                "accurate_long_balls": 2,
                "total_own_half_passes": 24,
                "accurate_own_half_passes": 22,
                "total_opp_half_passes": 19,
                "accurate_opp_half_passes": 17,
                "crosses_total": 1,
                "crosses_accurate": 1,
                "touches": 54,
                "possession_lost": 6.2234,
                "dispossessed": 1.0372,
                "duels_lost": 8,
                "aerial_won": 2,
                "aerial_lost": 3,
                "interceptions": 2,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 5,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 2,
                "fouls": 3,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 15,
                "total_progression": 39,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 75.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "opponent_faced": "Jack Grealish, Merlin Röhl",
                "matchup_zone": "Attacking Mid vs Double Pivot — Tight Space Battle",
                "antagonist_source": "defensive_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 79.0
              }
            }
          ]
        },
        "Destiny Udogie": {
          "player_id": 983572,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 13,
          "height": 186,
          "market_value": 28000000,
          "stats": {
            "interceptions": 1,
            "tackles": 1,
            "tackles_won": 1,
            "clearances": 3,
            "aerial_won": 1,
            "rating": 7.1867,
            "minutes": 33,
            "total_pass": 18,
            "accurate_pass": 16,
            "duels_won": 2,
            "total_long_balls": 1,
            "accurate_long_balls": 0,
            "total_own_half_passes": 7,
            "accurate_own_half_passes": 6,
            "total_opp_half_passes": 11,
            "accurate_opp_half_passes": 9,
            "crosses_total": 2,
            "crosses_accurate": 0,
            "touches": 29,
            "possession_lost": 5.3033,
            "dispossessed": 2.1213,
            "duels_lost": 2,
            "aerial_lost": 1,
            "total_contest": 1,
            "won_contest": 0,
            "ball_recovery": 1,
            "challenges_lost": 0,
            "fouls": 2,
            "fouls_drawn": 2,
            "blocks": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.0,
            "expected_assists": 0.0849,
            "total_shots": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0,
            "ball_carries": 11,
            "total_progression": 38,
            "progressive_carries": 0,
            "key_pass": 1,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "minutesPct": 15.6,
            "pointsPerMatch": 0.0,
            "netGoalDifferencePer90": 0.0,
            "tackles_in_zone": 2.2,
            "tackles_won_in_zone": 1.8,
            "interceptions_in_zone": 1.1,
            "clearances_in_zone": 1.0,
            "aerial_duels_won": 1.0,
            "defensive_success_rate": 0.53,
            "opponent_faced": "Hayden Hackney",
            "pressing_zone": "Right Wing vs Left Back — Flank Battle",
            "matchup_zone": "Right Wing vs Left Back — Flank Battle",
            "antagonist_source": "defensive_duel",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 79.0
          },
          "latest_10_games": [
            {
              "match_id": 16363638.0,
              "match_date": "2026-09-05",
              "home_team": "Nottingham Forest",
              "away_team": "Tottenham Hotspur",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Tottenham Hotspur",
              "opponent": "Nottingham Forest",
              "stats": {
                "minutes": 61,
                "rating": 6.8,
                "assists": 0,
                "expected_assists": 0.0194,
                "total_shots": 0,
                "total_pass": 27,
                "accurate_pass": 24,
                "interceptions": 1,
                "clearances": 2,
                "aerial_won": 3,
                "duels_won": 5,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363256.0,
              "match_date": "2026-08-29",
              "home_team": "Tottenham Hotspur",
              "away_team": "Newcastle United",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Tottenham Hotspur",
              "opponent": "Newcastle United",
              "stats": {
                "minutes": 22,
                "rating": 6.6,
                "assists": 0,
                "expected_assists": 0.1921,
                "total_shots": 0,
                "total_pass": 15,
                "accurate_pass": 12,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "duels_won": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363242.0,
              "match_date": "2026-08-22",
              "home_team": "Brentford",
              "away_team": "Tottenham Hotspur",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Tottenham Hotspur",
              "opponent": "Brentford",
              "stats": {
                "minutes": 9,
                "rating": 6.7,
                "assists": 0,
                "expected_assists": 0.0225,
                "total_shots": 0,
                "total_pass": 8,
                "accurate_pass": 8,
                "duels_won": 1,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 1635,
            "combined_rank_score": 663.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 445.0,
            "sofascore_rating": 6.9,
            "sofascore_appearances": 7.0,
            "fifa_rank": 882.0,
            "fifa_overall": 79.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 11,
            "squad_role": "starter",
            "projected_match_rating": 7.1867,
            "source_file": "data/player_rankings.csv",
            "player_name": "Destiny Udogie",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Yu-chan Lee",
                  "ranking": 1630
                },
                {
                  "player_name": "Diego Gómez",
                  "ranking": 1631
                },
                {
                  "player_name": "Ozan Kabak",
                  "ranking": 1632
                },
                {
                  "player_name": "Fausto Grillo",
                  "ranking": 1633
                },
                {
                  "player_name": "Sherzod Fayziev",
                  "ranking": 1634
                }
              ],
              "lower": [
                {
                  "player_name": "Jae-yul Yeo",
                  "ranking": 1636
                },
                {
                  "player_name": "Paul Mbong",
                  "ranking": 1637
                },
                {
                  "player_name": "Leonardo Fernández",
                  "ranking": 1638
                },
                {
                  "player_name": "Rasmus Højlund",
                  "ranking": 1639
                },
                {
                  "player_name": "Sabit James Ngor",
                  "ranking": 1640
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.441,
          "history_matches": 3,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "D_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalLongBalls",
              "totalOppositionHalfPasses",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "ballRecovery",
              "touches",
              "totalClearance",
              "wonTackle",
              "interceptionWon",
              "dispossessed",
              "challengeLost",
              "errorLeadToAShot",
              "errorLeadToAGoal",
              "possessionLostCtrl",
              "passValueNormalized",
              "defensiveValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "long_ball_accuracy",
              "defensive_actions",
              "tackle_success_rate",
              "touches_p90",
              "totalTackle_p90",
              "interceptionWon_p90",
              "totalClearance_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "press_vulnerability",
              "error_severity",
              "aerial_dominance",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "interceptionWon",
              "totalTackle",
              "wonTackle",
              "totalClearance",
              "aerialWon",
              "rating"
            ],
            "history_matches": 3,
            "data_confidence": 0.441,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.0607,
            "fbref_prior_metrics": {
              "squad": "Tottenham",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 0.0,
              "minutes": 28.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 0.0,
              "prior_reliability": 0.02
            },
            "rationale": "XGBoost regressor (D_service) evaluated 3 historical appearances across 6 target models; FBref 2026-2027 prior blended (Premier League, Tottenham, rel: 0.02, gls/90: 0.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 6 target models",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "rating": 6.7758,
                "minutes": 31,
                "total_pass": 17,
                "accurate_pass": 15,
                "duels_won": 2,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 6,
                "total_opp_half_passes": 10,
                "accurate_opp_half_passes": 9,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 27,
                "possession_lost": 5.0,
                "dispossessed": 2.0,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 1,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 2,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.08,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 10,
                "total_progression": 36,
                "progressive_carries": 0,
                "key_pass": 1
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0607, quality 0.702)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "rating": 7.1867,
                "minutes": 33,
                "total_pass": 18,
                "accurate_pass": 16,
                "duels_won": 2,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 6,
                "total_opp_half_passes": 11,
                "accurate_opp_half_passes": 9,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 29,
                "possession_lost": 5.3033,
                "dispossessed": 2.1213,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 1,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 2,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0849,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 11,
                "total_progression": 38,
                "progressive_carries": 0,
                "key_pass": 1
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0081)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "rating": 7.1867,
                "minutes": 33,
                "total_pass": 18,
                "accurate_pass": 16,
                "duels_won": 2,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 6,
                "total_opp_half_passes": 11,
                "accurate_opp_half_passes": 9,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 29,
                "possession_lost": 5.3033,
                "dispossessed": 2.1213,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 1,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 2,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0849,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 11,
                "total_progression": 38,
                "progressive_carries": 0,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 15.6,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": -3.21
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "rating": 7.1867,
                "minutes": 33,
                "total_pass": 18,
                "accurate_pass": 16,
                "duels_won": 2,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 6,
                "total_opp_half_passes": 11,
                "accurate_opp_half_passes": 9,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 29,
                "possession_lost": 5.3033,
                "dispossessed": 2.1213,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 1,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 2,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0849,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 11,
                "total_progression": 38,
                "progressive_carries": 0,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 15.6,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "rating": 7.1867,
                "minutes": 33,
                "total_pass": 18,
                "accurate_pass": 16,
                "duels_won": 2,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 6,
                "total_opp_half_passes": 11,
                "accurate_opp_half_passes": 9,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 29,
                "possession_lost": 5.3033,
                "dispossessed": 2.1213,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 1,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 2,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0849,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 11,
                "total_progression": 38,
                "progressive_carries": 0,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 15.6,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 2.2,
                "tackles_won_in_zone": 1.8,
                "interceptions_in_zone": 1.1,
                "clearances_in_zone": 1.0,
                "aerial_duels_won": 1.0,
                "defensive_success_rate": 0.53,
                "opponent_faced": "Hayden Hackney",
                "pressing_zone": "Right Wing vs Left Back — Flank Battle",
                "matchup_zone": "Right Wing vs Left Back — Flank Battle",
                "antagonist_source": "defensive_duel"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.02 (squad xG sum 1.7835, xG scale 0.5719)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "rating": 7.1867,
                "minutes": 33,
                "total_pass": 18,
                "accurate_pass": 16,
                "duels_won": 2,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 6,
                "total_opp_half_passes": 11,
                "accurate_opp_half_passes": 9,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 29,
                "possession_lost": 5.3033,
                "dispossessed": 2.1213,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 1,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 2,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0849,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 11,
                "total_progression": 38,
                "progressive_carries": 0,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 15.6,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 2.2,
                "tackles_won_in_zone": 1.8,
                "interceptions_in_zone": 1.1,
                "clearances_in_zone": 1.0,
                "aerial_duels_won": 1.0,
                "defensive_success_rate": 0.53,
                "opponent_faced": "Hayden Hackney",
                "pressing_zone": "Right Wing vs Left Back — Flank Battle",
                "matchup_zone": "Right Wing vs Left Back — Flank Battle",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 11, fifa_overall 79.0)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "rating": 7.1867,
                "minutes": 33,
                "total_pass": 18,
                "accurate_pass": 16,
                "duels_won": 2,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 6,
                "total_opp_half_passes": 11,
                "accurate_opp_half_passes": 9,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 29,
                "possession_lost": 5.3033,
                "dispossessed": 2.1213,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 1,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 2,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0849,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 11,
                "total_progression": 38,
                "progressive_carries": 0,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 15.6,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 2.2,
                "tackles_won_in_zone": 1.8,
                "interceptions_in_zone": 1.1,
                "clearances_in_zone": 1.0,
                "aerial_duels_won": 1.0,
                "defensive_success_rate": 0.53,
                "opponent_faced": "Hayden Hackney",
                "pressing_zone": "Right Wing vs Left Back — Flank Battle",
                "matchup_zone": "Right Wing vs Left Back — Flank Battle",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 79.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 0 projected goals distributed by scorer weight",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "rating": 7.1867,
                "minutes": 33,
                "total_pass": 18,
                "accurate_pass": 16,
                "duels_won": 2,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 6,
                "total_opp_half_passes": 11,
                "accurate_opp_half_passes": 9,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 29,
                "possession_lost": 5.3033,
                "dispossessed": 2.1213,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 1,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 2,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0849,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 11,
                "total_progression": 38,
                "progressive_carries": 0,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 15.6,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 2.2,
                "tackles_won_in_zone": 1.8,
                "interceptions_in_zone": 1.1,
                "clearances_in_zone": 1.0,
                "aerial_duels_won": 1.0,
                "defensive_success_rate": 0.53,
                "opponent_faced": "Hayden Hackney",
                "pressing_zone": "Right Wing vs Left Back — Flank Battle",
                "matchup_zone": "Right Wing vs Left Back — Flank Battle",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 79.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 0 projected assists distributed by provider weight",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "rating": 7.1867,
                "minutes": 33,
                "total_pass": 18,
                "accurate_pass": 16,
                "duels_won": 2,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 6,
                "total_opp_half_passes": 11,
                "accurate_opp_half_passes": 9,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 29,
                "possession_lost": 5.3033,
                "dispossessed": 2.1213,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 1,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 2,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0849,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 11,
                "total_progression": 38,
                "progressive_carries": 0,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 15.6,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 2.2,
                "tackles_won_in_zone": 1.8,
                "interceptions_in_zone": 1.1,
                "clearances_in_zone": 1.0,
                "aerial_duels_won": 1.0,
                "defensive_success_rate": 0.53,
                "opponent_faced": "Hayden Hackney",
                "pressing_zone": "Right Wing vs Left Back — Flank Battle",
                "matchup_zone": "Right Wing vs Left Back — Flank Battle",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 79.0
              }
            }
          ]
        },
        "Micky van de Ven": {
          "player_id": 998247,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 37,
          "height": 193,
          "market_value": 49000000,
          "stats": {
            "interceptions": 1,
            "tackles": 1,
            "tackles_won": 1,
            "clearances": 5,
            "aerial_won": 2,
            "rating": 7.4212,
            "minutes": 95,
            "total_pass": 79,
            "accurate_pass": 77,
            "duels_won": 7,
            "total_long_balls": 3,
            "accurate_long_balls": 2,
            "total_own_half_passes": 52,
            "accurate_own_half_passes": 50,
            "total_opp_half_passes": 28,
            "accurate_opp_half_passes": 27,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 92,
            "possession_lost": 2.7404,
            "dispossessed": 1.0962,
            "duels_lost": 2,
            "aerial_lost": 1,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 4,
            "challenges_lost": 0,
            "fouls": 2,
            "fouls_drawn": 1,
            "blocks": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.3573,
            "expected_assists": 0.011,
            "total_shots": 1,
            "shots_on_target": 0,
            "shots_off_target": 1,
            "big_chances_created": 0,
            "xgot": 0.0,
            "ball_carries": 37,
            "total_progression": 105,
            "progressive_carries": 0,
            "key_pass": 0,
            "offsides": 0,
            "yellowCards": 1.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "minutesPct": 50.0,
            "pointsPerMatch": 0.0,
            "netGoalDifferencePer90": 0.0,
            "tackles_in_zone": 1.1,
            "tackles_won_in_zone": 1.3,
            "interceptions_in_zone": 1.3,
            "clearances_in_zone": 1.1,
            "aerial_duels_won": 0.4,
            "defensive_success_rate": 0.82,
            "opponent_faced": "Thierno Barry",
            "pressing_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
            "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
            "antagonist_source": "defensive_duel",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 81.0
          },
          "latest_10_games": [
            {
              "match_id": 16363638.0,
              "match_date": "2026-09-05",
              "home_team": "Nottingham Forest",
              "away_team": "Tottenham Hotspur",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Tottenham Hotspur",
              "opponent": "Nottingham Forest",
              "stats": {
                "minutes": 90,
                "rating": 7.4,
                "assists": 0,
                "expected_goals": 0.572,
                "expected_assists": 0.0049,
                "total_shots": 2,
                "shots_off_target": 1,
                "total_pass": 67,
                "accurate_pass": 64,
                "tackles": 3,
                "tackles_won": 3,
                "clearances": 6,
                "aerial_won": 4,
                "duels_won": 8,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363256.0,
              "match_date": "2026-08-29",
              "home_team": "Tottenham Hotspur",
              "away_team": "Newcastle United",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Tottenham Hotspur",
              "opponent": "Newcastle United",
              "stats": {
                "minutes": 90,
                "rating": 6.7,
                "assists": 0,
                "expected_assists": 0.0173,
                "total_shots": 0,
                "total_pass": 78,
                "accurate_pass": 77,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 6,
                "aerial_won": 2,
                "duels_won": 4,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 739,
            "combined_rank_score": 356.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 184.0,
            "sofascore_rating": 7.2286,
            "sofascore_appearances": 7.0,
            "fifa_rank": 528.0,
            "fifa_overall": 81.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 6,
            "squad_role": "starter",
            "projected_match_rating": 7.4212,
            "source_file": "data/player_rankings.csv",
            "player_name": "Micky van de Ven",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Matija Krivokapić",
                  "ranking": 734
                },
                {
                  "player_name": "Shakhzod Ubaydullaev",
                  "ranking": 735
                },
                {
                  "player_name": "Ravshan Khayrullaev",
                  "ranking": 736
                },
                {
                  "player_name": "Hyeon-bin Park",
                  "ranking": 737
                },
                {
                  "player_name": "Borja Bastón",
                  "ranking": 738
                }
              ],
              "lower": [
                {
                  "player_name": "Mikkel Damsgaard",
                  "ranking": 740
                },
                {
                  "player_name": "John Stones",
                  "ranking": 741
                },
                {
                  "player_name": "Aleksandar Boljević",
                  "ranking": 742
                },
                {
                  "player_name": "Zaid Tahseen",
                  "ranking": 743
                },
                {
                  "player_name": "Driton Camaj",
                  "ranking": 744
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.385,
          "history_matches": 2,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "D_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalLongBalls",
              "totalOppositionHalfPasses",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "ballRecovery",
              "touches",
              "totalClearance",
              "wonTackle",
              "interceptionWon",
              "dispossessed",
              "challengeLost",
              "errorLeadToAShot",
              "errorLeadToAGoal",
              "possessionLostCtrl",
              "passValueNormalized",
              "defensiveValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "long_ball_accuracy",
              "defensive_actions",
              "tackle_success_rate",
              "touches_p90",
              "totalTackle_p90",
              "interceptionWon_p90",
              "totalClearance_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "press_vulnerability",
              "error_severity",
              "aerial_dominance",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "interceptionWon",
              "totalTackle",
              "wonTackle",
              "totalClearance",
              "aerialWon",
              "rating"
            ],
            "history_matches": 2,
            "data_confidence": 0.385,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.0962,
            "fbref_prior_metrics": {
              "squad": "Tottenham",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 1.0,
              "starts": 1.0,
              "minutes": 90.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 0.0,
              "prior_reliability": 0.0667
            },
            "rationale": "XGBoost regressor (D_service) evaluated 2 historical appearances across 6 target models; FBref 2026-2027 prior blended (Premier League, Tottenham, rel: 0.07, gls/90: 0.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 6 target models",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 5,
                "aerial_won": 2,
                "rating": 6.7701,
                "minutes": 90,
                "total_pass": 72,
                "accurate_pass": 70,
                "duels_won": 6,
                "total_long_balls": 2,
                "accurate_long_balls": 2,
                "total_own_half_passes": 47,
                "accurate_own_half_passes": 46,
                "total_opp_half_passes": 26,
                "accurate_opp_half_passes": 24,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 84,
                "possession_lost": 2.5,
                "dispossessed": 1.0,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 4,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 1,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.57,
                "expected_assists": 0.01,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 34,
                "total_progression": 95,
                "progressive_carries": 0,
                "key_pass": 0
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0962, quality 0.821)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 5,
                "aerial_won": 2,
                "rating": 7.4212,
                "minutes": 95,
                "total_pass": 79,
                "accurate_pass": 77,
                "duels_won": 7,
                "total_long_balls": 3,
                "accurate_long_balls": 2,
                "total_own_half_passes": 52,
                "accurate_own_half_passes": 50,
                "total_opp_half_passes": 28,
                "accurate_opp_half_passes": 27,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 92,
                "possession_lost": 2.7404,
                "dispossessed": 1.0962,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 4,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 1,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.6248,
                "expected_assists": 0.011,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 37,
                "total_progression": 105,
                "progressive_carries": 0,
                "key_pass": 0
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0310)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 5,
                "aerial_won": 2,
                "rating": 7.4212,
                "minutes": 95,
                "total_pass": 79,
                "accurate_pass": 77,
                "duels_won": 7,
                "total_long_balls": 3,
                "accurate_long_balls": 2,
                "total_own_half_passes": 52,
                "accurate_own_half_passes": 50,
                "total_opp_half_passes": 28,
                "accurate_opp_half_passes": 27,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 92,
                "possession_lost": 2.7404,
                "dispossessed": 1.0962,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 4,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 1,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.6248,
                "expected_assists": 0.011,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 37,
                "total_progression": 105,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 1.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 50.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": -2.0
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 5,
                "aerial_won": 2,
                "rating": 7.4212,
                "minutes": 95,
                "total_pass": 79,
                "accurate_pass": 77,
                "duels_won": 7,
                "total_long_balls": 3,
                "accurate_long_balls": 2,
                "total_own_half_passes": 52,
                "accurate_own_half_passes": 50,
                "total_opp_half_passes": 28,
                "accurate_opp_half_passes": 27,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 92,
                "possession_lost": 2.7404,
                "dispossessed": 1.0962,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 4,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 1,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.6248,
                "expected_assists": 0.011,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 37,
                "total_progression": 105,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 1.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 50.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 5,
                "aerial_won": 2,
                "rating": 7.4212,
                "minutes": 95,
                "total_pass": 79,
                "accurate_pass": 77,
                "duels_won": 7,
                "total_long_balls": 3,
                "accurate_long_balls": 2,
                "total_own_half_passes": 52,
                "accurate_own_half_passes": 50,
                "total_opp_half_passes": 28,
                "accurate_opp_half_passes": 27,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 92,
                "possession_lost": 2.7404,
                "dispossessed": 1.0962,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 4,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 1,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.6248,
                "expected_assists": 0.011,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 37,
                "total_progression": 105,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 1.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 50.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.3,
                "interceptions_in_zone": 1.3,
                "clearances_in_zone": 1.1,
                "aerial_duels_won": 0.4,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Thierno Barry",
                "pressing_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "antagonist_source": "defensive_duel"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.02 (squad xG sum 1.7835, xG scale 0.5719)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 5,
                "aerial_won": 2,
                "rating": 7.4212,
                "minutes": 95,
                "total_pass": 79,
                "accurate_pass": 77,
                "duels_won": 7,
                "total_long_balls": 3,
                "accurate_long_balls": 2,
                "total_own_half_passes": 52,
                "accurate_own_half_passes": 50,
                "total_opp_half_passes": 28,
                "accurate_opp_half_passes": 27,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 92,
                "possession_lost": 2.7404,
                "dispossessed": 1.0962,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 4,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 1,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.3573,
                "expected_assists": 0.011,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 37,
                "total_progression": 105,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 1.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 50.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.3,
                "interceptions_in_zone": 1.3,
                "clearances_in_zone": 1.1,
                "aerial_duels_won": 0.4,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Thierno Barry",
                "pressing_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 6, fifa_overall 81.0)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 5,
                "aerial_won": 2,
                "rating": 7.4212,
                "minutes": 95,
                "total_pass": 79,
                "accurate_pass": 77,
                "duels_won": 7,
                "total_long_balls": 3,
                "accurate_long_balls": 2,
                "total_own_half_passes": 52,
                "accurate_own_half_passes": 50,
                "total_opp_half_passes": 28,
                "accurate_opp_half_passes": 27,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 92,
                "possession_lost": 2.7404,
                "dispossessed": 1.0962,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 4,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 1,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.3573,
                "expected_assists": 0.011,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 37,
                "total_progression": 105,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 1.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 50.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.3,
                "interceptions_in_zone": 1.3,
                "clearances_in_zone": 1.1,
                "aerial_duels_won": 0.4,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Thierno Barry",
                "pressing_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 81.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 0 projected goals distributed by scorer weight",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 5,
                "aerial_won": 2,
                "rating": 7.4212,
                "minutes": 95,
                "total_pass": 79,
                "accurate_pass": 77,
                "duels_won": 7,
                "total_long_balls": 3,
                "accurate_long_balls": 2,
                "total_own_half_passes": 52,
                "accurate_own_half_passes": 50,
                "total_opp_half_passes": 28,
                "accurate_opp_half_passes": 27,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 92,
                "possession_lost": 2.7404,
                "dispossessed": 1.0962,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 4,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 1,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.3573,
                "expected_assists": 0.011,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 37,
                "total_progression": 105,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 1.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 50.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.3,
                "interceptions_in_zone": 1.3,
                "clearances_in_zone": 1.1,
                "aerial_duels_won": 0.4,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Thierno Barry",
                "pressing_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 81.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 0 projected assists distributed by provider weight",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 5,
                "aerial_won": 2,
                "rating": 7.4212,
                "minutes": 95,
                "total_pass": 79,
                "accurate_pass": 77,
                "duels_won": 7,
                "total_long_balls": 3,
                "accurate_long_balls": 2,
                "total_own_half_passes": 52,
                "accurate_own_half_passes": 50,
                "total_opp_half_passes": 28,
                "accurate_opp_half_passes": 27,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 92,
                "possession_lost": 2.7404,
                "dispossessed": 1.0962,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 4,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 1,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.3573,
                "expected_assists": 0.011,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 37,
                "total_progression": 105,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 1.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 50.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.3,
                "interceptions_in_zone": 1.3,
                "clearances_in_zone": 1.1,
                "aerial_duels_won": 0.4,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Thierno Barry",
                "pressing_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 81.0
              }
            }
          ]
        },
        "Jan Paul van Hecke": {
          "player_id": 962012,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 6,
          "height": 189,
          "market_value": 65000000,
          "stats": {
            "interceptions": 1,
            "tackles": 1,
            "tackles_won": 1,
            "clearances": 4,
            "aerial_won": 2,
            "rating": 7.7233,
            "minutes": 95,
            "total_pass": 80,
            "accurate_pass": 75,
            "duels_won": 7,
            "total_long_balls": 7,
            "accurate_long_balls": 4,
            "total_own_half_passes": 41,
            "accurate_own_half_passes": 40,
            "total_opp_half_passes": 39,
            "accurate_opp_half_passes": 35,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 94,
            "possession_lost": 5.544,
            "dispossessed": 0.0,
            "duels_lost": 5,
            "aerial_lost": 3,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 4,
            "challenges_lost": 0,
            "fouls": 1,
            "fouls_drawn": 2,
            "blocks": 2,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.0634,
            "expected_assists": 0.0333,
            "total_shots": 3,
            "shots_on_target": 1,
            "shots_off_target": 2,
            "big_chances_created": 0,
            "xgot": 0.3437,
            "ball_carries": 41,
            "total_progression": 179,
            "progressive_carries": 2,
            "key_pass": 1,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 100.0,
            "shotConversion": 0.0,
            "minutesPct": 100.0,
            "pointsPerMatch": 0.0,
            "netGoalDifferencePer90": 0.0,
            "tackles_in_zone": 1.1,
            "tackles_won_in_zone": 1.3,
            "interceptions_in_zone": 1.4,
            "clearances_in_zone": 1.2,
            "aerial_duels_won": 0.4,
            "defensive_success_rate": 0.82,
            "opponent_faced": "Thierno Barry",
            "pressing_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
            "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
            "antagonist_source": "defensive_duel",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 81.0
          },
          "latest_10_games": [
            {
              "match_id": 16363638.0,
              "match_date": "2026-09-05",
              "home_team": "Nottingham Forest",
              "away_team": "Tottenham Hotspur",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Tottenham Hotspur",
              "opponent": "Nottingham Forest",
              "stats": {
                "minutes": 90,
                "rating": 7.4,
                "assists": 0,
                "expected_goals": 0.0919,
                "expected_assists": 0.0116,
                "total_shots": 2,
                "shots_off_target": 2,
                "total_pass": 73,
                "accurate_pass": 69,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 2,
                "aerial_won": 2,
                "duels_won": 6,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363256.0,
              "match_date": "2026-08-29",
              "home_team": "Tottenham Hotspur",
              "away_team": "Newcastle United",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Tottenham Hotspur",
              "opponent": "Newcastle United",
              "stats": {
                "minutes": 90,
                "rating": 7.6,
                "assists": 0,
                "expected_goals": 0.1062,
                "expected_assists": 0.0308,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 82,
                "accurate_pass": 76,
                "key_pass": 1,
                "tackles": 2,
                "tackles_won": 2,
                "clearances": 6,
                "aerial_won": 3,
                "duels_won": 5,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363242.0,
              "match_date": "2026-08-22",
              "home_team": "Brentford",
              "away_team": "Tottenham Hotspur",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Tottenham Hotspur",
              "opponent": "Brentford",
              "stats": {
                "minutes": 90,
                "rating": 7.1,
                "assists": 0,
                "expected_assists": 0.0348,
                "total_shots": 0,
                "total_pass": 61,
                "accurate_pass": 59,
                "tackles": 2,
                "clearances": 5,
                "aerial_won": 4,
                "duels_won": 7,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 653,
            "combined_rank_score": 330.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 138.0,
            "sofascore_rating": 7.35,
            "sofascore_appearances": 2.0,
            "fifa_rank": 523.0,
            "fifa_overall": 81.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 2,
            "squad_role": "starter",
            "projected_match_rating": 7.7233,
            "source_file": "data/player_rankings.csv",
            "player_name": "Jan Paul van Hecke",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Alessandro Bastoni",
                  "ranking": 648
                },
                {
                  "player_name": "Dieter Villalpando",
                  "ranking": 649
                },
                {
                  "player_name": "Kim Kang-San",
                  "ranking": 650
                },
                {
                  "player_name": "Jan Bednarek",
                  "ranking": 651
                },
                {
                  "player_name": "Dayot Upamecano",
                  "ranking": 652
                }
              ],
              "lower": [
                {
                  "player_name": "Xavi Simons",
                  "ranking": 654
                },
                {
                  "player_name": "Azizbek Turgunboev",
                  "ranking": 655
                },
                {
                  "player_name": "Gabriel Tigrão",
                  "ranking": 656
                },
                {
                  "player_name": "Nicolás Montiel",
                  "ranking": 657
                },
                {
                  "player_name": "Orkun Kökçü",
                  "ranking": 658
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.457,
          "history_matches": 3,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "D_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalLongBalls",
              "totalOppositionHalfPasses",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "ballRecovery",
              "touches",
              "totalClearance",
              "wonTackle",
              "interceptionWon",
              "dispossessed",
              "challengeLost",
              "errorLeadToAShot",
              "errorLeadToAGoal",
              "possessionLostCtrl",
              "passValueNormalized",
              "defensiveValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "long_ball_accuracy",
              "defensive_actions",
              "tackle_success_rate",
              "touches_p90",
              "totalTackle_p90",
              "interceptionWon_p90",
              "totalClearance_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "press_vulnerability",
              "error_severity",
              "aerial_dominance",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "interceptionWon",
              "totalTackle",
              "wonTackle",
              "totalClearance",
              "aerialWon",
              "rating"
            ],
            "history_matches": 3,
            "data_confidence": 0.457,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.1088,
            "fbref_prior_metrics": {
              "squad": "Tottenham",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 2.0,
              "minutes": 180.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 0.5,
              "shots_on_target_pct": 100.0,
              "prior_reliability": 0.1333
            },
            "rationale": "XGBoost regressor (D_service) evaluated 3 historical appearances across 6 target models; FBref 2026-2027 prior blended (Premier League, Tottenham, rel: 0.13, gls/90: 0.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 6 target models",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 2,
                "rating": 6.9655,
                "minutes": 90,
                "total_pass": 72,
                "accurate_pass": 68,
                "duels_won": 6,
                "total_long_balls": 6,
                "accurate_long_balls": 4,
                "total_own_half_passes": 37,
                "accurate_own_half_passes": 36,
                "total_opp_half_passes": 35,
                "accurate_opp_half_passes": 32,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 85,
                "possession_lost": 5.0,
                "dispossessed": 0.0,
                "duels_lost": 4,
                "aerial_lost": 3,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 4,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 2,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.1,
                "expected_assists": 0.03,
                "total_shots": 3,
                "shots_on_target": 1,
                "shots_off_target": 2,
                "big_chances_created": 0,
                "xgot": 0.31,
                "ball_carries": 37,
                "total_progression": 162,
                "progressive_carries": 2,
                "key_pass": 1
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.1088, quality 0.863)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 2,
                "rating": 7.7233,
                "minutes": 95,
                "total_pass": 80,
                "accurate_pass": 75,
                "duels_won": 7,
                "total_long_balls": 7,
                "accurate_long_balls": 4,
                "total_own_half_passes": 41,
                "accurate_own_half_passes": 40,
                "total_opp_half_passes": 39,
                "accurate_opp_half_passes": 35,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 94,
                "possession_lost": 5.544,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_lost": 3,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 4,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 2,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.1109,
                "expected_assists": 0.0333,
                "total_shots": 3,
                "shots_on_target": 1,
                "shots_off_target": 2,
                "big_chances_created": 0,
                "xgot": 0.3437,
                "ball_carries": 41,
                "total_progression": 179,
                "progressive_carries": 2,
                "key_pass": 1
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0542)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 2,
                "rating": 7.7233,
                "minutes": 95,
                "total_pass": 80,
                "accurate_pass": 75,
                "duels_won": 7,
                "total_long_balls": 7,
                "accurate_long_balls": 4,
                "total_own_half_passes": 41,
                "accurate_own_half_passes": 40,
                "total_opp_half_passes": 39,
                "accurate_opp_half_passes": 35,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 94,
                "possession_lost": 5.544,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_lost": 3,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 4,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 2,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.1109,
                "expected_assists": 0.0333,
                "total_shots": 3,
                "shots_on_target": 1,
                "shots_off_target": 2,
                "big_chances_created": 0,
                "xgot": 0.3437,
                "ball_carries": 41,
                "total_progression": 179,
                "progressive_carries": 2,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": -2.5
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 2,
                "rating": 7.7233,
                "minutes": 95,
                "total_pass": 80,
                "accurate_pass": 75,
                "duels_won": 7,
                "total_long_balls": 7,
                "accurate_long_balls": 4,
                "total_own_half_passes": 41,
                "accurate_own_half_passes": 40,
                "total_opp_half_passes": 39,
                "accurate_opp_half_passes": 35,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 94,
                "possession_lost": 5.544,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_lost": 3,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 4,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 2,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.1109,
                "expected_assists": 0.0333,
                "total_shots": 3,
                "shots_on_target": 1,
                "shots_off_target": 2,
                "big_chances_created": 0,
                "xgot": 0.3437,
                "ball_carries": 41,
                "total_progression": 179,
                "progressive_carries": 2,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 2,
                "rating": 7.7233,
                "minutes": 95,
                "total_pass": 80,
                "accurate_pass": 75,
                "duels_won": 7,
                "total_long_balls": 7,
                "accurate_long_balls": 4,
                "total_own_half_passes": 41,
                "accurate_own_half_passes": 40,
                "total_opp_half_passes": 39,
                "accurate_opp_half_passes": 35,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 94,
                "possession_lost": 5.544,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_lost": 3,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 4,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 2,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.1109,
                "expected_assists": 0.0333,
                "total_shots": 3,
                "shots_on_target": 1,
                "shots_off_target": 2,
                "big_chances_created": 0,
                "xgot": 0.3437,
                "ball_carries": 41,
                "total_progression": 179,
                "progressive_carries": 2,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.3,
                "interceptions_in_zone": 1.4,
                "clearances_in_zone": 1.2,
                "aerial_duels_won": 0.4,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Thierno Barry",
                "pressing_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "antagonist_source": "defensive_duel"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.02 (squad xG sum 1.7835, xG scale 0.5719)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 2,
                "rating": 7.7233,
                "minutes": 95,
                "total_pass": 80,
                "accurate_pass": 75,
                "duels_won": 7,
                "total_long_balls": 7,
                "accurate_long_balls": 4,
                "total_own_half_passes": 41,
                "accurate_own_half_passes": 40,
                "total_opp_half_passes": 39,
                "accurate_opp_half_passes": 35,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 94,
                "possession_lost": 5.544,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_lost": 3,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 4,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 2,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0634,
                "expected_assists": 0.0333,
                "total_shots": 3,
                "shots_on_target": 1,
                "shots_off_target": 2,
                "big_chances_created": 0,
                "xgot": 0.3437,
                "ball_carries": 41,
                "total_progression": 179,
                "progressive_carries": 2,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.3,
                "interceptions_in_zone": 1.4,
                "clearances_in_zone": 1.2,
                "aerial_duels_won": 0.4,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Thierno Barry",
                "pressing_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 2, fifa_overall 81.0)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 2,
                "rating": 7.7233,
                "minutes": 95,
                "total_pass": 80,
                "accurate_pass": 75,
                "duels_won": 7,
                "total_long_balls": 7,
                "accurate_long_balls": 4,
                "total_own_half_passes": 41,
                "accurate_own_half_passes": 40,
                "total_opp_half_passes": 39,
                "accurate_opp_half_passes": 35,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 94,
                "possession_lost": 5.544,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_lost": 3,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 4,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 2,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0634,
                "expected_assists": 0.0333,
                "total_shots": 3,
                "shots_on_target": 1,
                "shots_off_target": 2,
                "big_chances_created": 0,
                "xgot": 0.3437,
                "ball_carries": 41,
                "total_progression": 179,
                "progressive_carries": 2,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.3,
                "interceptions_in_zone": 1.4,
                "clearances_in_zone": 1.2,
                "aerial_duels_won": 0.4,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Thierno Barry",
                "pressing_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 81.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 0 projected goals distributed by scorer weight",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 2,
                "rating": 7.7233,
                "minutes": 95,
                "total_pass": 80,
                "accurate_pass": 75,
                "duels_won": 7,
                "total_long_balls": 7,
                "accurate_long_balls": 4,
                "total_own_half_passes": 41,
                "accurate_own_half_passes": 40,
                "total_opp_half_passes": 39,
                "accurate_opp_half_passes": 35,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 94,
                "possession_lost": 5.544,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_lost": 3,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 4,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 2,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0634,
                "expected_assists": 0.0333,
                "total_shots": 3,
                "shots_on_target": 1,
                "shots_off_target": 2,
                "big_chances_created": 0,
                "xgot": 0.3437,
                "ball_carries": 41,
                "total_progression": 179,
                "progressive_carries": 2,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.3,
                "interceptions_in_zone": 1.4,
                "clearances_in_zone": 1.2,
                "aerial_duels_won": 0.4,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Thierno Barry",
                "pressing_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 81.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 0 projected assists distributed by provider weight",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 2,
                "rating": 7.7233,
                "minutes": 95,
                "total_pass": 80,
                "accurate_pass": 75,
                "duels_won": 7,
                "total_long_balls": 7,
                "accurate_long_balls": 4,
                "total_own_half_passes": 41,
                "accurate_own_half_passes": 40,
                "total_opp_half_passes": 39,
                "accurate_opp_half_passes": 35,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 94,
                "possession_lost": 5.544,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_lost": 3,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 4,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 2,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0634,
                "expected_assists": 0.0333,
                "total_shots": 3,
                "shots_on_target": 1,
                "shots_off_target": 2,
                "big_chances_created": 0,
                "xgot": 0.3437,
                "ball_carries": 41,
                "total_progression": 179,
                "progressive_carries": 2,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.3,
                "interceptions_in_zone": 1.4,
                "clearances_in_zone": 1.2,
                "aerial_duels_won": 0.4,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Thierno Barry",
                "pressing_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 81.0
              }
            }
          ]
        },
        "Pedro Porro": {
          "player_id": 913654,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 23,
          "height": 173,
          "market_value": 42000000,
          "stats": {
            "interceptions": 1,
            "tackles": 2,
            "tackles_won": 1,
            "clearances": 3,
            "aerial_won": 1,
            "rating": 7.1534,
            "minutes": 95,
            "total_pass": 66,
            "accurate_pass": 47,
            "duels_won": 3,
            "total_long_balls": 14,
            "accurate_long_balls": 2,
            "total_own_half_passes": 32,
            "accurate_own_half_passes": 25,
            "total_opp_half_passes": 35,
            "accurate_opp_half_passes": 22,
            "crosses_total": 5,
            "crosses_accurate": 2,
            "touches": 97,
            "possession_lost": 27.1818,
            "dispossessed": 0.0,
            "duels_lost": 5,
            "aerial_lost": 1,
            "total_contest": 4,
            "won_contest": 1,
            "ball_recovery": 3,
            "challenges_lost": 1,
            "fouls": 0,
            "fouls_drawn": 1,
            "blocks": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.0186,
            "expected_assists": 0.0652,
            "total_shots": 2,
            "shots_on_target": 0,
            "shots_off_target": 1,
            "big_chances_created": 0,
            "xgot": 0.0,
            "ball_carries": 25,
            "total_progression": 150,
            "progressive_carries": 2,
            "key_pass": 2,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 25.0,
            "shotConversion": 0.0,
            "minutesPct": 50.0,
            "pointsPerMatch": 0.0,
            "netGoalDifferencePer90": 0.0,
            "tackles_in_zone": 2.2,
            "tackles_won_in_zone": 1.8,
            "interceptions_in_zone": 1.3,
            "clearances_in_zone": 1.1,
            "aerial_duels_won": 1.0,
            "defensive_success_rate": 0.509,
            "opponent_faced": "Kiernan Dewsbury-Hall",
            "pressing_zone": "Left Wing vs Right Back — Flank Battle",
            "matchup_zone": "Left Wing vs Right Back — Flank Battle",
            "antagonist_source": "defensive_duel",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 83.0
          },
          "latest_10_games": [
            {
              "match_id": 16363638.0,
              "match_date": "2026-09-05",
              "home_team": "Nottingham Forest",
              "away_team": "Tottenham Hotspur",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Tottenham Hotspur",
              "opponent": "Nottingham Forest",
              "stats": {
                "minutes": 90,
                "rating": 6.6,
                "assists": 0,
                "expected_goals": 0.0271,
                "expected_assists": 0.065,
                "total_shots": 2,
                "shots_off_target": 1,
                "total_pass": 61,
                "accurate_pass": 43,
                "key_pass": 2,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 2,
                "duels_won": 3,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363256.0,
              "match_date": "2026-08-29",
              "home_team": "Tottenham Hotspur",
              "away_team": "Newcastle United",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Tottenham Hotspur",
              "opponent": "Newcastle United",
              "stats": {
                "minutes": 90,
                "rating": 6.8,
                "assists": 0,
                "expected_goals": 0.3275,
                "expected_assists": 0.0991,
                "total_shots": 4,
                "shots_on_target": 1,
                "shots_off_target": 2,
                "total_pass": 31,
                "accurate_pass": 23,
                "tackles": 1,
                "clearances": 3,
                "aerial_won": 1,
                "duels_won": 5,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 221,
            "combined_rank_score": 167.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 60.0,
            "sofascore_rating": 7.66,
            "sofascore_appearances": 5.0,
            "fifa_rank": 274.0,
            "fifa_overall": 83.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 8,
            "squad_role": "starter",
            "projected_match_rating": 7.1534,
            "source_file": "data/player_rankings.csv",
            "player_name": "Pedro Porro",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Jeremías Ledesma",
                  "ranking": 216
                },
                {
                  "player_name": "Rúben Neves",
                  "ranking": 217
                },
                {
                  "player_name": "Fagner",
                  "ranking": 218
                },
                {
                  "player_name": "Javohir Ilyosov",
                  "ranking": 219
                },
                {
                  "player_name": "Trent Alexander-Arnold",
                  "ranking": 220
                }
              ],
              "lower": [
                {
                  "player_name": "Rodrigo Garro",
                  "ranking": 222
                },
                {
                  "player_name": "Ylyas Chouaref",
                  "ranking": 223
                },
                {
                  "player_name": "Rodrigo Riquelme",
                  "ranking": 224
                },
                {
                  "player_name": "Luis Chávez",
                  "ranking": 225
                },
                {
                  "player_name": "Julio González",
                  "ranking": 226
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.323,
          "history_matches": 1,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "D_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalLongBalls",
              "totalOppositionHalfPasses",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "ballRecovery",
              "touches",
              "totalClearance",
              "wonTackle",
              "interceptionWon",
              "dispossessed",
              "challengeLost",
              "errorLeadToAShot",
              "errorLeadToAGoal",
              "possessionLostCtrl",
              "passValueNormalized",
              "defensiveValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "long_ball_accuracy",
              "defensive_actions",
              "tackle_success_rate",
              "touches_p90",
              "totalTackle_p90",
              "interceptionWon_p90",
              "totalClearance_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "press_vulnerability",
              "error_severity",
              "aerial_dominance",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "interceptionWon",
              "totalTackle",
              "wonTackle",
              "totalClearance",
              "aerialWon",
              "rating"
            ],
            "history_matches": 1,
            "data_confidence": 0.323,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.0873,
            "fbref_prior_metrics": {
              "squad": "Tottenham",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 1.0,
              "starts": 1.0,
              "minutes": 90.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 4.0,
              "shots_on_target_pct": 25.0,
              "prior_reliability": 0.0667
            },
            "rationale": "XGBoost regressor (D_service) evaluated 1 historical appearances across 6 target models; FBref 2026-2027 prior blended (Premier League, Tottenham, rel: 0.07, gls/90: 0.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 6 target models",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 2,
                "aerial_won": 1,
                "rating": 6.5793,
                "minutes": 90,
                "total_pass": 61,
                "accurate_pass": 43,
                "duels_won": 3,
                "total_long_balls": 13,
                "accurate_long_balls": 2,
                "total_own_half_passes": 29,
                "accurate_own_half_passes": 23,
                "total_opp_half_passes": 32,
                "accurate_opp_half_passes": 20,
                "crosses_total": 5,
                "crosses_accurate": 2,
                "touches": 89,
                "possession_lost": 25.0,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_lost": 1,
                "total_contest": 4,
                "won_contest": 1,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 1,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.03,
                "expected_assists": 0.06,
                "total_shots": 2,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 23,
                "total_progression": 138,
                "progressive_carries": 2,
                "key_pass": 2
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0873, quality 0.791)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "rating": 7.1534,
                "minutes": 95,
                "total_pass": 66,
                "accurate_pass": 47,
                "duels_won": 3,
                "total_long_balls": 14,
                "accurate_long_balls": 2,
                "total_own_half_passes": 32,
                "accurate_own_half_passes": 25,
                "total_opp_half_passes": 35,
                "accurate_opp_half_passes": 22,
                "crosses_total": 5,
                "crosses_accurate": 2,
                "touches": 97,
                "possession_lost": 27.1818,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_lost": 1,
                "total_contest": 4,
                "won_contest": 1,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 1,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0326,
                "expected_assists": 0.0652,
                "total_shots": 2,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 25,
                "total_progression": 150,
                "progressive_carries": 2,
                "key_pass": 2
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0361)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "rating": 7.1534,
                "minutes": 95,
                "total_pass": 66,
                "accurate_pass": 47,
                "duels_won": 3,
                "total_long_balls": 14,
                "accurate_long_balls": 2,
                "total_own_half_passes": 32,
                "accurate_own_half_passes": 25,
                "total_opp_half_passes": 35,
                "accurate_opp_half_passes": 22,
                "crosses_total": 5,
                "crosses_accurate": 2,
                "touches": 97,
                "possession_lost": 27.1818,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_lost": 1,
                "total_contest": 4,
                "won_contest": 1,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 1,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0326,
                "expected_assists": 0.0652,
                "total_shots": 2,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 25,
                "total_progression": 150,
                "progressive_carries": 2,
                "key_pass": 2,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 25.0,
                "shotConversion": 0.0,
                "minutesPct": 50.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": -2.0
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "rating": 7.1534,
                "minutes": 95,
                "total_pass": 66,
                "accurate_pass": 47,
                "duels_won": 3,
                "total_long_balls": 14,
                "accurate_long_balls": 2,
                "total_own_half_passes": 32,
                "accurate_own_half_passes": 25,
                "total_opp_half_passes": 35,
                "accurate_opp_half_passes": 22,
                "crosses_total": 5,
                "crosses_accurate": 2,
                "touches": 97,
                "possession_lost": 27.1818,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_lost": 1,
                "total_contest": 4,
                "won_contest": 1,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 1,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0326,
                "expected_assists": 0.0652,
                "total_shots": 2,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 25,
                "total_progression": 150,
                "progressive_carries": 2,
                "key_pass": 2,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 25.0,
                "shotConversion": 0.0,
                "minutesPct": 50.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "rating": 7.1534,
                "minutes": 95,
                "total_pass": 66,
                "accurate_pass": 47,
                "duels_won": 3,
                "total_long_balls": 14,
                "accurate_long_balls": 2,
                "total_own_half_passes": 32,
                "accurate_own_half_passes": 25,
                "total_opp_half_passes": 35,
                "accurate_opp_half_passes": 22,
                "crosses_total": 5,
                "crosses_accurate": 2,
                "touches": 97,
                "possession_lost": 27.1818,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_lost": 1,
                "total_contest": 4,
                "won_contest": 1,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 1,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0326,
                "expected_assists": 0.0652,
                "total_shots": 2,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 25,
                "total_progression": 150,
                "progressive_carries": 2,
                "key_pass": 2,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 25.0,
                "shotConversion": 0.0,
                "minutesPct": 50.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 2.2,
                "tackles_won_in_zone": 1.8,
                "interceptions_in_zone": 1.3,
                "clearances_in_zone": 1.1,
                "aerial_duels_won": 1.0,
                "defensive_success_rate": 0.509,
                "opponent_faced": "Kiernan Dewsbury-Hall",
                "pressing_zone": "Left Wing vs Right Back — Flank Battle",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "antagonist_source": "defensive_duel"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.02 (squad xG sum 1.7835, xG scale 0.5719)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "rating": 7.1534,
                "minutes": 95,
                "total_pass": 66,
                "accurate_pass": 47,
                "duels_won": 3,
                "total_long_balls": 14,
                "accurate_long_balls": 2,
                "total_own_half_passes": 32,
                "accurate_own_half_passes": 25,
                "total_opp_half_passes": 35,
                "accurate_opp_half_passes": 22,
                "crosses_total": 5,
                "crosses_accurate": 2,
                "touches": 97,
                "possession_lost": 27.1818,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_lost": 1,
                "total_contest": 4,
                "won_contest": 1,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 1,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0186,
                "expected_assists": 0.0652,
                "total_shots": 2,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 25,
                "total_progression": 150,
                "progressive_carries": 2,
                "key_pass": 2,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 25.0,
                "shotConversion": 0.0,
                "minutesPct": 50.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 2.2,
                "tackles_won_in_zone": 1.8,
                "interceptions_in_zone": 1.3,
                "clearances_in_zone": 1.1,
                "aerial_duels_won": 1.0,
                "defensive_success_rate": 0.509,
                "opponent_faced": "Kiernan Dewsbury-Hall",
                "pressing_zone": "Left Wing vs Right Back — Flank Battle",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 8, fifa_overall 83.0)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "rating": 7.1534,
                "minutes": 95,
                "total_pass": 66,
                "accurate_pass": 47,
                "duels_won": 3,
                "total_long_balls": 14,
                "accurate_long_balls": 2,
                "total_own_half_passes": 32,
                "accurate_own_half_passes": 25,
                "total_opp_half_passes": 35,
                "accurate_opp_half_passes": 22,
                "crosses_total": 5,
                "crosses_accurate": 2,
                "touches": 97,
                "possession_lost": 27.1818,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_lost": 1,
                "total_contest": 4,
                "won_contest": 1,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 1,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0186,
                "expected_assists": 0.0652,
                "total_shots": 2,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 25,
                "total_progression": 150,
                "progressive_carries": 2,
                "key_pass": 2,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 25.0,
                "shotConversion": 0.0,
                "minutesPct": 50.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 2.2,
                "tackles_won_in_zone": 1.8,
                "interceptions_in_zone": 1.3,
                "clearances_in_zone": 1.1,
                "aerial_duels_won": 1.0,
                "defensive_success_rate": 0.509,
                "opponent_faced": "Kiernan Dewsbury-Hall",
                "pressing_zone": "Left Wing vs Right Back — Flank Battle",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 83.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 0 projected goals distributed by scorer weight",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "rating": 7.1534,
                "minutes": 95,
                "total_pass": 66,
                "accurate_pass": 47,
                "duels_won": 3,
                "total_long_balls": 14,
                "accurate_long_balls": 2,
                "total_own_half_passes": 32,
                "accurate_own_half_passes": 25,
                "total_opp_half_passes": 35,
                "accurate_opp_half_passes": 22,
                "crosses_total": 5,
                "crosses_accurate": 2,
                "touches": 97,
                "possession_lost": 27.1818,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_lost": 1,
                "total_contest": 4,
                "won_contest": 1,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 1,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0186,
                "expected_assists": 0.0652,
                "total_shots": 2,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 25,
                "total_progression": 150,
                "progressive_carries": 2,
                "key_pass": 2,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 25.0,
                "shotConversion": 0.0,
                "minutesPct": 50.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 2.2,
                "tackles_won_in_zone": 1.8,
                "interceptions_in_zone": 1.3,
                "clearances_in_zone": 1.1,
                "aerial_duels_won": 1.0,
                "defensive_success_rate": 0.509,
                "opponent_faced": "Kiernan Dewsbury-Hall",
                "pressing_zone": "Left Wing vs Right Back — Flank Battle",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 83.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 0 projected assists distributed by provider weight",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "rating": 7.1534,
                "minutes": 95,
                "total_pass": 66,
                "accurate_pass": 47,
                "duels_won": 3,
                "total_long_balls": 14,
                "accurate_long_balls": 2,
                "total_own_half_passes": 32,
                "accurate_own_half_passes": 25,
                "total_opp_half_passes": 35,
                "accurate_opp_half_passes": 22,
                "crosses_total": 5,
                "crosses_accurate": 2,
                "touches": 97,
                "possession_lost": 27.1818,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_lost": 1,
                "total_contest": 4,
                "won_contest": 1,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 1,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0186,
                "expected_assists": 0.0652,
                "total_shots": 2,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 25,
                "total_progression": 150,
                "progressive_carries": 2,
                "key_pass": 2,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 25.0,
                "shotConversion": 0.0,
                "minutesPct": 50.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 2.2,
                "tackles_won_in_zone": 1.8,
                "interceptions_in_zone": 1.3,
                "clearances_in_zone": 1.1,
                "aerial_duels_won": 1.0,
                "defensive_success_rate": 0.509,
                "opponent_faced": "Kiernan Dewsbury-Hall",
                "pressing_zone": "Left Wing vs Right Back — Flank Battle",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 83.0
              }
            }
          ]
        },
        "Antonín Kinský": {
          "player_id": 1031251,
          "position": "G",
          "position_depth": "G",
          "is_starter": true,
          "shirt_number": 31,
          "height": 190,
          "market_value": 15700000,
          "stats": {
            "saves": 3,
            "goals_prevented": 0.0483,
            "rating": 7.157,
            "minutes": 92,
            "total_pass": 40,
            "accurate_pass": 28,
            "total_long_balls": 17,
            "accurate_long_balls": 5,
            "touches": 51,
            "clearances": 3,
            "ball_recovery": 9,
            "high_claims": 1,
            "punches": 1.539,
            "aerial_won": 1,
            "sweeper_actions": 1,
            "sweeper_accurate": 1,
            "saves_inside_box": 4,
            "possession_lost": 12.3123,
            "duels_won": 1,
            "duels_lost": 2,
            "total_contest": 0,
            "won_contest": 0,
            "fouls": 0,
            "fouls_drawn": 1,
            "total_own_half_passes": 27,
            "accurate_own_half_passes": 25,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "total_shots": 0,
            "shots_on_target": 0,
            "goalsAgainst": 2.5,
            "shotsOnTargetAgainst": 5.0,
            "cleanSheets": 0.0,
            "interceptions": 0,
            "tackles_won": 0,
            "crosses_total": 0,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "penaltySave": 0.0,
            "ownGoals": 0.0,
            "savePct": 50.0,
            "cleanSheetPct": 0.0,
            "minutesPct": 100.0,
            "pointsPerMatch": 0.0,
            "netGoalDifferencePer90": 0.0,
            "expected_saves": 1.21,
            "high_pressure_saves": 0.46,
            "shots_faced": 2.6,
            "opponent_faced": "Thierno Barry, Kiernan Dewsbury-Hall",
            "matchup_zone": "Goalkeeper shot-stopping context",
            "antagonist_source": "formation_fallback",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "expected_goals": 0.0,
            "expected_assists": 0.0,
            "fifa_overall": 77.0
          },
          "latest_10_games": [
            {
              "match_id": 16363638.0,
              "match_date": "2026-09-05",
              "home_team": "Nottingham Forest",
              "away_team": "Tottenham Hotspur",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Tottenham Hotspur",
              "opponent": "Nottingham Forest",
              "stats": {
                "minutes": 90,
                "rating": 6.8,
                "assists": 0,
                "expected_assists": 0.0005,
                "total_shots": 0,
                "total_pass": 34,
                "accurate_pass": 18,
                "key_pass": 1,
                "clearances": 2,
                "duels_won": 1,
                "ball_recovery": 8,
                "saves": 1,
                "goals_prevented": 0.0149
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363256.0,
              "match_date": "2026-08-29",
              "home_team": "Tottenham Hotspur",
              "away_team": "Newcastle United",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Tottenham Hotspur",
              "opponent": "Newcastle United",
              "stats": {
                "minutes": 90,
                "rating": 5.6,
                "assists": 0,
                "expected_assists": 0.0031,
                "total_shots": 0,
                "total_pass": 39,
                "accurate_pass": 32,
                "ball_recovery": 6,
                "goals_prevented": -1.3147
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363242.0,
              "match_date": "2026-08-22",
              "home_team": "Brentford",
              "away_team": "Tottenham Hotspur",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Tottenham Hotspur",
              "opponent": "Brentford",
              "stats": {
                "minutes": 90,
                "rating": 6.8,
                "assists": 0,
                "expected_assists": 0.0018,
                "total_shots": 0,
                "total_pass": 43,
                "accurate_pass": 31,
                "clearances": 4,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 12,
                "saves": 5,
                "goals_prevented": 0.1213
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 2750,
            "combined_rank_score": 952.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 502.0,
            "sofascore_rating": 6.8571,
            "sofascore_appearances": 7.0,
            "fifa_rank": 1402.0,
            "fifa_overall": 77.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 17,
            "squad_role": "starter",
            "projected_match_rating": 7.157,
            "source_file": "data/player_rankings.csv",
            "player_name": "Antonín Kinský",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Vilius Armalas",
                  "ranking": 2745
                },
                {
                  "player_name": "Egor Parkhomenko",
                  "ranking": 2746
                },
                {
                  "player_name": "Ruiz de Galarreta",
                  "ranking": 2747
                },
                {
                  "player_name": "Brian Brobbey",
                  "ranking": 2748
                },
                {
                  "player_name": "Matías Campos López",
                  "ranking": 2749
                }
              ],
              "lower": [
                {
                  "player_name": "Austin Ludwik",
                  "ranking": 2751
                },
                {
                  "player_name": "Tae-in Jung",
                  "ranking": 2752
                },
                {
                  "player_name": "Mauro Icardi",
                  "ranking": 2753
                },
                {
                  "player_name": "Ulugbek Abdullaev",
                  "ranking": 2754
                },
                {
                  "player_name": "Nikita Motpan",
                  "ranking": 2755
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.457,
          "history_matches": 3,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "G_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalLongBalls",
              "accurateLongBalls",
              "totalOwnHalfPasses",
              "accurateOwnHalfPasses",
              "saves",
              "savedShotsFromInsideTheBox",
              "goodHighClaim",
              "punches",
              "aerialWon",
              "totalKeeperSweeper",
              "accurateKeeperSweeper",
              "totalClearance",
              "ballRecovery",
              "touches",
              "possessionLostCtrl",
              "kilometersCovered",
              "passValueNormalized",
              "defensiveValueNormalized",
              "goalkeeperValueNormalized",
              "pass_accuracy",
              "long_ball_accuracy",
              "save_contribution",
              "inside_box_save_rate",
              "sweeper_accuracy",
              "sweeper_actions_p90",
              "distribution_accuracy",
              "commanding_index",
              "gk_coverage",
              "history_matches"
            ],
            "targets_predicted": [
              "saves",
              "goalsPrevented",
              "rating"
            ],
            "history_matches": 3,
            "data_confidence": 0.457,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.026,
            "fbref_prior_metrics": {
              "squad": "Tottenham",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 2.0,
              "minutes": 180.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 0.0,
              "prior_reliability": 0.1333
            },
            "rationale": "XGBoost regressor (G_service) evaluated 3 historical appearances across 3 target models; FBref 2026-2027 prior blended (Premier League, Tottenham, rel: 0.13, gls/90: 0.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost G_service raw output over 3 target models",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.047,
                "rating": 6.9755,
                "minutes": 90,
                "total_pass": 39,
                "accurate_pass": 27,
                "total_long_balls": 17,
                "accurate_long_balls": 5,
                "touches": 50,
                "clearances": 3,
                "ball_recovery": 9,
                "high_claims": 1,
                "punches": 1.5,
                "aerial_won": 1,
                "sweeper_actions": 1,
                "sweeper_accurate": 1,
                "saves_inside_box": 4,
                "possession_lost": 12.0,
                "duels_won": 1,
                "duels_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "total_own_half_passes": 27,
                "accurate_own_half_passes": 24
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0260, quality 0.587)",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0483,
                "rating": 7.157,
                "minutes": 92,
                "total_pass": 40,
                "accurate_pass": 28,
                "total_long_balls": 17,
                "accurate_long_balls": 5,
                "touches": 51,
                "clearances": 3,
                "ball_recovery": 9,
                "high_claims": 1,
                "punches": 1.539,
                "aerial_won": 1,
                "sweeper_actions": 1,
                "sweeper_accurate": 1,
                "saves_inside_box": 4,
                "possession_lost": 12.3123,
                "duels_won": 1,
                "duels_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "total_own_half_passes": 27,
                "accurate_own_half_passes": 25
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0542)",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0483,
                "rating": 7.157,
                "minutes": 92,
                "total_pass": 40,
                "accurate_pass": 28,
                "total_long_balls": 17,
                "accurate_long_balls": 5,
                "touches": 51,
                "clearances": 3,
                "ball_recovery": 9,
                "high_claims": 1,
                "punches": 1.539,
                "aerial_won": 1,
                "sweeper_actions": 1,
                "sweeper_accurate": 1,
                "saves_inside_box": 4,
                "possession_lost": 12.3123,
                "duels_won": 1,
                "duels_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "total_own_half_passes": 27,
                "accurate_own_half_passes": 25,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 2.5,
                "shotsOnTargetAgainst": 5.0,
                "cleanSheets": 0.0,
                "interceptions": 0,
                "tackles_won": 0,
                "crosses_total": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "penaltySave": 0.0,
                "ownGoals": 0.0,
                "savePct": 50.0,
                "cleanSheetPct": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": -2.5
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0483,
                "rating": 7.157,
                "minutes": 92,
                "total_pass": 40,
                "accurate_pass": 28,
                "total_long_balls": 17,
                "accurate_long_balls": 5,
                "touches": 51,
                "clearances": 3,
                "ball_recovery": 9,
                "high_claims": 1,
                "punches": 1.539,
                "aerial_won": 1,
                "sweeper_actions": 1,
                "sweeper_accurate": 1,
                "saves_inside_box": 4,
                "possession_lost": 12.3123,
                "duels_won": 1,
                "duels_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "total_own_half_passes": 27,
                "accurate_own_half_passes": 25,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 2.5,
                "shotsOnTargetAgainst": 5.0,
                "cleanSheets": 0.0,
                "interceptions": 0,
                "tackles_won": 0,
                "crosses_total": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "penaltySave": 0.0,
                "ownGoals": 0.0,
                "savePct": 50.0,
                "cleanSheetPct": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0483,
                "rating": 7.157,
                "minutes": 92,
                "total_pass": 40,
                "accurate_pass": 28,
                "total_long_balls": 17,
                "accurate_long_balls": 5,
                "touches": 51,
                "clearances": 3,
                "ball_recovery": 9,
                "high_claims": 1,
                "punches": 1.539,
                "aerial_won": 1,
                "sweeper_actions": 1,
                "sweeper_accurate": 1,
                "saves_inside_box": 4,
                "possession_lost": 12.3123,
                "duels_won": 1,
                "duels_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "total_own_half_passes": 27,
                "accurate_own_half_passes": 25,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 2.5,
                "shotsOnTargetAgainst": 5.0,
                "cleanSheets": 0.0,
                "interceptions": 0,
                "tackles_won": 0,
                "crosses_total": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "penaltySave": 0.0,
                "ownGoals": 0.0,
                "savePct": 50.0,
                "cleanSheetPct": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "expected_saves": 1.21,
                "high_pressure_saves": 0.46,
                "shots_faced": 2.6,
                "opponent_faced": "Thierno Barry, Kiernan Dewsbury-Hall",
                "matchup_zone": "Goalkeeper shot-stopping context",
                "antagonist_source": "formation_fallback"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.02 (squad xG sum 1.7835, xG scale 0.5719)",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0483,
                "rating": 7.157,
                "minutes": 92,
                "total_pass": 40,
                "accurate_pass": 28,
                "total_long_balls": 17,
                "accurate_long_balls": 5,
                "touches": 51,
                "clearances": 3,
                "ball_recovery": 9,
                "high_claims": 1,
                "punches": 1.539,
                "aerial_won": 1,
                "sweeper_actions": 1,
                "sweeper_accurate": 1,
                "saves_inside_box": 4,
                "possession_lost": 12.3123,
                "duels_won": 1,
                "duels_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "total_own_half_passes": 27,
                "accurate_own_half_passes": 25,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 2.5,
                "shotsOnTargetAgainst": 5.0,
                "cleanSheets": 0.0,
                "interceptions": 0,
                "tackles_won": 0,
                "crosses_total": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "penaltySave": 0.0,
                "ownGoals": 0.0,
                "savePct": 50.0,
                "cleanSheetPct": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "expected_saves": 1.21,
                "high_pressure_saves": 0.46,
                "shots_faced": 2.6,
                "opponent_faced": "Thierno Barry, Kiernan Dewsbury-Hall",
                "matchup_zone": "Goalkeeper shot-stopping context",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "expected_goals": 0.0,
                "expected_assists": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 17, fifa_overall 77.0)",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0483,
                "rating": 7.157,
                "minutes": 92,
                "total_pass": 40,
                "accurate_pass": 28,
                "total_long_balls": 17,
                "accurate_long_balls": 5,
                "touches": 51,
                "clearances": 3,
                "ball_recovery": 9,
                "high_claims": 1,
                "punches": 1.539,
                "aerial_won": 1,
                "sweeper_actions": 1,
                "sweeper_accurate": 1,
                "saves_inside_box": 4,
                "possession_lost": 12.3123,
                "duels_won": 1,
                "duels_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "total_own_half_passes": 27,
                "accurate_own_half_passes": 25,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 2.5,
                "shotsOnTargetAgainst": 5.0,
                "cleanSheets": 0.0,
                "interceptions": 0,
                "tackles_won": 0,
                "crosses_total": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "penaltySave": 0.0,
                "ownGoals": 0.0,
                "savePct": 50.0,
                "cleanSheetPct": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "expected_saves": 1.21,
                "high_pressure_saves": 0.46,
                "shots_faced": 2.6,
                "opponent_faced": "Thierno Barry, Kiernan Dewsbury-Hall",
                "matchup_zone": "Goalkeeper shot-stopping context",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "fifa_overall": 77.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 0 projected goals distributed by scorer weight",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0483,
                "rating": 7.157,
                "minutes": 92,
                "total_pass": 40,
                "accurate_pass": 28,
                "total_long_balls": 17,
                "accurate_long_balls": 5,
                "touches": 51,
                "clearances": 3,
                "ball_recovery": 9,
                "high_claims": 1,
                "punches": 1.539,
                "aerial_won": 1,
                "sweeper_actions": 1,
                "sweeper_accurate": 1,
                "saves_inside_box": 4,
                "possession_lost": 12.3123,
                "duels_won": 1,
                "duels_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "total_own_half_passes": 27,
                "accurate_own_half_passes": 25,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 2.5,
                "shotsOnTargetAgainst": 5.0,
                "cleanSheets": 0.0,
                "interceptions": 0,
                "tackles_won": 0,
                "crosses_total": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "penaltySave": 0.0,
                "ownGoals": 0.0,
                "savePct": 50.0,
                "cleanSheetPct": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "expected_saves": 1.21,
                "high_pressure_saves": 0.46,
                "shots_faced": 2.6,
                "opponent_faced": "Thierno Barry, Kiernan Dewsbury-Hall",
                "matchup_zone": "Goalkeeper shot-stopping context",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "fifa_overall": 77.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 0 projected assists distributed by provider weight",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0483,
                "rating": 7.157,
                "minutes": 92,
                "total_pass": 40,
                "accurate_pass": 28,
                "total_long_balls": 17,
                "accurate_long_balls": 5,
                "touches": 51,
                "clearances": 3,
                "ball_recovery": 9,
                "high_claims": 1,
                "punches": 1.539,
                "aerial_won": 1,
                "sweeper_actions": 1,
                "sweeper_accurate": 1,
                "saves_inside_box": 4,
                "possession_lost": 12.3123,
                "duels_won": 1,
                "duels_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "total_own_half_passes": 27,
                "accurate_own_half_passes": 25,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 2.5,
                "shotsOnTargetAgainst": 5.0,
                "cleanSheets": 0.0,
                "interceptions": 0,
                "tackles_won": 0,
                "crosses_total": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "penaltySave": 0.0,
                "ownGoals": 0.0,
                "savePct": 50.0,
                "cleanSheetPct": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "expected_saves": 1.21,
                "high_pressure_saves": 0.46,
                "shots_faced": 2.6,
                "opponent_faced": "Thierno Barry, Kiernan Dewsbury-Hall",
                "matchup_zone": "Goalkeeper shot-stopping context",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "fifa_overall": 77.0
              }
            }
          ]
        },
        "Mateus Fernandes": {
          "player_id": 1142562,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 18,
          "height": 178,
          "market_value": 49000000,
          "stats": {
            "key_pass": 1,
            "expected_assists": 0.0968,
            "assists": 0,
            "expected_goals": 0.0288,
            "rating": 7.5732,
            "minutes": 54,
            "total_pass": 35,
            "accurate_pass": 33,
            "ball_recovery": 3,
            "duels_won": 3,
            "total_shots": 2,
            "total_long_balls": 4,
            "accurate_long_balls": 4,
            "total_own_half_passes": 18,
            "accurate_own_half_passes": 16,
            "total_opp_half_passes": 23,
            "accurate_opp_half_passes": 23,
            "crosses_total": 8,
            "crosses_accurate": 2,
            "touches": 42,
            "possession_lost": 6.0289,
            "dispossessed": 1.0962,
            "duels_lost": 3,
            "aerial_won": 1,
            "aerial_lost": 1,
            "interceptions": 0,
            "tackles_won": 1,
            "tackles": 2,
            "clearances": 0,
            "total_contest": 1,
            "won_contest": 1,
            "challenges_lost": 0,
            "fouls": 2,
            "fouls_drawn": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "shots_on_target": 0,
            "shots_off_target": 1,
            "blocks": 0,
            "big_chances_created": 1,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "ball_carries": 12,
            "total_progression": 39,
            "progressive_carries": 0,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 0.0,
            "shotConversion": 0.0,
            "minutesPct": 75.0,
            "pointsPerMatch": 0.0,
            "netGoalDifferencePer90": 0.0,
            "dribbles_attempted": 4,
            "dribbles_successful": 1.8,
            "crosses_attempted": 2.6,
            "duel_win_rate": 0.506,
            "pressing_faced": "LOW",
            "matchup_zone": "Left Wing vs Right Back — Flank Battle",
            "numerical_situation": "1v1",
            "opponent_defenders": "Jordan Pickford",
            "opponent_faced": "Jordan Pickford",
            "antagonist_source": "attacking_duel, midfield_pairing",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 80.0
          },
          "latest_10_games": [
            {
              "match_id": 16363638.0,
              "match_date": "2026-09-05",
              "home_team": "Nottingham Forest",
              "away_team": "Tottenham Hotspur",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Tottenham Hotspur",
              "opponent": "Nottingham Forest",
              "stats": {
                "minutes": 13,
                "rating": 6.5,
                "assists": 0,
                "expected_assists": 0.0044,
                "total_shots": 0,
                "total_pass": 3,
                "accurate_pass": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363256.0,
              "match_date": "2026-08-29",
              "home_team": "Tottenham Hotspur",
              "away_team": "Newcastle United",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Tottenham Hotspur",
              "opponent": "Newcastle United",
              "stats": {
                "minutes": 90,
                "rating": 7.5,
                "assists": 0,
                "expected_goals": 0.0085,
                "expected_assists": 0.1707,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 55,
                "accurate_pass": 54,
                "key_pass": 3,
                "tackles": 3,
                "tackles_won": 1,
                "aerial_won": 1,
                "duels_won": 4,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363242.0,
              "match_date": "2026-08-22",
              "home_team": "Brentford",
              "away_team": "Tottenham Hotspur",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Tottenham Hotspur",
              "opponent": "Brentford",
              "stats": {
                "minutes": 45,
                "rating": 6.5,
                "assists": 0,
                "expected_assists": 0.0557,
                "total_shots": 0,
                "total_pass": 37,
                "accurate_pass": 34,
                "key_pass": 2,
                "tackles": 1,
                "tackles_won": 1,
                "duels_won": 2,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 1013,
            "combined_rank_score": 449.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 200.0,
            "sofascore_rating": 7.1944,
            "sofascore_appearances": 36.0,
            "fifa_rank": 698.0,
            "fifa_overall": 80.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 5,
            "squad_role": "starter",
            "projected_match_rating": 7.5732,
            "source_file": "data/player_rankings.csv",
            "player_name": "Mateus Fernandes",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Adrien Truffert",
                  "ranking": 1008
                },
                {
                  "player_name": "Nicolás González",
                  "ranking": 1009
                },
                {
                  "player_name": "Alejandro Francés",
                  "ranking": 1010
                },
                {
                  "player_name": "Mohammed Kudus",
                  "ranking": 1011
                },
                {
                  "player_name": "Nicolas Seiwald",
                  "ranking": 1012
                }
              ],
              "lower": [
                {
                  "player_name": "Amad Diallo",
                  "ranking": 1014
                },
                {
                  "player_name": "Dani Parejo",
                  "ranking": 1015
                },
                {
                  "player_name": "Giovanni Di Lorenzo",
                  "ranking": 1016
                },
                {
                  "player_name": "Min-hyeok Kim",
                  "ranking": 1017
                },
                {
                  "player_name": "Tim Hartzell",
                  "ranking": 1018
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.453,
          "history_matches": 3,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "M_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "keyPass",
              "expectedAssists",
              "totalCross",
              "accurateCross",
              "duelWon",
              "duelLost",
              "aerialWon",
              "ballRecovery",
              "touches",
              "interceptionWon",
              "wonTackle",
              "possessionLostCtrl",
              "dispossessed",
              "numberOfSprints",
              "kilometersCovered",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "creative_index",
              "touches_p90",
              "totalPass_p90",
              "keyPass_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "ballCarriesCount_p90",
              "creative_efficiency",
              "cross_accuracy",
              "cross_creative_contribution",
              "defensive_midfield_actions",
              "press_vulnerability",
              "progressive_carries_p90",
              "intensity_index",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "rating"
            ],
            "history_matches": 3,
            "data_confidence": 0.453,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.0962,
            "fbref_prior_metrics": {
              "squad": "Tottenham",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 1.0,
              "minutes": 135.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 0.67,
              "shots_on_target_pct": 0.0,
              "prior_reliability": 0.1
            },
            "rationale": "XGBoost regressor (M_service) evaluated 3 historical appearances across 5 target models; FBref 2026-2027 prior blended (Premier League, Tottenham, rel: 0.10, gls/90: 0.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 5 target models",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0883,
                "assists": 0,
                "expected_goals": 0.0459,
                "rating": 6.9088,
                "minutes": 49,
                "total_pass": 32,
                "accurate_pass": 30,
                "ball_recovery": 3,
                "duels_won": 3,
                "total_shots": 1,
                "total_long_balls": 4,
                "accurate_long_balls": 4,
                "total_own_half_passes": 16,
                "accurate_own_half_passes": 14,
                "total_opp_half_passes": 21,
                "accurate_opp_half_passes": 21,
                "crosses_total": 7,
                "crosses_accurate": 2,
                "touches": 39,
                "possession_lost": 5.5,
                "dispossessed": 1.0,
                "duels_lost": 2,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 0,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 11,
                "total_progression": 36,
                "progressive_carries": 0
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0962, quality 0.821)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0968,
                "assists": 0,
                "expected_goals": 0.0503,
                "rating": 7.5732,
                "minutes": 54,
                "total_pass": 35,
                "accurate_pass": 33,
                "ball_recovery": 3,
                "duels_won": 3,
                "total_shots": 1,
                "total_long_balls": 4,
                "accurate_long_balls": 4,
                "total_own_half_passes": 18,
                "accurate_own_half_passes": 16,
                "total_opp_half_passes": 23,
                "accurate_opp_half_passes": 23,
                "crosses_total": 8,
                "crosses_accurate": 2,
                "touches": 42,
                "possession_lost": 6.0289,
                "dispossessed": 1.0962,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 0,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 12,
                "total_progression": 39,
                "progressive_carries": 0
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0406)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0968,
                "assists": 0,
                "expected_goals": 0.0503,
                "rating": 7.5732,
                "minutes": 54,
                "total_pass": 35,
                "accurate_pass": 33,
                "ball_recovery": 3,
                "duels_won": 3,
                "total_shots": 1,
                "total_long_balls": 4,
                "accurate_long_balls": 4,
                "total_own_half_passes": 18,
                "accurate_own_half_passes": 16,
                "total_opp_half_passes": 23,
                "accurate_opp_half_passes": 23,
                "crosses_total": 8,
                "crosses_accurate": 2,
                "touches": 42,
                "possession_lost": 6.0289,
                "dispossessed": 1.0962,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 0,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 12,
                "total_progression": 39,
                "progressive_carries": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 75.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": -2.0
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0968,
                "assists": 0,
                "expected_goals": 0.0503,
                "rating": 7.5732,
                "minutes": 54,
                "total_pass": 35,
                "accurate_pass": 33,
                "ball_recovery": 3,
                "duels_won": 3,
                "total_shots": 1,
                "total_long_balls": 4,
                "accurate_long_balls": 4,
                "total_own_half_passes": 18,
                "accurate_own_half_passes": 16,
                "total_opp_half_passes": 23,
                "accurate_opp_half_passes": 23,
                "crosses_total": 8,
                "crosses_accurate": 2,
                "touches": 42,
                "possession_lost": 6.0289,
                "dispossessed": 1.0962,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 0,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 12,
                "total_progression": 39,
                "progressive_carries": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 75.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0968,
                "assists": 0,
                "expected_goals": 0.0503,
                "rating": 7.5732,
                "minutes": 54,
                "total_pass": 35,
                "accurate_pass": 33,
                "ball_recovery": 3,
                "duels_won": 3,
                "total_shots": 2,
                "total_long_balls": 4,
                "accurate_long_balls": 4,
                "total_own_half_passes": 18,
                "accurate_own_half_passes": 16,
                "total_opp_half_passes": 23,
                "accurate_opp_half_passes": 23,
                "crosses_total": 8,
                "crosses_accurate": 2,
                "touches": 42,
                "possession_lost": 6.0289,
                "dispossessed": 1.0962,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 0,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 12,
                "total_progression": 39,
                "progressive_carries": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 75.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 4,
                "dribbles_successful": 1.8,
                "crosses_attempted": 2.6,
                "duel_win_rate": 0.506,
                "pressing_faced": "LOW",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Jordan Pickford",
                "opponent_faced": "Jordan Pickford",
                "antagonist_source": "attacking_duel, midfield_pairing"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.02 (squad xG sum 1.7835, xG scale 0.5719)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0968,
                "assists": 0,
                "expected_goals": 0.0288,
                "rating": 7.5732,
                "minutes": 54,
                "total_pass": 35,
                "accurate_pass": 33,
                "ball_recovery": 3,
                "duels_won": 3,
                "total_shots": 2,
                "total_long_balls": 4,
                "accurate_long_balls": 4,
                "total_own_half_passes": 18,
                "accurate_own_half_passes": 16,
                "total_opp_half_passes": 23,
                "accurate_opp_half_passes": 23,
                "crosses_total": 8,
                "crosses_accurate": 2,
                "touches": 42,
                "possession_lost": 6.0289,
                "dispossessed": 1.0962,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 0,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 12,
                "total_progression": 39,
                "progressive_carries": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 75.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 4,
                "dribbles_successful": 1.8,
                "crosses_attempted": 2.6,
                "duel_win_rate": 0.506,
                "pressing_faced": "LOW",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Jordan Pickford",
                "opponent_faced": "Jordan Pickford",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 5, fifa_overall 80.0)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0968,
                "assists": 0,
                "expected_goals": 0.0288,
                "rating": 7.5732,
                "minutes": 54,
                "total_pass": 35,
                "accurate_pass": 33,
                "ball_recovery": 3,
                "duels_won": 3,
                "total_shots": 2,
                "total_long_balls": 4,
                "accurate_long_balls": 4,
                "total_own_half_passes": 18,
                "accurate_own_half_passes": 16,
                "total_opp_half_passes": 23,
                "accurate_opp_half_passes": 23,
                "crosses_total": 8,
                "crosses_accurate": 2,
                "touches": 42,
                "possession_lost": 6.0289,
                "dispossessed": 1.0962,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 0,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 12,
                "total_progression": 39,
                "progressive_carries": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 75.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 4,
                "dribbles_successful": 1.8,
                "crosses_attempted": 2.6,
                "duel_win_rate": 0.506,
                "pressing_faced": "LOW",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Jordan Pickford",
                "opponent_faced": "Jordan Pickford",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 80.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 0 projected goals distributed by scorer weight",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0968,
                "assists": 0,
                "expected_goals": 0.0288,
                "rating": 7.5732,
                "minutes": 54,
                "total_pass": 35,
                "accurate_pass": 33,
                "ball_recovery": 3,
                "duels_won": 3,
                "total_shots": 2,
                "total_long_balls": 4,
                "accurate_long_balls": 4,
                "total_own_half_passes": 18,
                "accurate_own_half_passes": 16,
                "total_opp_half_passes": 23,
                "accurate_opp_half_passes": 23,
                "crosses_total": 8,
                "crosses_accurate": 2,
                "touches": 42,
                "possession_lost": 6.0289,
                "dispossessed": 1.0962,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 0,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 12,
                "total_progression": 39,
                "progressive_carries": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 75.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 4,
                "dribbles_successful": 1.8,
                "crosses_attempted": 2.6,
                "duel_win_rate": 0.506,
                "pressing_faced": "LOW",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Jordan Pickford",
                "opponent_faced": "Jordan Pickford",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 80.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 0 projected assists distributed by provider weight",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0968,
                "assists": 0,
                "expected_goals": 0.0288,
                "rating": 7.5732,
                "minutes": 54,
                "total_pass": 35,
                "accurate_pass": 33,
                "ball_recovery": 3,
                "duels_won": 3,
                "total_shots": 2,
                "total_long_balls": 4,
                "accurate_long_balls": 4,
                "total_own_half_passes": 18,
                "accurate_own_half_passes": 16,
                "total_opp_half_passes": 23,
                "accurate_opp_half_passes": 23,
                "crosses_total": 8,
                "crosses_accurate": 2,
                "touches": 42,
                "possession_lost": 6.0289,
                "dispossessed": 1.0962,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 0,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 12,
                "total_progression": 39,
                "progressive_carries": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 75.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 4,
                "dribbles_successful": 1.8,
                "crosses_attempted": 2.6,
                "duel_win_rate": 0.506,
                "pressing_faced": "LOW",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Jordan Pickford",
                "opponent_faced": "Jordan Pickford",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 80.0
              }
            }
          ]
        },
        "Mathys Tel": {
          "player_id": 1048888,
          "position": "F",
          "position_depth": "F",
          "is_starter": true,
          "shirt_number": 11,
          "height": 183,
          "market_value": 23000000,
          "stats": {
            "expected_goals": 0.1779,
            "goal_rate": 0.1853,
            "goals": 0,
            "total_shots": 3,
            "shots_on_target": 2,
            "expected_assists": 0.112,
            "duels_won": 5,
            "aerial_won": 2,
            "rating": 7.2,
            "minutes": 90,
            "total_pass": 33,
            "accurate_pass": 24,
            "total_long_balls": 2,
            "accurate_long_balls": 1,
            "total_opp_half_passes": 18,
            "accurate_opp_half_passes": 13,
            "crosses_total": 2,
            "crosses_accurate": 1,
            "touches": 46,
            "possession_lost": 9.6,
            "dispossessed": 1.3,
            "duels_lost": 5,
            "aerial_lost": 2,
            "total_contest": 6,
            "won_contest": 4,
            "ball_recovery": 2,
            "challenges_lost": 2,
            "fouls": 2,
            "fouls_drawn": 1,
            "assists": 0,
            "shots_off_target": 1,
            "key_pass": 1,
            "interceptions": 0,
            "tackles_won": 1,
            "tackles": 1,
            "clearances": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.238,
            "offsides": 1,
            "ball_carries": 23,
            "total_progression": 58,
            "progressive_carries": 6,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 20.0,
            "shotConversion": 0.0,
            "minutesPct": 87.2,
            "pointsPerMatch": 0.0,
            "netGoalDifferencePer90": 0.0,
            "opponent_faced": "James Tarkowski, Jarrad Branthwaite",
            "matchup_zone": "Shape fallback",
            "antagonist_source": "formation_fallback",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 78.0
          },
          "latest_10_games": [
            {
              "match_id": 16363638.0,
              "match_date": "2026-09-05",
              "home_team": "Nottingham Forest",
              "away_team": "Tottenham Hotspur",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Tottenham Hotspur",
              "opponent": "Nottingham Forest",
              "stats": {
                "minutes": 74,
                "rating": 6.0,
                "assists": 0,
                "expected_assists": 0.0453,
                "total_shots": 0,
                "total_pass": 17,
                "accurate_pass": 15,
                "key_pass": 1,
                "duels_won": 4,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363256.0,
              "match_date": "2026-08-29",
              "home_team": "Tottenham Hotspur",
              "away_team": "Newcastle United",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Tottenham Hotspur",
              "opponent": "Newcastle United",
              "stats": {
                "minutes": 68,
                "rating": 6.4,
                "assists": 0,
                "expected_goals": 0.1367,
                "expected_assists": 0.0271,
                "total_shots": 3,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 19,
                "accurate_pass": 15,
                "tackles": 1,
                "tackles_won": 1,
                "duels_won": 2,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363242.0,
              "match_date": "2026-08-22",
              "home_team": "Brentford",
              "away_team": "Tottenham Hotspur",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Tottenham Hotspur",
              "opponent": "Brentford",
              "stats": {
                "minutes": 90,
                "rating": 6.3,
                "assists": 0,
                "expected_goals": 0.0591,
                "expected_assists": 0.0649,
                "total_shots": 2,
                "shots_off_target": 1,
                "total_pass": 39,
                "accurate_pass": 34,
                "key_pass": 2,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 7,
                "ball_recovery": 7
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 2503,
            "combined_rank_score": 903.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 686.0,
            "sofascore_rating": 6.7133,
            "sofascore_appearances": 31.0,
            "fifa_rank": 1120.0,
            "fifa_overall": 78.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 13,
            "squad_role": "starter",
            "projected_match_rating": 7.2,
            "source_file": "data/player_rankings.csv",
            "player_name": "Mathys Tel",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Leenhan Romero",
                  "ranking": 2498
                },
                {
                  "player_name": "Seung-hyun Kim",
                  "ranking": 2499
                },
                {
                  "player_name": "Graeme Torrilla",
                  "ranking": 2500
                },
                {
                  "player_name": "Jakub Kamiński",
                  "ranking": 2501
                },
                {
                  "player_name": "Vincenzo Grifo",
                  "ranking": 2502
                }
              ],
              "lower": [
                {
                  "player_name": "Toti Gomes",
                  "ranking": 2504
                },
                {
                  "player_name": "Urko Izeta",
                  "ranking": 2505
                },
                {
                  "player_name": "Callum Timmins",
                  "ranking": 2506
                },
                {
                  "player_name": "Min-young Lee",
                  "ranking": 2507
                },
                {
                  "player_name": "Yu Sun",
                  "ranking": 2508
                }
              ]
            }
          },
          "data_sources": [
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.267,
          "history_matches": 0,
          "xgboost_reasoning": {
            "model_source": "market_value_prior",
            "position_service": "F_service",
            "features_evaluated": [],
            "targets_predicted": [],
            "history_matches": 0,
            "data_confidence": 0.267,
            "data_sources": [
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 0.6595,
            "fbref_prior_metrics": {
              "squad": "Tottenham",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 2.0,
              "minutes": 157.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 2.87,
              "shots_on_target_pct": 20.0,
              "prior_reliability": 0.1133
            },
            "rationale": "Market-value baseline (€23,000,000) applied for position F (quality factor 0.66); FBref 2026-2027 prior blended (Premier League, Tottenham, rel: 0.11, gls/90: 0.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "market_value_prior",
              "description": "Market-value baseline for position F (quality 0.66)",
              "stats": {
                "expected_goals": 0.311,
                "goal_rate": 0.2,
                "goals": 0,
                "total_shots": 3,
                "shots_on_target": 2,
                "expected_assists": 0.112,
                "duels_won": 5,
                "aerial_won": 2,
                "rating": 7.2,
                "minutes": 90,
                "total_pass": 33,
                "accurate_pass": 24,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_opp_half_passes": 18,
                "accurate_opp_half_passes": 13,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 46,
                "possession_lost": 9.6,
                "dispossessed": 1.3,
                "duels_lost": 5,
                "aerial_lost": 2,
                "total_contest": 6,
                "won_contest": 4,
                "ball_recovery": 2,
                "challenges_lost": 2,
                "fouls": 2,
                "fouls_drawn": 2,
                "assists": 0,
                "shots_off_target": 1,
                "key_pass": 1,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.238,
                "offsides": 1,
                "ball_carries": 23,
                "total_progression": 58,
                "progressive_carries": 6
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0736)",
              "stats": {
                "expected_goals": 0.311,
                "goal_rate": 0.1853,
                "goals": 0,
                "total_shots": 3,
                "shots_on_target": 2,
                "expected_assists": 0.112,
                "duels_won": 5,
                "aerial_won": 2,
                "rating": 7.2,
                "minutes": 90,
                "total_pass": 33,
                "accurate_pass": 24,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_opp_half_passes": 18,
                "accurate_opp_half_passes": 13,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 46,
                "possession_lost": 9.6,
                "dispossessed": 1.3,
                "duels_lost": 5,
                "aerial_lost": 2,
                "total_contest": 6,
                "won_contest": 4,
                "ball_recovery": 2,
                "challenges_lost": 2,
                "fouls": 2,
                "fouls_drawn": 1,
                "assists": 0,
                "shots_off_target": 1,
                "key_pass": 1,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.238,
                "offsides": 1,
                "ball_carries": 23,
                "total_progression": 58,
                "progressive_carries": 6,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 20.0,
                "shotConversion": 0.0,
                "minutesPct": 87.2,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": -2.29
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.311,
                "goal_rate": 0.1853,
                "goals": 0,
                "total_shots": 3,
                "shots_on_target": 2,
                "expected_assists": 0.112,
                "duels_won": 5,
                "aerial_won": 2,
                "rating": 7.2,
                "minutes": 90,
                "total_pass": 33,
                "accurate_pass": 24,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_opp_half_passes": 18,
                "accurate_opp_half_passes": 13,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 46,
                "possession_lost": 9.6,
                "dispossessed": 1.3,
                "duels_lost": 5,
                "aerial_lost": 2,
                "total_contest": 6,
                "won_contest": 4,
                "ball_recovery": 2,
                "challenges_lost": 2,
                "fouls": 2,
                "fouls_drawn": 1,
                "assists": 0,
                "shots_off_target": 1,
                "key_pass": 1,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.238,
                "offsides": 1,
                "ball_carries": 23,
                "total_progression": 58,
                "progressive_carries": 6,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 20.0,
                "shotConversion": 0.0,
                "minutesPct": 87.2,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "expected_goals": 0.311,
                "goal_rate": 0.1853,
                "goals": 0,
                "total_shots": 3,
                "shots_on_target": 2,
                "expected_assists": 0.112,
                "duels_won": 5,
                "aerial_won": 2,
                "rating": 7.2,
                "minutes": 90,
                "total_pass": 33,
                "accurate_pass": 24,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_opp_half_passes": 18,
                "accurate_opp_half_passes": 13,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 46,
                "possession_lost": 9.6,
                "dispossessed": 1.3,
                "duels_lost": 5,
                "aerial_lost": 2,
                "total_contest": 6,
                "won_contest": 4,
                "ball_recovery": 2,
                "challenges_lost": 2,
                "fouls": 2,
                "fouls_drawn": 1,
                "assists": 0,
                "shots_off_target": 1,
                "key_pass": 1,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.238,
                "offsides": 1,
                "ball_carries": 23,
                "total_progression": 58,
                "progressive_carries": 6,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 20.0,
                "shotConversion": 0.0,
                "minutesPct": 87.2,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "opponent_faced": "James Tarkowski, Jarrad Branthwaite",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.02 (squad xG sum 1.7835, xG scale 0.5719)",
              "stats": {
                "expected_goals": 0.1779,
                "goal_rate": 0.1853,
                "goals": 0,
                "total_shots": 3,
                "shots_on_target": 2,
                "expected_assists": 0.112,
                "duels_won": 5,
                "aerial_won": 2,
                "rating": 7.2,
                "minutes": 90,
                "total_pass": 33,
                "accurate_pass": 24,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_opp_half_passes": 18,
                "accurate_opp_half_passes": 13,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 46,
                "possession_lost": 9.6,
                "dispossessed": 1.3,
                "duels_lost": 5,
                "aerial_lost": 2,
                "total_contest": 6,
                "won_contest": 4,
                "ball_recovery": 2,
                "challenges_lost": 2,
                "fouls": 2,
                "fouls_drawn": 1,
                "assists": 0,
                "shots_off_target": 1,
                "key_pass": 1,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.238,
                "offsides": 1,
                "ball_carries": 23,
                "total_progression": 58,
                "progressive_carries": 6,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 20.0,
                "shotConversion": 0.0,
                "minutesPct": 87.2,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "opponent_faced": "James Tarkowski, Jarrad Branthwaite",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 13, fifa_overall 78.0)",
              "stats": {
                "expected_goals": 0.1779,
                "goal_rate": 0.1853,
                "goals": 0,
                "total_shots": 3,
                "shots_on_target": 2,
                "expected_assists": 0.112,
                "duels_won": 5,
                "aerial_won": 2,
                "rating": 7.2,
                "minutes": 90,
                "total_pass": 33,
                "accurate_pass": 24,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_opp_half_passes": 18,
                "accurate_opp_half_passes": 13,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 46,
                "possession_lost": 9.6,
                "dispossessed": 1.3,
                "duels_lost": 5,
                "aerial_lost": 2,
                "total_contest": 6,
                "won_contest": 4,
                "ball_recovery": 2,
                "challenges_lost": 2,
                "fouls": 2,
                "fouls_drawn": 1,
                "assists": 0,
                "shots_off_target": 1,
                "key_pass": 1,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.238,
                "offsides": 1,
                "ball_carries": 23,
                "total_progression": 58,
                "progressive_carries": 6,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 20.0,
                "shotConversion": 0.0,
                "minutesPct": 87.2,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "opponent_faced": "James Tarkowski, Jarrad Branthwaite",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 78.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 0 projected goals distributed by scorer weight",
              "stats": {
                "expected_goals": 0.1779,
                "goal_rate": 0.1853,
                "goals": 0,
                "total_shots": 3,
                "shots_on_target": 2,
                "expected_assists": 0.112,
                "duels_won": 5,
                "aerial_won": 2,
                "rating": 7.2,
                "minutes": 90,
                "total_pass": 33,
                "accurate_pass": 24,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_opp_half_passes": 18,
                "accurate_opp_half_passes": 13,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 46,
                "possession_lost": 9.6,
                "dispossessed": 1.3,
                "duels_lost": 5,
                "aerial_lost": 2,
                "total_contest": 6,
                "won_contest": 4,
                "ball_recovery": 2,
                "challenges_lost": 2,
                "fouls": 2,
                "fouls_drawn": 1,
                "assists": 0,
                "shots_off_target": 1,
                "key_pass": 1,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.238,
                "offsides": 1,
                "ball_carries": 23,
                "total_progression": 58,
                "progressive_carries": 6,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 20.0,
                "shotConversion": 0.0,
                "minutesPct": 87.2,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "opponent_faced": "James Tarkowski, Jarrad Branthwaite",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 78.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 0 projected assists distributed by provider weight",
              "stats": {
                "expected_goals": 0.1779,
                "goal_rate": 0.1853,
                "goals": 0,
                "total_shots": 3,
                "shots_on_target": 2,
                "expected_assists": 0.112,
                "duels_won": 5,
                "aerial_won": 2,
                "rating": 7.2,
                "minutes": 90,
                "total_pass": 33,
                "accurate_pass": 24,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_opp_half_passes": 18,
                "accurate_opp_half_passes": 13,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 46,
                "possession_lost": 9.6,
                "dispossessed": 1.3,
                "duels_lost": 5,
                "aerial_lost": 2,
                "total_contest": 6,
                "won_contest": 4,
                "ball_recovery": 2,
                "challenges_lost": 2,
                "fouls": 2,
                "fouls_drawn": 1,
                "assists": 0,
                "shots_off_target": 1,
                "key_pass": 1,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.238,
                "offsides": 1,
                "ball_carries": 23,
                "total_progression": 58,
                "progressive_carries": 6,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 20.0,
                "shotConversion": 0.0,
                "minutesPct": 87.2,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "opponent_faced": "James Tarkowski, Jarrad Branthwaite",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 78.0
              }
            }
          ]
        },
        "Omar Marmoush": {
          "player_id": 873554,
          "position": "F",
          "position_depth": "F",
          "is_starter": true,
          "shirt_number": 22,
          "height": 183,
          "market_value": 55000000,
          "stats": {
            "expected_goals": 0.1315,
            "goal_rate": 0.2089,
            "goals": 0,
            "shots_on_target": 1,
            "expected_assists": 0.0461,
            "key_pass": 1,
            "rating": 7.3761,
            "minutes": 95,
            "total_shots": 3,
            "duels_won": 6,
            "aerial_won": 2,
            "total_pass": 17,
            "accurate_pass": 17,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 13,
            "accurate_opp_half_passes": 12,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 35,
            "possession_lost": 7.1628,
            "dispossessed": 2.2039,
            "duels_lost": 7,
            "aerial_lost": 2,
            "total_contest": 5,
            "won_contest": 4,
            "ball_recovery": 3,
            "challenges_lost": 0,
            "fouls": 3,
            "fouls_drawn": 1,
            "assists": 0,
            "shots_off_target": 2,
            "interceptions": 0,
            "tackles_won": 1,
            "tackles": 1,
            "clearances": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.2314,
            "offsides": 0,
            "ball_carries": 11,
            "total_progression": 29,
            "progressive_carries": 2,
            "dribbles_attempted": 2,
            "dribbles_successful": 0.4,
            "crosses_attempted": 0.0,
            "duel_win_rate": 0.229,
            "pressing_faced": "HIGH",
            "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
            "numerical_situation": "1v2",
            "opponent_defenders": "Vitaliy Mykolenko, Jarrad Branthwaite",
            "opponent_faced": "Vitaliy Mykolenko, Jarrad Branthwaite",
            "antagonist_source": "attacking_duel",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 82.0
          },
          "latest_10_games": [
            {
              "match_id": 16363638.0,
              "match_date": "2026-09-05",
              "home_team": "Nottingham Forest",
              "away_team": "Tottenham Hotspur",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Tottenham Hotspur",
              "opponent": "Nottingham Forest",
              "stats": {
                "minutes": 84,
                "rating": 6.8,
                "assists": 0,
                "expected_goals": 0.1658,
                "expected_assists": 0.0066,
                "total_shots": 2,
                "shots_off_target": 1,
                "total_pass": 12,
                "accurate_pass": 11,
                "duels_won": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363256.0,
              "match_date": "2026-08-29",
              "home_team": "Tottenham Hotspur",
              "away_team": "Newcastle United",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Tottenham Hotspur",
              "opponent": "Newcastle United",
              "stats": {
                "minutes": 90,
                "rating": 7.1,
                "assists": 0,
                "expected_goals": 0.1686,
                "expected_assists": 0.0691,
                "total_shots": 3,
                "shots_on_target": 1,
                "shots_off_target": 2,
                "total_pass": 19,
                "accurate_pass": 19,
                "key_pass": 3,
                "tackles": 1,
                "tackles_won": 1,
                "duels_won": 6,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 619,
            "combined_rank_score": 319.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 257.0,
            "sofascore_rating": 7.1,
            "sofascore_appearances": 1.0,
            "fifa_rank": 382.0,
            "fifa_overall": 82.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 3,
            "squad_role": "starter",
            "projected_match_rating": 7.3761,
            "source_file": "data/player_rankings.csv",
            "player_name": "Omar Marmoush",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "N'Golo Kanté",
                  "ranking": 614
                },
                {
                  "player_name": "Mason Greenwood",
                  "ranking": 615
                },
                {
                  "player_name": "Péter Gulácsi",
                  "ranking": 616
                },
                {
                  "player_name": "Oliver Baumann",
                  "ranking": 617
                },
                {
                  "player_name": "Iñigo Martínez",
                  "ranking": 618
                }
              ],
              "lower": [
                {
                  "player_name": "Pathé Ismaël Ciss",
                  "ranking": 620
                },
                {
                  "player_name": "Riccardo Orsolini",
                  "ranking": 621
                },
                {
                  "player_name": "Hyeon-yong Lee",
                  "ranking": 622
                },
                {
                  "player_name": "Lucas Alarcón",
                  "ranking": 623
                },
                {
                  "player_name": "Dilshod Saitov",
                  "ranking": 624
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.375,
          "history_matches": 2,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "F_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "onTargetScoringAttempt",
              "shotOffTarget",
              "bigChanceMissed",
              "expectedAssists",
              "keyPass",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "touches",
              "dispossessed",
              "wasFouled",
              "topSpeed",
              "numberOfSprints",
              "ballRecovery",
              "possessionLostCtrl",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "shot_accuracy",
              "xg_per_shot",
              "touches_p90",
              "totalShots_p90",
              "duelWon_p90",
              "ballCarriesCount_p90",
              "big_chance_conversion",
              "shot_waste_rate",
              "aerial_dominance",
              "press_resistance_fwd",
              "speed_threat",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "expectedAssists",
              "keyPass",
              "rating"
            ],
            "history_matches": 2,
            "data_confidence": 0.375,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "market_value_adjustment": 1.102,
            "fbref_prior_metrics": null,
            "rationale": "XGBoost regressor (F_service) evaluated 2 historical appearances across 6 target models."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 6 target models",
              "stats": {
                "expected_goals": 0.2913,
                "goal_rate": 0.1896,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0418,
                "key_pass": 1,
                "rating": 6.6935,
                "minutes": 87,
                "total_shots": 3,
                "duels_won": 5,
                "aerial_won": 1,
                "total_pass": 16,
                "accurate_pass": 15,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 12,
                "accurate_opp_half_passes": 11,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 32,
                "possession_lost": 6.5,
                "dispossessed": 2.0,
                "duels_lost": 6,
                "aerial_lost": 2,
                "total_contest": 4,
                "won_contest": 4,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 3,
                "fouls_drawn": 1,
                "assists": 0,
                "shots_off_target": 2,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.21,
                "offsides": 0,
                "ball_carries": 10,
                "total_progression": 26,
                "progressive_carries": 2
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.1020, quality 0.840)",
              "stats": {
                "expected_goals": 0.321,
                "goal_rate": 0.2089,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0461,
                "key_pass": 1,
                "rating": 7.3761,
                "minutes": 95,
                "total_shots": 3,
                "duels_won": 6,
                "aerial_won": 1,
                "total_pass": 17,
                "accurate_pass": 17,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 13,
                "accurate_opp_half_passes": 12,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 35,
                "possession_lost": 7.1628,
                "dispossessed": 2.2039,
                "duels_lost": 7,
                "aerial_lost": 2,
                "total_contest": 5,
                "won_contest": 4,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 3,
                "fouls_drawn": 1,
                "assists": 0,
                "shots_off_target": 2,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.2314,
                "offsides": 0,
                "ball_carries": 11,
                "total_progression": 29,
                "progressive_carries": 2
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.321,
                "goal_rate": 0.2089,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0461,
                "key_pass": 1,
                "rating": 7.3761,
                "minutes": 95,
                "total_shots": 3,
                "duels_won": 6,
                "aerial_won": 1,
                "total_pass": 17,
                "accurate_pass": 17,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 13,
                "accurate_opp_half_passes": 12,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 35,
                "possession_lost": 7.1628,
                "dispossessed": 2.2039,
                "duels_lost": 7,
                "aerial_lost": 2,
                "total_contest": 5,
                "won_contest": 4,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 3,
                "fouls_drawn": 1,
                "assists": 0,
                "shots_off_target": 2,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.2314,
                "offsides": 0,
                "ball_carries": 11,
                "total_progression": 29,
                "progressive_carries": 2
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "expected_goals": 0.2299,
                "goal_rate": 0.2089,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0461,
                "key_pass": 1,
                "rating": 7.3761,
                "minutes": 95,
                "total_shots": 3,
                "duels_won": 6,
                "aerial_won": 2,
                "total_pass": 17,
                "accurate_pass": 17,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 13,
                "accurate_opp_half_passes": 12,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 35,
                "possession_lost": 7.1628,
                "dispossessed": 2.2039,
                "duels_lost": 7,
                "aerial_lost": 2,
                "total_contest": 5,
                "won_contest": 4,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 3,
                "fouls_drawn": 1,
                "assists": 0,
                "shots_off_target": 2,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.2314,
                "offsides": 0,
                "ball_carries": 11,
                "total_progression": 29,
                "progressive_carries": 2,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.4,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.229,
                "pressing_faced": "HIGH",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Vitaliy Mykolenko, Jarrad Branthwaite",
                "opponent_faced": "Vitaliy Mykolenko, Jarrad Branthwaite",
                "antagonist_source": "attacking_duel"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.02 (squad xG sum 1.7835, xG scale 0.5719)",
              "stats": {
                "expected_goals": 0.1315,
                "goal_rate": 0.2089,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0461,
                "key_pass": 1,
                "rating": 7.3761,
                "minutes": 95,
                "total_shots": 3,
                "duels_won": 6,
                "aerial_won": 2,
                "total_pass": 17,
                "accurate_pass": 17,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 13,
                "accurate_opp_half_passes": 12,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 35,
                "possession_lost": 7.1628,
                "dispossessed": 2.2039,
                "duels_lost": 7,
                "aerial_lost": 2,
                "total_contest": 5,
                "won_contest": 4,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 3,
                "fouls_drawn": 1,
                "assists": 0,
                "shots_off_target": 2,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.2314,
                "offsides": 0,
                "ball_carries": 11,
                "total_progression": 29,
                "progressive_carries": 2,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.4,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.229,
                "pressing_faced": "HIGH",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Vitaliy Mykolenko, Jarrad Branthwaite",
                "opponent_faced": "Vitaliy Mykolenko, Jarrad Branthwaite",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 3, fifa_overall 82.0)",
              "stats": {
                "expected_goals": 0.1315,
                "goal_rate": 0.2089,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0461,
                "key_pass": 1,
                "rating": 7.3761,
                "minutes": 95,
                "total_shots": 3,
                "duels_won": 6,
                "aerial_won": 2,
                "total_pass": 17,
                "accurate_pass": 17,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 13,
                "accurate_opp_half_passes": 12,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 35,
                "possession_lost": 7.1628,
                "dispossessed": 2.2039,
                "duels_lost": 7,
                "aerial_lost": 2,
                "total_contest": 5,
                "won_contest": 4,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 3,
                "fouls_drawn": 1,
                "assists": 0,
                "shots_off_target": 2,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.2314,
                "offsides": 0,
                "ball_carries": 11,
                "total_progression": 29,
                "progressive_carries": 2,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.4,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.229,
                "pressing_faced": "HIGH",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Vitaliy Mykolenko, Jarrad Branthwaite",
                "opponent_faced": "Vitaliy Mykolenko, Jarrad Branthwaite",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 82.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 0 projected goals distributed by scorer weight",
              "stats": {
                "expected_goals": 0.1315,
                "goal_rate": 0.2089,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0461,
                "key_pass": 1,
                "rating": 7.3761,
                "minutes": 95,
                "total_shots": 3,
                "duels_won": 6,
                "aerial_won": 2,
                "total_pass": 17,
                "accurate_pass": 17,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 13,
                "accurate_opp_half_passes": 12,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 35,
                "possession_lost": 7.1628,
                "dispossessed": 2.2039,
                "duels_lost": 7,
                "aerial_lost": 2,
                "total_contest": 5,
                "won_contest": 4,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 3,
                "fouls_drawn": 1,
                "assists": 0,
                "shots_off_target": 2,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.2314,
                "offsides": 0,
                "ball_carries": 11,
                "total_progression": 29,
                "progressive_carries": 2,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.4,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.229,
                "pressing_faced": "HIGH",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Vitaliy Mykolenko, Jarrad Branthwaite",
                "opponent_faced": "Vitaliy Mykolenko, Jarrad Branthwaite",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 82.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 0 projected assists distributed by provider weight",
              "stats": {
                "expected_goals": 0.1315,
                "goal_rate": 0.2089,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0461,
                "key_pass": 1,
                "rating": 7.3761,
                "minutes": 95,
                "total_shots": 3,
                "duels_won": 6,
                "aerial_won": 2,
                "total_pass": 17,
                "accurate_pass": 17,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 13,
                "accurate_opp_half_passes": 12,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 35,
                "possession_lost": 7.1628,
                "dispossessed": 2.2039,
                "duels_lost": 7,
                "aerial_lost": 2,
                "total_contest": 5,
                "won_contest": 4,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 3,
                "fouls_drawn": 1,
                "assists": 0,
                "shots_off_target": 2,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.2314,
                "offsides": 0,
                "ball_carries": 11,
                "total_progression": 29,
                "progressive_carries": 2,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.4,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.229,
                "pressing_faced": "HIGH",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Vitaliy Mykolenko, Jarrad Branthwaite",
                "opponent_faced": "Vitaliy Mykolenko, Jarrad Branthwaite",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 82.0
              }
            }
          ]
        }
      },
      "bench_players": {
        "Brandon Austin": {
          "player_id": 859896,
          "position": "G",
          "position_depth": "G_BENCH",
          "is_starter": false,
          "shirt_number": 40,
          "height": 188,
          "market_value": 530000,
          "stats": {
            "saves": 0,
            "goals_prevented": 0.022,
            "rating": 6.8,
            "minutes": 4,
            "total_pass": 1,
            "accurate_pass": 1,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "touches": 2,
            "clearances": 0,
            "ball_recovery": 0,
            "high_claims": 0,
            "punches": 0.0146,
            "aerial_won": 0,
            "sweeper_actions": 0,
            "sweeper_accurate": 0,
            "saves_inside_box": 0,
            "possession_lost": 0.1171,
            "duels_won": 0,
            "duels_lost": 0,
            "total_contest": 0,
            "won_contest": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "total_own_half_passes": 1,
            "accurate_own_half_passes": 1,
            "bench_appearance_probability": 0.109,
            "bench_expected_minutes": 4.39,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 2.683,
            "projected_substitution_game_state_adjustment": 1,
            "substitution_usage": "available_bench_not_projected_used",
            "goals": 0,
            "projected_goals": 0,
            "goal_probability": 0.0,
            "assists": 0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 67.0
          },
          "latest_10_games": [],
          "ranking": {
            "global_player_rank": 6329,
            "combined_rank_score": 4646.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": null,
            "sofascore_rating": null,
            "sofascore_appearances": 0.0,
            "fifa_rank": 9033.0,
            "fifa_overall": 67.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 18,
            "squad_role": "substitute",
            "projected_match_rating": 6.8,
            "source_file": "data/player_rankings.csv",
            "player_name": "Brandon Austin",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "David Akintola",
                  "ranking": 6324
                },
                {
                  "player_name": "João Rêgo",
                  "ranking": 6325
                },
                {
                  "player_name": "Adama Traoré",
                  "ranking": 6326
                },
                {
                  "player_name": "Esteban Matus",
                  "ranking": 6327
                },
                {
                  "player_name": "Cameron Humphreys",
                  "ranking": 6328
                }
              ],
              "lower": [
                {
                  "player_name": "Javier García",
                  "ranking": 6330
                },
                {
                  "player_name": "Alexis Zapata",
                  "ranking": 6331
                },
                {
                  "player_name": "Petar Stojanović",
                  "ranking": 6332
                },
                {
                  "player_name": "Alessandro Schöpf",
                  "ranking": 6333
                },
                {
                  "player_name": "Mourad El Ghezouani",
                  "ranking": 6334
                }
              ]
            }
          },
          "data_sources": [
            "market_value"
          ],
          "data_confidence": 0.25,
          "history_matches": 0,
          "xgboost_reasoning": {
            "model_source": "market_value_prior",
            "position_service": "G_service",
            "features_evaluated": [],
            "targets_predicted": [],
            "history_matches": 0,
            "data_confidence": 0.25,
            "data_sources": [
              "market_value"
            ],
            "bench_expected_minutes": 4.392222187561249,
            "bench_appearance_prob": 0.10873737216187492,
            "market_value_adjustment": 0.4374,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection from market-value prior (€530,000) scaled to 4.4 expected mins."
          },
          "stat_evolution": [
            {
              "step": "market_value_prior",
              "description": "Market-value baseline for position G (quality 0.44)",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.45,
                "rating": 6.8,
                "minutes": 90,
                "total_pass": 27,
                "accurate_pass": 20,
                "total_long_balls": 8,
                "accurate_long_balls": 4,
                "touches": 32,
                "clearances": 1,
                "ball_recovery": 1,
                "high_claims": 0,
                "punches": 0.3,
                "aerial_won": 1,
                "sweeper_actions": 1,
                "sweeper_accurate": 1,
                "saves_inside_box": 1,
                "possession_lost": 2.4,
                "duels_won": 0,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 21,
                "accurate_own_half_passes": 16
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 4.4 expected minutes (appearance prob 0.11)",
              "stats": {
                "saves": 0,
                "goals_prevented": 0.022,
                "rating": 6.8,
                "minutes": 4,
                "total_pass": 1,
                "accurate_pass": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "touches": 2,
                "clearances": 0,
                "ball_recovery": 0,
                "high_claims": 0,
                "punches": 0.0146,
                "aerial_won": 0,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 0,
                "possession_lost": 0.1171,
                "duels_won": 0,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "bench_appearance_probability": 0.109,
                "bench_expected_minutes": 4.39
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "saves": 0,
                "goals_prevented": 0.022,
                "rating": 6.8,
                "minutes": 4,
                "total_pass": 1,
                "accurate_pass": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "touches": 2,
                "clearances": 0,
                "ball_recovery": 0,
                "high_claims": 0,
                "punches": 0.0146,
                "aerial_won": 0,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 0,
                "possession_lost": 0.1171,
                "duels_won": 0,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "bench_appearance_probability": 0.109,
                "bench_expected_minutes": 4.39
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 18, fifa_overall 67.0)",
              "stats": {
                "saves": 0,
                "goals_prevented": 0.022,
                "rating": 6.8,
                "minutes": 4,
                "total_pass": 1,
                "accurate_pass": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "touches": 2,
                "clearances": 0,
                "ball_recovery": 0,
                "high_claims": 0,
                "punches": 0.0146,
                "aerial_won": 0,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 0,
                "possession_lost": 0.1171,
                "duels_won": 0,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "bench_appearance_probability": 0.109,
                "bench_expected_minutes": 4.39,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.683,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "available_bench_not_projected_used",
                "goals": 0,
                "projected_goals": 0,
                "goal_probability": 0.0,
                "assists": 0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 67.0
              }
            }
          ]
        },
        "Marcos Senesi": {
          "player_id": 830659,
          "position": "D",
          "position_depth": "D_BENCH",
          "is_starter": false,
          "shirt_number": 5,
          "height": 184,
          "market_value": 23000000,
          "stats": {
            "interceptions": 0,
            "tackles": 0,
            "tackles_won": 0,
            "clearances": 1,
            "aerial_won": 0,
            "rating": 7.079,
            "minutes": 14,
            "total_pass": 14,
            "accurate_pass": 13,
            "duels_won": 2,
            "total_long_balls": 1,
            "accurate_long_balls": 1,
            "total_own_half_passes": 9,
            "accurate_own_half_passes": 8,
            "total_opp_half_passes": 5,
            "accurate_opp_half_passes": 5,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 17,
            "possession_lost": 1.5143,
            "dispossessed": 0.0,
            "duels_lost": 1,
            "aerial_lost": 5,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 0,
            "challenges_lost": 1,
            "fouls": 0,
            "fouls_drawn": 1,
            "blocks": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.0,
            "expected_assists": 0.0034,
            "total_shots": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0,
            "ball_carries": 5,
            "total_progression": 7,
            "progressive_carries": 0,
            "key_pass": 0,
            "bench_appearance_probability": 0.339,
            "bench_expected_minutes": 14.45,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 2.683,
            "projected_substitution_game_state_adjustment": 1,
            "substitution_usage": "available_bench_not_projected_used",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 82.0
          },
          "latest_10_games": [
            {
              "match_id": 16363242.0,
              "match_date": "2026-08-22",
              "home_team": "Brentford",
              "away_team": "Tottenham Hotspur",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Tottenham Hotspur",
              "opponent": "Brentford",
              "stats": {
                "minutes": 90,
                "rating": 7.6,
                "assists": 0,
                "expected_assists": 0.0199,
                "total_shots": 0,
                "total_pass": 83,
                "accurate_pass": 75,
                "tackles": 5,
                "tackles_won": 4,
                "interceptions": 1,
                "clearances": 8,
                "aerial_won": 4,
                "duels_won": 12,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 331,
            "combined_rank_score": 221.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 68.0,
            "sofascore_rating": 7.6,
            "sofascore_appearances": 1.0,
            "fifa_rank": 375.0,
            "fifa_overall": 82.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 14,
            "squad_role": "substitute",
            "projected_match_rating": 7.079,
            "source_file": "data/player_rankings.csv",
            "player_name": "Marcos Senesi",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Alejandro Santander",
                  "ranking": 326
                },
                {
                  "player_name": "Diego Murillo",
                  "ranking": 327
                },
                {
                  "player_name": "Boubacar Kamara",
                  "ranking": 328
                },
                {
                  "player_name": "Min-woo Kim",
                  "ranking": 329
                },
                {
                  "player_name": "Juan Berrocal",
                  "ranking": 330
                }
              ],
              "lower": [
                {
                  "player_name": "Cristian Romero",
                  "ranking": 332
                },
                {
                  "player_name": "Alejandro Iturbe",
                  "ranking": 333
                },
                {
                  "player_name": "Oyarzabal",
                  "ranking": 334
                },
                {
                  "player_name": "Manuel Akanji",
                  "ranking": 335
                },
                {
                  "player_name": "Phil Foden",
                  "ranking": 336
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.312,
          "history_matches": 1,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "D_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalLongBalls",
              "totalOppositionHalfPasses",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "ballRecovery",
              "touches",
              "totalClearance",
              "wonTackle",
              "interceptionWon",
              "dispossessed",
              "challengeLost",
              "errorLeadToAShot",
              "errorLeadToAGoal",
              "possessionLostCtrl",
              "passValueNormalized",
              "defensiveValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "long_ball_accuracy",
              "defensive_actions",
              "tackle_success_rate",
              "touches_p90",
              "totalTackle_p90",
              "interceptionWon_p90",
              "totalClearance_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "press_vulnerability",
              "error_severity",
              "aerial_dominance",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "interceptionWon",
              "totalTackle",
              "wonTackle",
              "totalClearance",
              "aerialWon",
              "rating"
            ],
            "history_matches": 1,
            "data_confidence": 0.312,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "bench_expected_minutes": 14.45166323111848,
            "bench_appearance_prob": 0.33871196505084,
            "market_value_adjustment": 1.0479,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection scaled from XGBoost D_service (1 historical appearances) to 14.5 expected mins (appearance prob 0.34)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 6 target models",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "rating": 6.7557,
                "minutes": 90,
                "total_pass": 83,
                "accurate_pass": 75,
                "duels_won": 12,
                "total_long_balls": 7,
                "accurate_long_balls": 5,
                "total_own_half_passes": 51,
                "accurate_own_half_passes": 45,
                "total_opp_half_passes": 32,
                "accurate_opp_half_passes": 30,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 104,
                "possession_lost": 9.0,
                "dispossessed": 0.0,
                "duels_lost": 8,
                "aerial_lost": 5,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 3,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.02,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 28,
                "total_progression": 41,
                "progressive_carries": 0,
                "key_pass": 0
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0479, quality 0.660)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "rating": 7.079,
                "minutes": 94,
                "total_pass": 87,
                "accurate_pass": 79,
                "duels_won": 13,
                "total_long_balls": 7,
                "accurate_long_balls": 5,
                "total_own_half_passes": 53,
                "accurate_own_half_passes": 47,
                "total_opp_half_passes": 34,
                "accurate_opp_half_passes": 31,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 109,
                "possession_lost": 9.4307,
                "dispossessed": 0.0,
                "duels_lost": 8,
                "aerial_lost": 5,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 3,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.021,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 29,
                "total_progression": 43,
                "progressive_carries": 0,
                "key_pass": 0
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 14.5 expected minutes (appearance prob 0.34)",
              "stats": {
                "interceptions": 0,
                "tackles": 0,
                "tackles_won": 0,
                "clearances": 1,
                "aerial_won": 0,
                "rating": 7.079,
                "minutes": 14,
                "total_pass": 14,
                "accurate_pass": 13,
                "duels_won": 2,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 9,
                "accurate_own_half_passes": 8,
                "total_opp_half_passes": 5,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 17,
                "possession_lost": 1.5143,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 5,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 1,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0034,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 5,
                "total_progression": 7,
                "progressive_carries": 0,
                "key_pass": 0,
                "bench_appearance_probability": 0.339,
                "bench_expected_minutes": 14.45
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 0,
                "tackles": 0,
                "tackles_won": 0,
                "clearances": 1,
                "aerial_won": 0,
                "rating": 7.079,
                "minutes": 14,
                "total_pass": 14,
                "accurate_pass": 13,
                "duels_won": 2,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 9,
                "accurate_own_half_passes": 8,
                "total_opp_half_passes": 5,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 17,
                "possession_lost": 1.5143,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 5,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 1,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0034,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 5,
                "total_progression": 7,
                "progressive_carries": 0,
                "key_pass": 0,
                "bench_appearance_probability": 0.339,
                "bench_expected_minutes": 14.45
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 14, fifa_overall 82.0)",
              "stats": {
                "interceptions": 0,
                "tackles": 0,
                "tackles_won": 0,
                "clearances": 1,
                "aerial_won": 0,
                "rating": 7.079,
                "minutes": 14,
                "total_pass": 14,
                "accurate_pass": 13,
                "duels_won": 2,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 9,
                "accurate_own_half_passes": 8,
                "total_opp_half_passes": 5,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 17,
                "possession_lost": 1.5143,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 5,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 1,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0034,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 5,
                "total_progression": 7,
                "progressive_carries": 0,
                "key_pass": 0,
                "bench_appearance_probability": 0.339,
                "bench_expected_minutes": 14.45,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.683,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "available_bench_not_projected_used",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 82.0
              }
            }
          ]
        },
        "Kevin Danso": {
          "player_id": 794953,
          "position": "D",
          "position_depth": "D_BENCH",
          "is_starter": false,
          "shirt_number": 4,
          "height": 190,
          "market_value": 19400000,
          "stats": {
            "interceptions": 0,
            "tackles": 0,
            "tackles_won": 0,
            "clearances": 0,
            "aerial_won": 0,
            "rating": 7.0296,
            "minutes": 14,
            "total_pass": 7,
            "accurate_pass": 6,
            "duels_won": 1,
            "total_long_balls": 2,
            "accurate_long_balls": 1,
            "total_own_half_passes": 4,
            "accurate_own_half_passes": 4,
            "total_opp_half_passes": 3,
            "accurate_opp_half_passes": 2,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 10,
            "possession_lost": 1.9804,
            "dispossessed": 0.0,
            "duels_lost": 0,
            "aerial_lost": 2,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "blocks": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.0,
            "expected_assists": 0.0132,
            "total_shots": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0,
            "ball_carries": 2,
            "total_progression": 2,
            "progressive_carries": 0,
            "key_pass": 0,
            "bench_appearance_probability": 0.333,
            "bench_expected_minutes": 14.32,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 2.683,
            "projected_substitution_game_state_adjustment": 1,
            "substitution_usage": "available_bench_not_projected_used",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 79.0
          },
          "latest_10_games": [
            {
              "match_id": 16363260.0,
              "match_date": "2026-09-05",
              "home_team": "Brentford",
              "away_team": "Sunderland",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sunderland",
              "opponent": "Brentford",
              "stats": {
                "minutes": 90,
                "rating": 7.3,
                "assists": 0,
                "expected_assists": 0.0759,
                "total_shots": 0,
                "total_pass": 43,
                "accurate_pass": 35,
                "key_pass": 1,
                "tackles": 1,
                "clearances": 7,
                "aerial_won": 2,
                "duels_won": 4,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 1188,
            "combined_rank_score": 523.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 180.0,
            "sofascore_rating": 7.2333,
            "sofascore_appearances": 6.0,
            "fifa_rank": 867.0,
            "fifa_overall": 79.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 15,
            "squad_role": "substitute",
            "projected_match_rating": 7.0296,
            "source_file": "data/player_rankings.csv",
            "player_name": "Kevin Danso",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Pijus Širvys",
                  "ranking": 1183
                },
                {
                  "player_name": "Olivier Thill",
                  "ranking": 1184
                },
                {
                  "player_name": "Fernando Calero",
                  "ranking": 1185
                },
                {
                  "player_name": "Diego Rubio",
                  "ranking": 1186
                },
                {
                  "player_name": "Ismaïla Sarr",
                  "ranking": 1187
                }
              ],
              "lower": [
                {
                  "player_name": "Folarin Balogun",
                  "ranking": 1189
                },
                {
                  "player_name": "Jonathan David",
                  "ranking": 1190
                },
                {
                  "player_name": "Gerard Martín",
                  "ranking": 1191
                },
                {
                  "player_name": "Keelan Lebon",
                  "ranking": 1192
                },
                {
                  "player_name": "Sukhrob Nurullaev",
                  "ranking": 1193
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.312,
          "history_matches": 1,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "D_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalLongBalls",
              "totalOppositionHalfPasses",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "ballRecovery",
              "touches",
              "totalClearance",
              "wonTackle",
              "interceptionWon",
              "dispossessed",
              "challengeLost",
              "errorLeadToAShot",
              "errorLeadToAGoal",
              "possessionLostCtrl",
              "passValueNormalized",
              "defensiveValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "long_ball_accuracy",
              "defensive_actions",
              "tackle_success_rate",
              "touches_p90",
              "totalTackle_p90",
              "interceptionWon_p90",
              "totalClearance_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "press_vulnerability",
              "error_severity",
              "aerial_dominance",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "interceptionWon",
              "totalTackle",
              "wonTackle",
              "totalClearance",
              "aerialWon",
              "rating"
            ],
            "history_matches": 1,
            "data_confidence": 0.312,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 14.3154732112477,
            "bench_appearance_prob": 0.33252150960216814,
            "market_value_adjustment": 1.0375,
            "fbref_prior_metrics": {
              "squad": "Tottenham",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 0.0,
              "starts": 0.0,
              "sub_appearances": 0.0,
              "prior_reliability": 0.0
            },
            "rationale": "Bench projection scaled from XGBoost D_service (1 historical appearances) to 14.3 expected mins (appearance prob 0.33); FBref playing time empirical prior: 0.0 sub appearances, 0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 6 target models",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "rating": 6.7753,
                "minutes": 90,
                "total_pass": 43,
                "accurate_pass": 35,
                "duels_won": 4,
                "total_long_balls": 12,
                "accurate_long_balls": 6,
                "total_own_half_passes": 23,
                "accurate_own_half_passes": 23,
                "total_opp_half_passes": 20,
                "accurate_opp_half_passes": 12,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 60,
                "possession_lost": 12.0,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.08,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 10,
                "total_progression": 10,
                "progressive_carries": 0,
                "key_pass": 1
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0375, quality 0.625)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "rating": 7.0296,
                "minutes": 93,
                "total_pass": 45,
                "accurate_pass": 36,
                "duels_won": 4,
                "total_long_balls": 12,
                "accurate_long_balls": 6,
                "total_own_half_passes": 24,
                "accurate_own_half_passes": 24,
                "total_opp_half_passes": 21,
                "accurate_opp_half_passes": 12,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 62,
                "possession_lost": 12.4504,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.083,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 10,
                "total_progression": 10,
                "progressive_carries": 0,
                "key_pass": 1
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0000)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "rating": 7.0296,
                "minutes": 93,
                "total_pass": 45,
                "accurate_pass": 36,
                "duels_won": 4,
                "total_long_balls": 12,
                "accurate_long_balls": 6,
                "total_own_half_passes": 24,
                "accurate_own_half_passes": 24,
                "total_opp_half_passes": 21,
                "accurate_opp_half_passes": 12,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 62,
                "possession_lost": 12.4504,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.083,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 10,
                "total_progression": 10,
                "progressive_carries": 0,
                "key_pass": 1
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 14.3 expected minutes (appearance prob 0.33)",
              "stats": {
                "interceptions": 0,
                "tackles": 0,
                "tackles_won": 0,
                "clearances": 0,
                "aerial_won": 0,
                "rating": 7.0296,
                "minutes": 14,
                "total_pass": 7,
                "accurate_pass": 6,
                "duels_won": 1,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 4,
                "accurate_own_half_passes": 4,
                "total_opp_half_passes": 3,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 10,
                "possession_lost": 1.9804,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0132,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 2,
                "total_progression": 2,
                "progressive_carries": 0,
                "key_pass": 0,
                "bench_appearance_probability": 0.333,
                "bench_expected_minutes": 14.32
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 0,
                "tackles": 0,
                "tackles_won": 0,
                "clearances": 0,
                "aerial_won": 0,
                "rating": 7.0296,
                "minutes": 14,
                "total_pass": 7,
                "accurate_pass": 6,
                "duels_won": 1,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 4,
                "accurate_own_half_passes": 4,
                "total_opp_half_passes": 3,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 10,
                "possession_lost": 1.9804,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0132,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 2,
                "total_progression": 2,
                "progressive_carries": 0,
                "key_pass": 0,
                "bench_appearance_probability": 0.333,
                "bench_expected_minutes": 14.32
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 15, fifa_overall 79.0)",
              "stats": {
                "interceptions": 0,
                "tackles": 0,
                "tackles_won": 0,
                "clearances": 0,
                "aerial_won": 0,
                "rating": 7.0296,
                "minutes": 14,
                "total_pass": 7,
                "accurate_pass": 6,
                "duels_won": 1,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 4,
                "accurate_own_half_passes": 4,
                "total_opp_half_passes": 3,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 10,
                "possession_lost": 1.9804,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0132,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 2,
                "total_progression": 2,
                "progressive_carries": 0,
                "key_pass": 0,
                "bench_appearance_probability": 0.333,
                "bench_expected_minutes": 14.32,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.683,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "available_bench_not_projected_used",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 79.0
              }
            }
          ]
        },
        "Mohammed Kudus": {
          "player_id": 905163,
          "position": "M",
          "position_depth": "M_BENCH",
          "is_starter": false,
          "shirt_number": 20,
          "height": 176,
          "market_value": 54000000,
          "stats": {
            "key_pass": 0,
            "expected_assists": 0.0229,
            "assists": 0,
            "expected_goals": 0.0066,
            "rating": 7.5312,
            "minutes": 24,
            "total_pass": 3,
            "accurate_pass": 3,
            "ball_recovery": 1,
            "duels_won": 1,
            "total_shots": 0,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_own_half_passes": 1,
            "accurate_own_half_passes": 1,
            "total_opp_half_passes": 2,
            "accurate_opp_half_passes": 2,
            "crosses_total": 1,
            "crosses_accurate": 0,
            "touches": 6,
            "possession_lost": 2.5936,
            "dispossessed": 1.1011,
            "duels_lost": 1,
            "aerial_won": 0,
            "aerial_lost": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "total_contest": 1,
            "won_contest": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 1,
            "goal_rate": 0.0,
            "goals": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "ball_carries": 3,
            "total_progression": 18,
            "progressive_carries": 1,
            "bench_appearance_probability": 0.571,
            "bench_expected_minutes": 23.55,
            "projected_substitution_order": 3,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 2.683,
            "projected_substitution_game_state_adjustment": 1,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 81.0
          },
          "latest_10_games": [
            {
              "match_id": 16363638.0,
              "match_date": "2026-09-05",
              "home_team": "Nottingham Forest",
              "away_team": "Tottenham Hotspur",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Tottenham Hotspur",
              "opponent": "Nottingham Forest",
              "stats": {
                "minutes": 29,
                "rating": 7.0,
                "assists": 0,
                "expected_assists": 0.1574,
                "total_shots": 0,
                "total_pass": 8,
                "accurate_pass": 8,
                "key_pass": 1,
                "duels_won": 5,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363256.0,
              "match_date": "2026-08-29",
              "home_team": "Tottenham Hotspur",
              "away_team": "Newcastle United",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Tottenham Hotspur",
              "opponent": "Newcastle United",
              "stats": {
                "minutes": 22,
                "rating": 6.5,
                "assists": 0,
                "expected_goals": 0.0382,
                "expected_assists": 0.0124,
                "total_shots": 1,
                "total_pass": 14,
                "accurate_pass": 12,
                "duels_won": 1,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 1011,
            "combined_rank_score": 447.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 382.0,
            "sofascore_rating": 6.96,
            "sofascore_appearances": 5.0,
            "fifa_rank": 512.0,
            "fifa_overall": 81.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 4,
            "squad_role": "substitute",
            "projected_match_rating": 7.5312,
            "source_file": "data/player_rankings.csv",
            "player_name": "Mohammed Kudus",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Uğurcan Çakır",
                  "ranking": 1006
                },
                {
                  "player_name": "Ronald Araújo",
                  "ranking": 1007
                },
                {
                  "player_name": "Adrien Truffert",
                  "ranking": 1008
                },
                {
                  "player_name": "Nicolás González",
                  "ranking": 1009
                },
                {
                  "player_name": "Alejandro Francés",
                  "ranking": 1010
                }
              ],
              "lower": [
                {
                  "player_name": "Nicolas Seiwald",
                  "ranking": 1012
                },
                {
                  "player_name": "Mateus Fernandes",
                  "ranking": 1013
                },
                {
                  "player_name": "Amad Diallo",
                  "ranking": 1014
                },
                {
                  "player_name": "Dani Parejo",
                  "ranking": 1015
                },
                {
                  "player_name": "Giovanni Di Lorenzo",
                  "ranking": 1016
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.375,
          "history_matches": 2,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "M_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "keyPass",
              "expectedAssists",
              "totalCross",
              "accurateCross",
              "duelWon",
              "duelLost",
              "aerialWon",
              "ballRecovery",
              "touches",
              "interceptionWon",
              "wonTackle",
              "possessionLostCtrl",
              "dispossessed",
              "numberOfSprints",
              "kilometersCovered",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "creative_index",
              "touches_p90",
              "totalPass_p90",
              "keyPass_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "ballCarriesCount_p90",
              "creative_efficiency",
              "cross_accuracy",
              "cross_creative_contribution",
              "defensive_midfield_actions",
              "press_vulnerability",
              "progressive_carries_p90",
              "intensity_index",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "rating"
            ],
            "history_matches": 2,
            "data_confidence": 0.375,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "bench_expected_minutes": 23.554625510014294,
            "bench_appearance_prob": 0.5706647959097406,
            "market_value_adjustment": 1.1011,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection scaled from XGBoost M_service (2 historical appearances) to 23.6 expected mins (appearance prob 0.57)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 5 target models",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0794,
                "assists": 0,
                "expected_goals": 0.0398,
                "rating": 6.8397,
                "minutes": 26,
                "total_pass": 11,
                "accurate_pass": 10,
                "ball_recovery": 2,
                "duels_won": 3,
                "total_shots": 0,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 4,
                "accurate_own_half_passes": 4,
                "total_opp_half_passes": 8,
                "accurate_opp_half_passes": 6,
                "crosses_total": 4,
                "crosses_accurate": 1,
                "touches": 22,
                "possession_lost": 9.0,
                "dispossessed": 1.0,
                "duels_lost": 2,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 2,
                "won_contest": 2,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 3,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 11,
                "total_progression": 61,
                "progressive_carries": 3
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.1011, quality 0.837)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0874,
                "assists": 0,
                "expected_goals": 0.0438,
                "rating": 7.5312,
                "minutes": 28,
                "total_pass": 12,
                "accurate_pass": 11,
                "ball_recovery": 3,
                "duels_won": 3,
                "total_shots": 1,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 4,
                "accurate_own_half_passes": 4,
                "total_opp_half_passes": 8,
                "accurate_opp_half_passes": 7,
                "crosses_total": 5,
                "crosses_accurate": 1,
                "touches": 25,
                "possession_lost": 9.91,
                "dispossessed": 1.1011,
                "duels_lost": 2,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 2,
                "won_contest": 2,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 3,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 12,
                "total_progression": 68,
                "progressive_carries": 3
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 23.6 expected minutes (appearance prob 0.57)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0229,
                "assists": 0,
                "expected_goals": 0.0115,
                "rating": 7.5312,
                "minutes": 24,
                "total_pass": 3,
                "accurate_pass": 3,
                "ball_recovery": 1,
                "duels_won": 1,
                "total_shots": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 2,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 6,
                "possession_lost": 2.5936,
                "dispossessed": 1.1011,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 1,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 3,
                "total_progression": 18,
                "progressive_carries": 1,
                "bench_appearance_probability": 0.571,
                "bench_expected_minutes": 23.55
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0229,
                "assists": 0,
                "expected_goals": 0.0115,
                "rating": 7.5312,
                "minutes": 24,
                "total_pass": 3,
                "accurate_pass": 3,
                "ball_recovery": 1,
                "duels_won": 1,
                "total_shots": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 2,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 6,
                "possession_lost": 2.5936,
                "dispossessed": 1.1011,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 1,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 3,
                "total_progression": 18,
                "progressive_carries": 1,
                "bench_appearance_probability": 0.571,
                "bench_expected_minutes": 23.55
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.02 (squad xG sum 1.7835, xG scale 0.5719)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0229,
                "assists": 0,
                "expected_goals": 0.0066,
                "rating": 7.5312,
                "minutes": 24,
                "total_pass": 3,
                "accurate_pass": 3,
                "ball_recovery": 1,
                "duels_won": 1,
                "total_shots": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 2,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 6,
                "possession_lost": 2.5936,
                "dispossessed": 1.1011,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 1,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 3,
                "total_progression": 18,
                "progressive_carries": 1,
                "bench_appearance_probability": 0.571,
                "bench_expected_minutes": 23.55,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.683,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 4, fifa_overall 81.0)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0229,
                "assists": 0,
                "expected_goals": 0.0066,
                "rating": 7.5312,
                "minutes": 24,
                "total_pass": 3,
                "accurate_pass": 3,
                "ball_recovery": 1,
                "duels_won": 1,
                "total_shots": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 2,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 6,
                "possession_lost": 2.5936,
                "dispossessed": 1.1011,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 1,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 3,
                "total_progression": 18,
                "progressive_carries": 1,
                "bench_appearance_probability": 0.571,
                "bench_expected_minutes": 23.55,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.683,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 81.0
              }
            }
          ]
        },
        "Xavi Simons": {
          "player_id": 997183,
          "position": "M",
          "position_depth": "M_BENCH",
          "is_starter": false,
          "shirt_number": 7,
          "height": 179,
          "market_value": 43000000,
          "stats": {
            "key_pass": 1,
            "assists": 0,
            "expected_assists": 0.0533,
            "expected_goals": 0.0194,
            "total_shots": 0,
            "total_pass": 17,
            "accurate_pass": 14,
            "ball_recovery": 2,
            "duels_won": 2,
            "rating": 7.4,
            "minutes": 23,
            "total_long_balls": 2,
            "accurate_long_balls": 1,
            "total_own_half_passes": 7,
            "accurate_own_half_passes": 5,
            "total_opp_half_passes": 7,
            "accurate_opp_half_passes": 5,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 20,
            "possession_lost": 2.7549,
            "dispossessed": 1.0,
            "duels_lost": 1,
            "aerial_won": 0,
            "aerial_lost": 1,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 1,
            "clearances": 0,
            "total_contest": 1,
            "won_contest": 1,
            "challenges_lost": 2,
            "fouls": 1,
            "fouls_drawn": 0,
            "goal_rate": 0.026,
            "goals": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0234,
            "ball_carries": 10,
            "total_progression": 27,
            "progressive_carries": 2,
            "bench_appearance_probability": 0.563,
            "bench_expected_minutes": 23.39,
            "projected_substitution_order": 4,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 2.683,
            "projected_substitution_game_state_adjustment": 1,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 81.0
          },
          "latest_10_games": [],
          "ranking": {
            "global_player_rank": 654,
            "combined_rank_score": 331.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 149.0,
            "sofascore_rating": 7.3167,
            "sofascore_appearances": 6.0,
            "fifa_rank": 513.0,
            "fifa_overall": 81.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 7,
            "squad_role": "substitute",
            "projected_match_rating": 7.4,
            "source_file": "data/player_rankings.csv",
            "player_name": "Xavi Simons",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Dieter Villalpando",
                  "ranking": 649
                },
                {
                  "player_name": "Kim Kang-San",
                  "ranking": 650
                },
                {
                  "player_name": "Jan Bednarek",
                  "ranking": 651
                },
                {
                  "player_name": "Dayot Upamecano",
                  "ranking": 652
                },
                {
                  "player_name": "Jan Paul van Hecke",
                  "ranking": 653
                }
              ],
              "lower": [
                {
                  "player_name": "Azizbek Turgunboev",
                  "ranking": 655
                },
                {
                  "player_name": "Gabriel Tigrão",
                  "ranking": 656
                },
                {
                  "player_name": "Nicolás Montiel",
                  "ranking": 657
                },
                {
                  "player_name": "Orkun Kökçü",
                  "ranking": 658
                },
                {
                  "player_name": "Keon-woo Bak",
                  "ranking": 659
                }
              ]
            }
          },
          "data_sources": [
            "market_value"
          ],
          "data_confidence": 0.25,
          "history_matches": 0,
          "xgboost_reasoning": {
            "model_source": "market_value_prior",
            "position_service": "M_service",
            "features_evaluated": [],
            "targets_predicted": [],
            "history_matches": 0,
            "data_confidence": 0.25,
            "data_sources": [
              "market_value"
            ],
            "bench_expected_minutes": 23.390848356448757,
            "bench_appearance_prob": 0.5632203798385798,
            "market_value_adjustment": 0.7957,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection from market-value prior (€43,000,000) scaled to 23.4 expected mins."
          },
          "stat_evolution": [
            {
              "step": "market_value_prior",
              "description": "Market-value baseline for position M (quality 0.80)",
              "stats": {
                "key_pass": 2,
                "assists": 0,
                "expected_assists": 0.205,
                "expected_goals": 0.131,
                "total_shots": 2,
                "total_pass": 65,
                "accurate_pass": 53,
                "ball_recovery": 7,
                "duels_won": 8,
                "rating": 7.4,
                "minutes": 90,
                "total_long_balls": 6,
                "accurate_long_balls": 3,
                "total_own_half_passes": 26,
                "accurate_own_half_passes": 21,
                "total_opp_half_passes": 26,
                "accurate_opp_half_passes": 20,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 78,
                "possession_lost": 10.6,
                "dispossessed": 1.0,
                "duels_lost": 5,
                "aerial_won": 2,
                "aerial_lost": 1,
                "interceptions": 2,
                "tackles_won": 2,
                "tackles": 3,
                "clearances": 1,
                "total_contest": 5,
                "won_contest": 3,
                "challenges_lost": 2,
                "fouls": 2,
                "fouls_drawn": 2,
                "goal_rate": 0.1,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.09,
                "ball_carries": 39,
                "total_progression": 104,
                "progressive_carries": 9
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 23.4 expected minutes (appearance prob 0.56)",
              "stats": {
                "key_pass": 1,
                "assists": 0,
                "expected_assists": 0.0533,
                "expected_goals": 0.034,
                "total_shots": 0,
                "total_pass": 17,
                "accurate_pass": 14,
                "ball_recovery": 2,
                "duels_won": 2,
                "rating": 7.4,
                "minutes": 23,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 5,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 20,
                "possession_lost": 2.7549,
                "dispossessed": 1.0,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 0,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 0,
                "goal_rate": 0.026,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0234,
                "ball_carries": 10,
                "total_progression": 27,
                "progressive_carries": 2,
                "bench_appearance_probability": 0.563,
                "bench_expected_minutes": 23.39
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 1,
                "assists": 0,
                "expected_assists": 0.0533,
                "expected_goals": 0.034,
                "total_shots": 0,
                "total_pass": 17,
                "accurate_pass": 14,
                "ball_recovery": 2,
                "duels_won": 2,
                "rating": 7.4,
                "minutes": 23,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 5,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 20,
                "possession_lost": 2.7549,
                "dispossessed": 1.0,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 0,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 0,
                "goal_rate": 0.026,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0234,
                "ball_carries": 10,
                "total_progression": 27,
                "progressive_carries": 2,
                "bench_appearance_probability": 0.563,
                "bench_expected_minutes": 23.39
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.02 (squad xG sum 1.7835, xG scale 0.5719)",
              "stats": {
                "key_pass": 1,
                "assists": 0,
                "expected_assists": 0.0533,
                "expected_goals": 0.0194,
                "total_shots": 0,
                "total_pass": 17,
                "accurate_pass": 14,
                "ball_recovery": 2,
                "duels_won": 2,
                "rating": 7.4,
                "minutes": 23,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 5,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 20,
                "possession_lost": 2.7549,
                "dispossessed": 1.0,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 0,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 0,
                "goal_rate": 0.026,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0234,
                "ball_carries": 10,
                "total_progression": 27,
                "progressive_carries": 2,
                "bench_appearance_probability": 0.563,
                "bench_expected_minutes": 23.39,
                "projected_substitution_order": 4,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.683,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 7, fifa_overall 81.0)",
              "stats": {
                "key_pass": 1,
                "assists": 0,
                "expected_assists": 0.0533,
                "expected_goals": 0.0194,
                "total_shots": 0,
                "total_pass": 17,
                "accurate_pass": 14,
                "ball_recovery": 2,
                "duels_won": 2,
                "rating": 7.4,
                "minutes": 23,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 5,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 20,
                "possession_lost": 2.7549,
                "dispossessed": 1.0,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 0,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 0,
                "goal_rate": 0.026,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0234,
                "ball_carries": 10,
                "total_progression": 27,
                "progressive_carries": 2,
                "bench_appearance_probability": 0.563,
                "bench_expected_minutes": 23.39,
                "projected_substitution_order": 4,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.683,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 81.0
              }
            }
          ]
        },
        "Dominic Solanke": {
          "player_id": 361420,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 19,
          "height": 186,
          "market_value": 31000000,
          "stats": {
            "expected_goals": 0.0194,
            "goal_rate": 0.0361,
            "goals": 0,
            "shots_on_target": 0,
            "expected_assists": 0.0048,
            "key_pass": 0,
            "rating": 6.713,
            "minutes": 26,
            "total_shots": 0,
            "duels_won": 0,
            "aerial_won": 0,
            "total_pass": 0,
            "accurate_pass": 0,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 0,
            "accurate_opp_half_passes": 0,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 2,
            "possession_lost": 0.627,
            "dispossessed": 1.0675,
            "duels_lost": 1,
            "aerial_lost": 2,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "assists": 0,
            "shots_off_target": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "offsides": 1,
            "ball_carries": 0,
            "total_progression": 0,
            "progressive_carries": 0,
            "bench_appearance_probability": 0.61,
            "bench_expected_minutes": 26.43,
            "projected_substitution_order": 1,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 2.683,
            "projected_substitution_game_state_adjustment": 1,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 79.0
          },
          "latest_10_games": [
            {
              "match_id": 16363638.0,
              "match_date": "2026-09-05",
              "home_team": "Nottingham Forest",
              "away_team": "Tottenham Hotspur",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Tottenham Hotspur",
              "opponent": "Nottingham Forest",
              "stats": {
                "minutes": 12,
                "rating": 6.3,
                "assists": 0,
                "expected_goals": 0.1723,
                "expected_assists": 0.0021,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 1,
                "accurate_pass": 1,
                "clearances": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363256.0,
              "match_date": "2026-08-29",
              "home_team": "Tottenham Hotspur",
              "away_team": "Newcastle United",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Tottenham Hotspur",
              "opponent": "Newcastle United",
              "stats": {
                "minutes": 15,
                "rating": 6.4,
                "assists": 0,
                "expected_goals": 0.201,
                "expected_assists": 0.0012,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 1,
                "accurate_pass": 1,
                "duels_won": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363242.0,
              "match_date": "2026-08-22",
              "home_team": "Brentford",
              "away_team": "Tottenham Hotspur",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Tottenham Hotspur",
              "opponent": "Brentford",
              "stats": {
                "minutes": 22,
                "rating": 6.4,
                "assists": 0,
                "expected_goals": 0.0711,
                "total_shots": 1,
                "total_pass": 1,
                "duels_won": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 1075,
            "combined_rank_score": 485.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 112.0,
            "sofascore_rating": 7.4333,
            "sofascore_appearances": 3.0,
            "fifa_rank": 859.0,
            "fifa_overall": 79.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 10,
            "squad_role": "substitute",
            "projected_match_rating": 6.713,
            "source_file": "data/player_rankings.csv",
            "player_name": "Dominic Solanke",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Marius Marin",
                  "ranking": 1070
                },
                {
                  "player_name": "Cha Jun-young",
                  "ranking": 1071
                },
                {
                  "player_name": "Kevin Schade",
                  "ranking": 1072
                },
                {
                  "player_name": "Giorgi Mamardashvili",
                  "ranking": 1073
                },
                {
                  "player_name": "Gonçalo Inácio",
                  "ranking": 1074
                }
              ],
              "lower": [
                {
                  "player_name": "Kim Se-hoon",
                  "ranking": 1076
                },
                {
                  "player_name": "Dodi Lukebakio",
                  "ranking": 1077
                },
                {
                  "player_name": "Davinson Sánchez",
                  "ranking": 1078
                },
                {
                  "player_name": "Robert Sánchez",
                  "ranking": 1079
                },
                {
                  "player_name": "Romelu Lukaku",
                  "ranking": 1080
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.438,
          "history_matches": 3,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "F_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "onTargetScoringAttempt",
              "shotOffTarget",
              "bigChanceMissed",
              "expectedAssists",
              "keyPass",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "touches",
              "dispossessed",
              "wasFouled",
              "topSpeed",
              "numberOfSprints",
              "ballRecovery",
              "possessionLostCtrl",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "shot_accuracy",
              "xg_per_shot",
              "touches_p90",
              "totalShots_p90",
              "duelWon_p90",
              "ballCarriesCount_p90",
              "big_chance_conversion",
              "shot_waste_rate",
              "aerial_dominance",
              "press_resistance_fwd",
              "speed_threat",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "expectedAssists",
              "keyPass",
              "rating"
            ],
            "history_matches": 3,
            "data_confidence": 0.438,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "bench_expected_minutes": 26.430658378070405,
            "bench_appearance_prob": 0.6104844717304728,
            "market_value_adjustment": 1.0675,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection scaled from XGBoost F_service (3 historical appearances) to 26.4 expected mins (appearance prob 0.61)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 6 target models",
              "stats": {
                "expected_goals": 0.1082,
                "goal_rate": 0.1152,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0151,
                "key_pass": 0,
                "rating": 6.2887,
                "minutes": 16,
                "total_shots": 1,
                "duels_won": 1,
                "aerial_won": 1,
                "total_pass": 1,
                "accurate_pass": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 5,
                "possession_lost": 2.0,
                "dispossessed": 1.0,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "assists": 0,
                "shots_off_target": 1,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 1,
                "xgot": 0.0,
                "offsides": 1,
                "ball_carries": 2,
                "total_progression": 0,
                "progressive_carries": 0
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0675, quality 0.725)",
              "stats": {
                "expected_goals": 0.1155,
                "goal_rate": 0.123,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0162,
                "key_pass": 0,
                "rating": 6.713,
                "minutes": 17,
                "total_shots": 2,
                "duels_won": 1,
                "aerial_won": 1,
                "total_pass": 1,
                "accurate_pass": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 5,
                "possession_lost": 2.1349,
                "dispossessed": 1.0675,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "assists": 0,
                "shots_off_target": 1,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 1,
                "xgot": 0.0,
                "offsides": 1,
                "ball_carries": 2,
                "total_progression": 0,
                "progressive_carries": 0
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 26.4 expected minutes (appearance prob 0.61)",
              "stats": {
                "expected_goals": 0.0339,
                "goal_rate": 0.0361,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0048,
                "key_pass": 0,
                "rating": 6.713,
                "minutes": 26,
                "total_shots": 0,
                "duels_won": 0,
                "aerial_won": 0,
                "total_pass": 0,
                "accurate_pass": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 2,
                "possession_lost": 0.627,
                "dispossessed": 1.0675,
                "duels_lost": 1,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 1,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.61,
                "bench_expected_minutes": 26.43
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.0339,
                "goal_rate": 0.0361,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0048,
                "key_pass": 0,
                "rating": 6.713,
                "minutes": 26,
                "total_shots": 0,
                "duels_won": 0,
                "aerial_won": 0,
                "total_pass": 0,
                "accurate_pass": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 2,
                "possession_lost": 0.627,
                "dispossessed": 1.0675,
                "duels_lost": 1,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 1,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.61,
                "bench_expected_minutes": 26.43
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.02 (squad xG sum 1.7835, xG scale 0.5719)",
              "stats": {
                "expected_goals": 0.0194,
                "goal_rate": 0.0361,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0048,
                "key_pass": 0,
                "rating": 6.713,
                "minutes": 26,
                "total_shots": 0,
                "duels_won": 0,
                "aerial_won": 0,
                "total_pass": 0,
                "accurate_pass": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 2,
                "possession_lost": 0.627,
                "dispossessed": 1.0675,
                "duels_lost": 1,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 1,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.61,
                "bench_expected_minutes": 26.43,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.683,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 10, fifa_overall 79.0)",
              "stats": {
                "expected_goals": 0.0194,
                "goal_rate": 0.0361,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0048,
                "key_pass": 0,
                "rating": 6.713,
                "minutes": 26,
                "total_shots": 0,
                "duels_won": 0,
                "aerial_won": 0,
                "total_pass": 0,
                "accurate_pass": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 2,
                "possession_lost": 0.627,
                "dispossessed": 1.0675,
                "duels_lost": 1,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 1,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.61,
                "bench_expected_minutes": 26.43,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.683,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 79.0
              }
            }
          ]
        },
        "Richarlison": {
          "player_id": 840217,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 9,
          "height": 184,
          "market_value": 24000000,
          "stats": {
            "expected_goals": 0.0346,
            "goal_rate": 0.0767,
            "goals": 0,
            "shots_on_target": 0,
            "expected_assists": 0.0119,
            "key_pass": 0,
            "rating": 6.916,
            "minutes": 26,
            "total_shots": 0,
            "duels_won": 1,
            "aerial_won": 0,
            "total_pass": 3,
            "accurate_pass": 2,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 2,
            "accurate_opp_half_passes": 2,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 5,
            "possession_lost": 1.5296,
            "dispossessed": 1.0506,
            "duels_lost": 3,
            "aerial_lost": 4,
            "total_contest": 1,
            "won_contest": 0,
            "ball_recovery": 0,
            "challenges_lost": 1,
            "fouls": 1,
            "fouls_drawn": 0,
            "assists": 0,
            "shots_off_target": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "offsides": 0,
            "ball_carries": 2,
            "total_progression": 0,
            "progressive_carries": 0,
            "bench_appearance_probability": 0.6,
            "bench_expected_minutes": 26.21,
            "projected_substitution_order": 2,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 2.683,
            "projected_substitution_game_state_adjustment": 1,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 78.0
          },
          "latest_10_games": [
            {
              "match_id": 16363242.0,
              "match_date": "2026-08-22",
              "home_team": "Brentford",
              "away_team": "Tottenham Hotspur",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Tottenham Hotspur",
              "opponent": "Brentford",
              "stats": {
                "minutes": 68,
                "rating": 6.1,
                "assists": 0,
                "expected_assists": 0.0038,
                "total_shots": 0,
                "total_pass": 9,
                "accurate_pass": 8,
                "clearances": 1,
                "duels_won": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 2109,
            "combined_rank_score": 800.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 509.0,
            "sofascore_rating": 6.8531,
            "sofascore_appearances": 32.0,
            "fifa_rank": 1091.0,
            "fifa_overall": 78.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 12,
            "squad_role": "substitute",
            "projected_match_rating": 6.916,
            "source_file": "data/player_rankings.csv",
            "player_name": "Richarlison",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Chris Long",
                  "ranking": 2104
                },
                {
                  "player_name": "Richard Ríos",
                  "ranking": 2105
                },
                {
                  "player_name": "Abdel Rahim",
                  "ranking": 2106
                },
                {
                  "player_name": "Matthew Sheridan",
                  "ranking": 2107
                },
                {
                  "player_name": "Lewis Miley",
                  "ranking": 2108
                }
              ],
              "lower": [
                {
                  "player_name": "Antonio Díaz",
                  "ranking": 2110
                },
                {
                  "player_name": "Cristian Palacios",
                  "ranking": 2111
                },
                {
                  "player_name": "Han-gil Kim",
                  "ranking": 2112
                },
                {
                  "player_name": "Sardor Abduraimov",
                  "ranking": 2113
                },
                {
                  "player_name": "Alou Kuol",
                  "ranking": 2114
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.312,
          "history_matches": 1,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "F_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "onTargetScoringAttempt",
              "shotOffTarget",
              "bigChanceMissed",
              "expectedAssists",
              "keyPass",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "touches",
              "dispossessed",
              "wasFouled",
              "topSpeed",
              "numberOfSprints",
              "ballRecovery",
              "possessionLostCtrl",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "shot_accuracy",
              "xg_per_shot",
              "touches_p90",
              "totalShots_p90",
              "duelWon_p90",
              "ballCarriesCount_p90",
              "big_chance_conversion",
              "shot_waste_rate",
              "aerial_dominance",
              "press_resistance_fwd",
              "speed_threat",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "expectedAssists",
              "keyPass",
              "rating"
            ],
            "history_matches": 1,
            "data_confidence": 0.312,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "bench_expected_minutes": 26.20735814265611,
            "bench_appearance_prob": 0.6003344610298231,
            "market_value_adjustment": 1.0506,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection scaled from XGBoost F_service (1 historical appearances) to 26.2 expected mins (appearance prob 0.60)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 6 target models",
              "stats": {
                "expected_goals": 0.1979,
                "goal_rate": 0.2508,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.039,
                "key_pass": 0,
                "rating": 6.5832,
                "minutes": 68,
                "total_shots": 1,
                "duels_won": 2,
                "aerial_won": 1,
                "total_pass": 9,
                "accurate_pass": 8,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 17,
                "possession_lost": 5.0,
                "dispossessed": 1.0,
                "duels_lost": 9,
                "aerial_lost": 4,
                "total_contest": 2,
                "won_contest": 1,
                "ball_recovery": 0,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 1,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 6,
                "total_progression": 0,
                "progressive_carries": 0
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0506, quality 0.669)",
              "stats": {
                "expected_goals": 0.2079,
                "goal_rate": 0.2635,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0409,
                "key_pass": 1,
                "rating": 6.916,
                "minutes": 71,
                "total_shots": 1,
                "duels_won": 2,
                "aerial_won": 1,
                "total_pass": 9,
                "accurate_pass": 8,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 18,
                "possession_lost": 5.2528,
                "dispossessed": 1.0506,
                "duels_lost": 9,
                "aerial_lost": 4,
                "total_contest": 2,
                "won_contest": 1,
                "ball_recovery": 0,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 1,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 6,
                "total_progression": 0,
                "progressive_carries": 0
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 26.2 expected minutes (appearance prob 0.60)",
              "stats": {
                "expected_goals": 0.0605,
                "goal_rate": 0.0767,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0119,
                "key_pass": 0,
                "rating": 6.916,
                "minutes": 26,
                "total_shots": 0,
                "duels_won": 1,
                "aerial_won": 0,
                "total_pass": 3,
                "accurate_pass": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 5,
                "possession_lost": 1.5296,
                "dispossessed": 1.0506,
                "duels_lost": 3,
                "aerial_lost": 4,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 2,
                "total_progression": 0,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.6,
                "bench_expected_minutes": 26.21
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.0605,
                "goal_rate": 0.0767,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0119,
                "key_pass": 0,
                "rating": 6.916,
                "minutes": 26,
                "total_shots": 0,
                "duels_won": 1,
                "aerial_won": 0,
                "total_pass": 3,
                "accurate_pass": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 5,
                "possession_lost": 1.5296,
                "dispossessed": 1.0506,
                "duels_lost": 3,
                "aerial_lost": 4,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 2,
                "total_progression": 0,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.6,
                "bench_expected_minutes": 26.21
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.02 (squad xG sum 1.7835, xG scale 0.5719)",
              "stats": {
                "expected_goals": 0.0346,
                "goal_rate": 0.0767,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0119,
                "key_pass": 0,
                "rating": 6.916,
                "minutes": 26,
                "total_shots": 0,
                "duels_won": 1,
                "aerial_won": 0,
                "total_pass": 3,
                "accurate_pass": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 5,
                "possession_lost": 1.5296,
                "dispossessed": 1.0506,
                "duels_lost": 3,
                "aerial_lost": 4,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 2,
                "total_progression": 0,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.6,
                "bench_expected_minutes": 26.21,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.683,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 12, fifa_overall 78.0)",
              "stats": {
                "expected_goals": 0.0346,
                "goal_rate": 0.0767,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0119,
                "key_pass": 0,
                "rating": 6.916,
                "minutes": 26,
                "total_shots": 0,
                "duels_won": 1,
                "aerial_won": 0,
                "total_pass": 3,
                "accurate_pass": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 5,
                "possession_lost": 1.5296,
                "dispossessed": 1.0506,
                "duels_lost": 3,
                "aerial_lost": 4,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 2,
                "total_progression": 0,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.6,
                "bench_expected_minutes": 26.21,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.683,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 78.0
              }
            }
          ]
        }
      },
      "substitutes": {
        "Dominic Solanke": {
          "player_id": 361420,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 19,
          "height": 186,
          "market_value": 31000000,
          "stats": {
            "expected_goals": 0.0194,
            "goal_rate": 0.0361,
            "goals": 0,
            "shots_on_target": 0,
            "expected_assists": 0.0048,
            "key_pass": 0,
            "rating": 6.713,
            "minutes": 26,
            "total_shots": 0,
            "duels_won": 0,
            "aerial_won": 0,
            "total_pass": 0,
            "accurate_pass": 0,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 0,
            "accurate_opp_half_passes": 0,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 2,
            "possession_lost": 0.627,
            "dispossessed": 1.0675,
            "duels_lost": 1,
            "aerial_lost": 2,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "assists": 0,
            "shots_off_target": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "offsides": 1,
            "ball_carries": 0,
            "total_progression": 0,
            "progressive_carries": 0,
            "bench_appearance_probability": 0.61,
            "bench_expected_minutes": 26.43,
            "projected_substitution_order": 1,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 2.683,
            "projected_substitution_game_state_adjustment": 1,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 79.0
          },
          "latest_10_games": [
            {
              "match_id": 16363638.0,
              "match_date": "2026-09-05",
              "home_team": "Nottingham Forest",
              "away_team": "Tottenham Hotspur",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Tottenham Hotspur",
              "opponent": "Nottingham Forest",
              "stats": {
                "minutes": 12,
                "rating": 6.3,
                "assists": 0,
                "expected_goals": 0.1723,
                "expected_assists": 0.0021,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 1,
                "accurate_pass": 1,
                "clearances": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363256.0,
              "match_date": "2026-08-29",
              "home_team": "Tottenham Hotspur",
              "away_team": "Newcastle United",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Tottenham Hotspur",
              "opponent": "Newcastle United",
              "stats": {
                "minutes": 15,
                "rating": 6.4,
                "assists": 0,
                "expected_goals": 0.201,
                "expected_assists": 0.0012,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 1,
                "accurate_pass": 1,
                "duels_won": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363242.0,
              "match_date": "2026-08-22",
              "home_team": "Brentford",
              "away_team": "Tottenham Hotspur",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Tottenham Hotspur",
              "opponent": "Brentford",
              "stats": {
                "minutes": 22,
                "rating": 6.4,
                "assists": 0,
                "expected_goals": 0.0711,
                "total_shots": 1,
                "total_pass": 1,
                "duels_won": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 1075,
            "combined_rank_score": 485.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 112.0,
            "sofascore_rating": 7.4333,
            "sofascore_appearances": 3.0,
            "fifa_rank": 859.0,
            "fifa_overall": 79.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 10,
            "squad_role": "substitute",
            "projected_match_rating": 6.713,
            "source_file": "data/player_rankings.csv",
            "player_name": "Dominic Solanke",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Marius Marin",
                  "ranking": 1070
                },
                {
                  "player_name": "Cha Jun-young",
                  "ranking": 1071
                },
                {
                  "player_name": "Kevin Schade",
                  "ranking": 1072
                },
                {
                  "player_name": "Giorgi Mamardashvili",
                  "ranking": 1073
                },
                {
                  "player_name": "Gonçalo Inácio",
                  "ranking": 1074
                }
              ],
              "lower": [
                {
                  "player_name": "Kim Se-hoon",
                  "ranking": 1076
                },
                {
                  "player_name": "Dodi Lukebakio",
                  "ranking": 1077
                },
                {
                  "player_name": "Davinson Sánchez",
                  "ranking": 1078
                },
                {
                  "player_name": "Robert Sánchez",
                  "ranking": 1079
                },
                {
                  "player_name": "Romelu Lukaku",
                  "ranking": 1080
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.438,
          "history_matches": 3,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "F_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "onTargetScoringAttempt",
              "shotOffTarget",
              "bigChanceMissed",
              "expectedAssists",
              "keyPass",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "touches",
              "dispossessed",
              "wasFouled",
              "topSpeed",
              "numberOfSprints",
              "ballRecovery",
              "possessionLostCtrl",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "shot_accuracy",
              "xg_per_shot",
              "touches_p90",
              "totalShots_p90",
              "duelWon_p90",
              "ballCarriesCount_p90",
              "big_chance_conversion",
              "shot_waste_rate",
              "aerial_dominance",
              "press_resistance_fwd",
              "speed_threat",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "expectedAssists",
              "keyPass",
              "rating"
            ],
            "history_matches": 3,
            "data_confidence": 0.438,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "bench_expected_minutes": 26.430658378070405,
            "bench_appearance_prob": 0.6104844717304728,
            "market_value_adjustment": 1.0675,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection scaled from XGBoost F_service (3 historical appearances) to 26.4 expected mins (appearance prob 0.61)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 6 target models",
              "stats": {
                "expected_goals": 0.1082,
                "goal_rate": 0.1152,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0151,
                "key_pass": 0,
                "rating": 6.2887,
                "minutes": 16,
                "total_shots": 1,
                "duels_won": 1,
                "aerial_won": 1,
                "total_pass": 1,
                "accurate_pass": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 5,
                "possession_lost": 2.0,
                "dispossessed": 1.0,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "assists": 0,
                "shots_off_target": 1,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 1,
                "xgot": 0.0,
                "offsides": 1,
                "ball_carries": 2,
                "total_progression": 0,
                "progressive_carries": 0
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0675, quality 0.725)",
              "stats": {
                "expected_goals": 0.1155,
                "goal_rate": 0.123,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0162,
                "key_pass": 0,
                "rating": 6.713,
                "minutes": 17,
                "total_shots": 2,
                "duels_won": 1,
                "aerial_won": 1,
                "total_pass": 1,
                "accurate_pass": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 5,
                "possession_lost": 2.1349,
                "dispossessed": 1.0675,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "assists": 0,
                "shots_off_target": 1,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 1,
                "xgot": 0.0,
                "offsides": 1,
                "ball_carries": 2,
                "total_progression": 0,
                "progressive_carries": 0
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 26.4 expected minutes (appearance prob 0.61)",
              "stats": {
                "expected_goals": 0.0339,
                "goal_rate": 0.0361,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0048,
                "key_pass": 0,
                "rating": 6.713,
                "minutes": 26,
                "total_shots": 0,
                "duels_won": 0,
                "aerial_won": 0,
                "total_pass": 0,
                "accurate_pass": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 2,
                "possession_lost": 0.627,
                "dispossessed": 1.0675,
                "duels_lost": 1,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 1,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.61,
                "bench_expected_minutes": 26.43
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.0339,
                "goal_rate": 0.0361,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0048,
                "key_pass": 0,
                "rating": 6.713,
                "minutes": 26,
                "total_shots": 0,
                "duels_won": 0,
                "aerial_won": 0,
                "total_pass": 0,
                "accurate_pass": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 2,
                "possession_lost": 0.627,
                "dispossessed": 1.0675,
                "duels_lost": 1,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 1,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.61,
                "bench_expected_minutes": 26.43
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.02 (squad xG sum 1.7835, xG scale 0.5719)",
              "stats": {
                "expected_goals": 0.0194,
                "goal_rate": 0.0361,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0048,
                "key_pass": 0,
                "rating": 6.713,
                "minutes": 26,
                "total_shots": 0,
                "duels_won": 0,
                "aerial_won": 0,
                "total_pass": 0,
                "accurate_pass": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 2,
                "possession_lost": 0.627,
                "dispossessed": 1.0675,
                "duels_lost": 1,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 1,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.61,
                "bench_expected_minutes": 26.43,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.683,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 10, fifa_overall 79.0)",
              "stats": {
                "expected_goals": 0.0194,
                "goal_rate": 0.0361,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0048,
                "key_pass": 0,
                "rating": 6.713,
                "minutes": 26,
                "total_shots": 0,
                "duels_won": 0,
                "aerial_won": 0,
                "total_pass": 0,
                "accurate_pass": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 2,
                "possession_lost": 0.627,
                "dispossessed": 1.0675,
                "duels_lost": 1,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 1,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.61,
                "bench_expected_minutes": 26.43,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.683,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 79.0
              }
            }
          ]
        },
        "Richarlison": {
          "player_id": 840217,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 9,
          "height": 184,
          "market_value": 24000000,
          "stats": {
            "expected_goals": 0.0346,
            "goal_rate": 0.0767,
            "goals": 0,
            "shots_on_target": 0,
            "expected_assists": 0.0119,
            "key_pass": 0,
            "rating": 6.916,
            "minutes": 26,
            "total_shots": 0,
            "duels_won": 1,
            "aerial_won": 0,
            "total_pass": 3,
            "accurate_pass": 2,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 2,
            "accurate_opp_half_passes": 2,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 5,
            "possession_lost": 1.5296,
            "dispossessed": 1.0506,
            "duels_lost": 3,
            "aerial_lost": 4,
            "total_contest": 1,
            "won_contest": 0,
            "ball_recovery": 0,
            "challenges_lost": 1,
            "fouls": 1,
            "fouls_drawn": 0,
            "assists": 0,
            "shots_off_target": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "offsides": 0,
            "ball_carries": 2,
            "total_progression": 0,
            "progressive_carries": 0,
            "bench_appearance_probability": 0.6,
            "bench_expected_minutes": 26.21,
            "projected_substitution_order": 2,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 2.683,
            "projected_substitution_game_state_adjustment": 1,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 78.0
          },
          "latest_10_games": [
            {
              "match_id": 16363242.0,
              "match_date": "2026-08-22",
              "home_team": "Brentford",
              "away_team": "Tottenham Hotspur",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Tottenham Hotspur",
              "opponent": "Brentford",
              "stats": {
                "minutes": 68,
                "rating": 6.1,
                "assists": 0,
                "expected_assists": 0.0038,
                "total_shots": 0,
                "total_pass": 9,
                "accurate_pass": 8,
                "clearances": 1,
                "duels_won": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 2109,
            "combined_rank_score": 800.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 509.0,
            "sofascore_rating": 6.8531,
            "sofascore_appearances": 32.0,
            "fifa_rank": 1091.0,
            "fifa_overall": 78.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 12,
            "squad_role": "substitute",
            "projected_match_rating": 6.916,
            "source_file": "data/player_rankings.csv",
            "player_name": "Richarlison",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Chris Long",
                  "ranking": 2104
                },
                {
                  "player_name": "Richard Ríos",
                  "ranking": 2105
                },
                {
                  "player_name": "Abdel Rahim",
                  "ranking": 2106
                },
                {
                  "player_name": "Matthew Sheridan",
                  "ranking": 2107
                },
                {
                  "player_name": "Lewis Miley",
                  "ranking": 2108
                }
              ],
              "lower": [
                {
                  "player_name": "Antonio Díaz",
                  "ranking": 2110
                },
                {
                  "player_name": "Cristian Palacios",
                  "ranking": 2111
                },
                {
                  "player_name": "Han-gil Kim",
                  "ranking": 2112
                },
                {
                  "player_name": "Sardor Abduraimov",
                  "ranking": 2113
                },
                {
                  "player_name": "Alou Kuol",
                  "ranking": 2114
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.312,
          "history_matches": 1,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "F_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "onTargetScoringAttempt",
              "shotOffTarget",
              "bigChanceMissed",
              "expectedAssists",
              "keyPass",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "touches",
              "dispossessed",
              "wasFouled",
              "topSpeed",
              "numberOfSprints",
              "ballRecovery",
              "possessionLostCtrl",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "shot_accuracy",
              "xg_per_shot",
              "touches_p90",
              "totalShots_p90",
              "duelWon_p90",
              "ballCarriesCount_p90",
              "big_chance_conversion",
              "shot_waste_rate",
              "aerial_dominance",
              "press_resistance_fwd",
              "speed_threat",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "expectedAssists",
              "keyPass",
              "rating"
            ],
            "history_matches": 1,
            "data_confidence": 0.312,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "bench_expected_minutes": 26.20735814265611,
            "bench_appearance_prob": 0.6003344610298231,
            "market_value_adjustment": 1.0506,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection scaled from XGBoost F_service (1 historical appearances) to 26.2 expected mins (appearance prob 0.60)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 6 target models",
              "stats": {
                "expected_goals": 0.1979,
                "goal_rate": 0.2508,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.039,
                "key_pass": 0,
                "rating": 6.5832,
                "minutes": 68,
                "total_shots": 1,
                "duels_won": 2,
                "aerial_won": 1,
                "total_pass": 9,
                "accurate_pass": 8,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 17,
                "possession_lost": 5.0,
                "dispossessed": 1.0,
                "duels_lost": 9,
                "aerial_lost": 4,
                "total_contest": 2,
                "won_contest": 1,
                "ball_recovery": 0,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 1,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 6,
                "total_progression": 0,
                "progressive_carries": 0
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0506, quality 0.669)",
              "stats": {
                "expected_goals": 0.2079,
                "goal_rate": 0.2635,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0409,
                "key_pass": 1,
                "rating": 6.916,
                "minutes": 71,
                "total_shots": 1,
                "duels_won": 2,
                "aerial_won": 1,
                "total_pass": 9,
                "accurate_pass": 8,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 18,
                "possession_lost": 5.2528,
                "dispossessed": 1.0506,
                "duels_lost": 9,
                "aerial_lost": 4,
                "total_contest": 2,
                "won_contest": 1,
                "ball_recovery": 0,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 1,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 6,
                "total_progression": 0,
                "progressive_carries": 0
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 26.2 expected minutes (appearance prob 0.60)",
              "stats": {
                "expected_goals": 0.0605,
                "goal_rate": 0.0767,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0119,
                "key_pass": 0,
                "rating": 6.916,
                "minutes": 26,
                "total_shots": 0,
                "duels_won": 1,
                "aerial_won": 0,
                "total_pass": 3,
                "accurate_pass": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 5,
                "possession_lost": 1.5296,
                "dispossessed": 1.0506,
                "duels_lost": 3,
                "aerial_lost": 4,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 2,
                "total_progression": 0,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.6,
                "bench_expected_minutes": 26.21
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.0605,
                "goal_rate": 0.0767,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0119,
                "key_pass": 0,
                "rating": 6.916,
                "minutes": 26,
                "total_shots": 0,
                "duels_won": 1,
                "aerial_won": 0,
                "total_pass": 3,
                "accurate_pass": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 5,
                "possession_lost": 1.5296,
                "dispossessed": 1.0506,
                "duels_lost": 3,
                "aerial_lost": 4,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 2,
                "total_progression": 0,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.6,
                "bench_expected_minutes": 26.21
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.02 (squad xG sum 1.7835, xG scale 0.5719)",
              "stats": {
                "expected_goals": 0.0346,
                "goal_rate": 0.0767,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0119,
                "key_pass": 0,
                "rating": 6.916,
                "minutes": 26,
                "total_shots": 0,
                "duels_won": 1,
                "aerial_won": 0,
                "total_pass": 3,
                "accurate_pass": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 5,
                "possession_lost": 1.5296,
                "dispossessed": 1.0506,
                "duels_lost": 3,
                "aerial_lost": 4,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 2,
                "total_progression": 0,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.6,
                "bench_expected_minutes": 26.21,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.683,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 12, fifa_overall 78.0)",
              "stats": {
                "expected_goals": 0.0346,
                "goal_rate": 0.0767,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0119,
                "key_pass": 0,
                "rating": 6.916,
                "minutes": 26,
                "total_shots": 0,
                "duels_won": 1,
                "aerial_won": 0,
                "total_pass": 3,
                "accurate_pass": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 5,
                "possession_lost": 1.5296,
                "dispossessed": 1.0506,
                "duels_lost": 3,
                "aerial_lost": 4,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 2,
                "total_progression": 0,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.6,
                "bench_expected_minutes": 26.21,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.683,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 78.0
              }
            }
          ]
        },
        "Mohammed Kudus": {
          "player_id": 905163,
          "position": "M",
          "position_depth": "M_BENCH",
          "is_starter": false,
          "shirt_number": 20,
          "height": 176,
          "market_value": 54000000,
          "stats": {
            "key_pass": 0,
            "expected_assists": 0.0229,
            "assists": 0,
            "expected_goals": 0.0066,
            "rating": 7.5312,
            "minutes": 24,
            "total_pass": 3,
            "accurate_pass": 3,
            "ball_recovery": 1,
            "duels_won": 1,
            "total_shots": 0,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_own_half_passes": 1,
            "accurate_own_half_passes": 1,
            "total_opp_half_passes": 2,
            "accurate_opp_half_passes": 2,
            "crosses_total": 1,
            "crosses_accurate": 0,
            "touches": 6,
            "possession_lost": 2.5936,
            "dispossessed": 1.1011,
            "duels_lost": 1,
            "aerial_won": 0,
            "aerial_lost": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "total_contest": 1,
            "won_contest": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 1,
            "goal_rate": 0.0,
            "goals": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "ball_carries": 3,
            "total_progression": 18,
            "progressive_carries": 1,
            "bench_appearance_probability": 0.571,
            "bench_expected_minutes": 23.55,
            "projected_substitution_order": 3,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 2.683,
            "projected_substitution_game_state_adjustment": 1,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 81.0
          },
          "latest_10_games": [
            {
              "match_id": 16363638.0,
              "match_date": "2026-09-05",
              "home_team": "Nottingham Forest",
              "away_team": "Tottenham Hotspur",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Tottenham Hotspur",
              "opponent": "Nottingham Forest",
              "stats": {
                "minutes": 29,
                "rating": 7.0,
                "assists": 0,
                "expected_assists": 0.1574,
                "total_shots": 0,
                "total_pass": 8,
                "accurate_pass": 8,
                "key_pass": 1,
                "duels_won": 5,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363256.0,
              "match_date": "2026-08-29",
              "home_team": "Tottenham Hotspur",
              "away_team": "Newcastle United",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Tottenham Hotspur",
              "opponent": "Newcastle United",
              "stats": {
                "minutes": 22,
                "rating": 6.5,
                "assists": 0,
                "expected_goals": 0.0382,
                "expected_assists": 0.0124,
                "total_shots": 1,
                "total_pass": 14,
                "accurate_pass": 12,
                "duels_won": 1,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 1011,
            "combined_rank_score": 447.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 382.0,
            "sofascore_rating": 6.96,
            "sofascore_appearances": 5.0,
            "fifa_rank": 512.0,
            "fifa_overall": 81.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 4,
            "squad_role": "substitute",
            "projected_match_rating": 7.5312,
            "source_file": "data/player_rankings.csv",
            "player_name": "Mohammed Kudus",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Uğurcan Çakır",
                  "ranking": 1006
                },
                {
                  "player_name": "Ronald Araújo",
                  "ranking": 1007
                },
                {
                  "player_name": "Adrien Truffert",
                  "ranking": 1008
                },
                {
                  "player_name": "Nicolás González",
                  "ranking": 1009
                },
                {
                  "player_name": "Alejandro Francés",
                  "ranking": 1010
                }
              ],
              "lower": [
                {
                  "player_name": "Nicolas Seiwald",
                  "ranking": 1012
                },
                {
                  "player_name": "Mateus Fernandes",
                  "ranking": 1013
                },
                {
                  "player_name": "Amad Diallo",
                  "ranking": 1014
                },
                {
                  "player_name": "Dani Parejo",
                  "ranking": 1015
                },
                {
                  "player_name": "Giovanni Di Lorenzo",
                  "ranking": 1016
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.375,
          "history_matches": 2,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "M_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "keyPass",
              "expectedAssists",
              "totalCross",
              "accurateCross",
              "duelWon",
              "duelLost",
              "aerialWon",
              "ballRecovery",
              "touches",
              "interceptionWon",
              "wonTackle",
              "possessionLostCtrl",
              "dispossessed",
              "numberOfSprints",
              "kilometersCovered",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "creative_index",
              "touches_p90",
              "totalPass_p90",
              "keyPass_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "ballCarriesCount_p90",
              "creative_efficiency",
              "cross_accuracy",
              "cross_creative_contribution",
              "defensive_midfield_actions",
              "press_vulnerability",
              "progressive_carries_p90",
              "intensity_index",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "rating"
            ],
            "history_matches": 2,
            "data_confidence": 0.375,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "bench_expected_minutes": 23.554625510014294,
            "bench_appearance_prob": 0.5706647959097406,
            "market_value_adjustment": 1.1011,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection scaled from XGBoost M_service (2 historical appearances) to 23.6 expected mins (appearance prob 0.57)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 5 target models",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0794,
                "assists": 0,
                "expected_goals": 0.0398,
                "rating": 6.8397,
                "minutes": 26,
                "total_pass": 11,
                "accurate_pass": 10,
                "ball_recovery": 2,
                "duels_won": 3,
                "total_shots": 0,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 4,
                "accurate_own_half_passes": 4,
                "total_opp_half_passes": 8,
                "accurate_opp_half_passes": 6,
                "crosses_total": 4,
                "crosses_accurate": 1,
                "touches": 22,
                "possession_lost": 9.0,
                "dispossessed": 1.0,
                "duels_lost": 2,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 2,
                "won_contest": 2,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 3,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 11,
                "total_progression": 61,
                "progressive_carries": 3
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.1011, quality 0.837)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0874,
                "assists": 0,
                "expected_goals": 0.0438,
                "rating": 7.5312,
                "minutes": 28,
                "total_pass": 12,
                "accurate_pass": 11,
                "ball_recovery": 3,
                "duels_won": 3,
                "total_shots": 1,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 4,
                "accurate_own_half_passes": 4,
                "total_opp_half_passes": 8,
                "accurate_opp_half_passes": 7,
                "crosses_total": 5,
                "crosses_accurate": 1,
                "touches": 25,
                "possession_lost": 9.91,
                "dispossessed": 1.1011,
                "duels_lost": 2,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 2,
                "won_contest": 2,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 3,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 12,
                "total_progression": 68,
                "progressive_carries": 3
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 23.6 expected minutes (appearance prob 0.57)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0229,
                "assists": 0,
                "expected_goals": 0.0115,
                "rating": 7.5312,
                "minutes": 24,
                "total_pass": 3,
                "accurate_pass": 3,
                "ball_recovery": 1,
                "duels_won": 1,
                "total_shots": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 2,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 6,
                "possession_lost": 2.5936,
                "dispossessed": 1.1011,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 1,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 3,
                "total_progression": 18,
                "progressive_carries": 1,
                "bench_appearance_probability": 0.571,
                "bench_expected_minutes": 23.55
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0229,
                "assists": 0,
                "expected_goals": 0.0115,
                "rating": 7.5312,
                "minutes": 24,
                "total_pass": 3,
                "accurate_pass": 3,
                "ball_recovery": 1,
                "duels_won": 1,
                "total_shots": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 2,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 6,
                "possession_lost": 2.5936,
                "dispossessed": 1.1011,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 1,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 3,
                "total_progression": 18,
                "progressive_carries": 1,
                "bench_appearance_probability": 0.571,
                "bench_expected_minutes": 23.55
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.02 (squad xG sum 1.7835, xG scale 0.5719)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0229,
                "assists": 0,
                "expected_goals": 0.0066,
                "rating": 7.5312,
                "minutes": 24,
                "total_pass": 3,
                "accurate_pass": 3,
                "ball_recovery": 1,
                "duels_won": 1,
                "total_shots": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 2,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 6,
                "possession_lost": 2.5936,
                "dispossessed": 1.1011,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 1,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 3,
                "total_progression": 18,
                "progressive_carries": 1,
                "bench_appearance_probability": 0.571,
                "bench_expected_minutes": 23.55,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.683,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 4, fifa_overall 81.0)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0229,
                "assists": 0,
                "expected_goals": 0.0066,
                "rating": 7.5312,
                "minutes": 24,
                "total_pass": 3,
                "accurate_pass": 3,
                "ball_recovery": 1,
                "duels_won": 1,
                "total_shots": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 2,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 6,
                "possession_lost": 2.5936,
                "dispossessed": 1.1011,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 1,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 3,
                "total_progression": 18,
                "progressive_carries": 1,
                "bench_appearance_probability": 0.571,
                "bench_expected_minutes": 23.55,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.683,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 81.0
              }
            }
          ]
        },
        "Xavi Simons": {
          "player_id": 997183,
          "position": "M",
          "position_depth": "M_BENCH",
          "is_starter": false,
          "shirt_number": 7,
          "height": 179,
          "market_value": 43000000,
          "stats": {
            "key_pass": 1,
            "assists": 0,
            "expected_assists": 0.0533,
            "expected_goals": 0.0194,
            "total_shots": 0,
            "total_pass": 17,
            "accurate_pass": 14,
            "ball_recovery": 2,
            "duels_won": 2,
            "rating": 7.4,
            "minutes": 23,
            "total_long_balls": 2,
            "accurate_long_balls": 1,
            "total_own_half_passes": 7,
            "accurate_own_half_passes": 5,
            "total_opp_half_passes": 7,
            "accurate_opp_half_passes": 5,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 20,
            "possession_lost": 2.7549,
            "dispossessed": 1.0,
            "duels_lost": 1,
            "aerial_won": 0,
            "aerial_lost": 1,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 1,
            "clearances": 0,
            "total_contest": 1,
            "won_contest": 1,
            "challenges_lost": 2,
            "fouls": 1,
            "fouls_drawn": 0,
            "goal_rate": 0.026,
            "goals": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0234,
            "ball_carries": 10,
            "total_progression": 27,
            "progressive_carries": 2,
            "bench_appearance_probability": 0.563,
            "bench_expected_minutes": 23.39,
            "projected_substitution_order": 4,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 2.683,
            "projected_substitution_game_state_adjustment": 1,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 81.0
          },
          "latest_10_games": [],
          "ranking": {
            "global_player_rank": 654,
            "combined_rank_score": 331.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 149.0,
            "sofascore_rating": 7.3167,
            "sofascore_appearances": 6.0,
            "fifa_rank": 513.0,
            "fifa_overall": 81.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 7,
            "squad_role": "substitute",
            "projected_match_rating": 7.4,
            "source_file": "data/player_rankings.csv",
            "player_name": "Xavi Simons",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Dieter Villalpando",
                  "ranking": 649
                },
                {
                  "player_name": "Kim Kang-San",
                  "ranking": 650
                },
                {
                  "player_name": "Jan Bednarek",
                  "ranking": 651
                },
                {
                  "player_name": "Dayot Upamecano",
                  "ranking": 652
                },
                {
                  "player_name": "Jan Paul van Hecke",
                  "ranking": 653
                }
              ],
              "lower": [
                {
                  "player_name": "Azizbek Turgunboev",
                  "ranking": 655
                },
                {
                  "player_name": "Gabriel Tigrão",
                  "ranking": 656
                },
                {
                  "player_name": "Nicolás Montiel",
                  "ranking": 657
                },
                {
                  "player_name": "Orkun Kökçü",
                  "ranking": 658
                },
                {
                  "player_name": "Keon-woo Bak",
                  "ranking": 659
                }
              ]
            }
          },
          "data_sources": [
            "market_value"
          ],
          "data_confidence": 0.25,
          "history_matches": 0,
          "xgboost_reasoning": {
            "model_source": "market_value_prior",
            "position_service": "M_service",
            "features_evaluated": [],
            "targets_predicted": [],
            "history_matches": 0,
            "data_confidence": 0.25,
            "data_sources": [
              "market_value"
            ],
            "bench_expected_minutes": 23.390848356448757,
            "bench_appearance_prob": 0.5632203798385798,
            "market_value_adjustment": 0.7957,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection from market-value prior (€43,000,000) scaled to 23.4 expected mins."
          },
          "stat_evolution": [
            {
              "step": "market_value_prior",
              "description": "Market-value baseline for position M (quality 0.80)",
              "stats": {
                "key_pass": 2,
                "assists": 0,
                "expected_assists": 0.205,
                "expected_goals": 0.131,
                "total_shots": 2,
                "total_pass": 65,
                "accurate_pass": 53,
                "ball_recovery": 7,
                "duels_won": 8,
                "rating": 7.4,
                "minutes": 90,
                "total_long_balls": 6,
                "accurate_long_balls": 3,
                "total_own_half_passes": 26,
                "accurate_own_half_passes": 21,
                "total_opp_half_passes": 26,
                "accurate_opp_half_passes": 20,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 78,
                "possession_lost": 10.6,
                "dispossessed": 1.0,
                "duels_lost": 5,
                "aerial_won": 2,
                "aerial_lost": 1,
                "interceptions": 2,
                "tackles_won": 2,
                "tackles": 3,
                "clearances": 1,
                "total_contest": 5,
                "won_contest": 3,
                "challenges_lost": 2,
                "fouls": 2,
                "fouls_drawn": 2,
                "goal_rate": 0.1,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.09,
                "ball_carries": 39,
                "total_progression": 104,
                "progressive_carries": 9
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 23.4 expected minutes (appearance prob 0.56)",
              "stats": {
                "key_pass": 1,
                "assists": 0,
                "expected_assists": 0.0533,
                "expected_goals": 0.034,
                "total_shots": 0,
                "total_pass": 17,
                "accurate_pass": 14,
                "ball_recovery": 2,
                "duels_won": 2,
                "rating": 7.4,
                "minutes": 23,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 5,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 20,
                "possession_lost": 2.7549,
                "dispossessed": 1.0,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 0,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 0,
                "goal_rate": 0.026,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0234,
                "ball_carries": 10,
                "total_progression": 27,
                "progressive_carries": 2,
                "bench_appearance_probability": 0.563,
                "bench_expected_minutes": 23.39
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 1,
                "assists": 0,
                "expected_assists": 0.0533,
                "expected_goals": 0.034,
                "total_shots": 0,
                "total_pass": 17,
                "accurate_pass": 14,
                "ball_recovery": 2,
                "duels_won": 2,
                "rating": 7.4,
                "minutes": 23,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 5,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 20,
                "possession_lost": 2.7549,
                "dispossessed": 1.0,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 0,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 0,
                "goal_rate": 0.026,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0234,
                "ball_carries": 10,
                "total_progression": 27,
                "progressive_carries": 2,
                "bench_appearance_probability": 0.563,
                "bench_expected_minutes": 23.39
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.02 (squad xG sum 1.7835, xG scale 0.5719)",
              "stats": {
                "key_pass": 1,
                "assists": 0,
                "expected_assists": 0.0533,
                "expected_goals": 0.0194,
                "total_shots": 0,
                "total_pass": 17,
                "accurate_pass": 14,
                "ball_recovery": 2,
                "duels_won": 2,
                "rating": 7.4,
                "minutes": 23,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 5,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 20,
                "possession_lost": 2.7549,
                "dispossessed": 1.0,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 0,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 0,
                "goal_rate": 0.026,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0234,
                "ball_carries": 10,
                "total_progression": 27,
                "progressive_carries": 2,
                "bench_appearance_probability": 0.563,
                "bench_expected_minutes": 23.39,
                "projected_substitution_order": 4,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.683,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 7, fifa_overall 81.0)",
              "stats": {
                "key_pass": 1,
                "assists": 0,
                "expected_assists": 0.0533,
                "expected_goals": 0.0194,
                "total_shots": 0,
                "total_pass": 17,
                "accurate_pass": 14,
                "ball_recovery": 2,
                "duels_won": 2,
                "rating": 7.4,
                "minutes": 23,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 5,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 20,
                "possession_lost": 2.7549,
                "dispossessed": 1.0,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 0,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 0,
                "goal_rate": 0.026,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0234,
                "ball_carries": 10,
                "total_progression": 27,
                "progressive_carries": 2,
                "bench_appearance_probability": 0.563,
                "bench_expected_minutes": 23.39,
                "projected_substitution_order": 4,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.683,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 81.0
              }
            }
          ]
        }
      },
      "team_totals": {
        "projected_goals": 0,
        "expected_goals": 1.02,
        "expected_assists": 0.9,
        "total_shots": 19,
        "shots_on_target": 5,
        "total_passes": 507,
        "interceptions": 7,
        "tackles": 15,
        "avg_rating": 7.37,
        "possession_estimated_pct": 50.7,
        "pressing_actions_per_90": 8.4
      }
    },
    "Everton": {
      "formation": "4-2-3-1",
      "players": {
        "Jordan Pickford": {
          "player_id": 138530,
          "position": "G",
          "position_depth": "G",
          "is_starter": true,
          "shirt_number": 1,
          "height": 185,
          "market_value": 13900000,
          "stats": {
            "saves": 3,
            "goals_prevented": 0.0,
            "rating": 6.9436,
            "minutes": 92,
            "total_pass": 37,
            "accurate_pass": 22,
            "total_long_balls": 20,
            "accurate_long_balls": 5,
            "touches": 48,
            "clearances": 4,
            "ball_recovery": 12,
            "high_claims": 1,
            "punches": 3.0604,
            "aerial_won": 0,
            "sweeper_actions": 1,
            "sweeper_accurate": 1,
            "saves_inside_box": 3,
            "possession_lost": 14.6184,
            "duels_won": 3,
            "duels_lost": 0,
            "total_contest": 0,
            "won_contest": 0,
            "fouls": 0,
            "fouls_drawn": 3,
            "total_own_half_passes": 20,
            "accurate_own_half_passes": 19,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "total_shots": 0,
            "shots_on_target": 0,
            "goalsAgainst": 0.5,
            "shotsOnTargetAgainst": 4.5,
            "cleanSheets": 0.5,
            "interceptions": 0,
            "tackles_won": 0,
            "crosses_total": 0,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "penaltySave": 0.0,
            "ownGoals": 0.0,
            "savePct": 88.9,
            "cleanSheetPct": 50.0,
            "minutesPct": 100.0,
            "pointsPerMatch": 2.0,
            "netGoalDifferencePer90": 1.0,
            "expected_saves": 1.02,
            "high_pressure_saves": 0.39,
            "shots_faced": 2.2,
            "opponent_faced": "Omar Marmoush, Sávio",
            "matchup_zone": "Goalkeeper shot-stopping context",
            "antagonist_source": "defensive_duel",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "expected_goals": 0.0,
            "expected_assists": 0.0,
            "fifa_overall": 85.0
          },
          "latest_10_games": [
            {
              "match_id": 16363259.0,
              "match_date": "2026-09-06",
              "home_team": "Everton",
              "away_team": "Manchester United",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Everton",
              "opponent": "Manchester United",
              "stats": {
                "minutes": 90,
                "rating": 5.8,
                "assists": 0,
                "expected_assists": 0.0032,
                "total_shots": 0,
                "total_pass": 41,
                "accurate_pass": 31,
                "ball_recovery": 12,
                "saves": 1,
                "goals_prevented": -1.067
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363247.0,
              "match_date": "2026-08-29",
              "home_team": "Bournemouth",
              "away_team": "Everton",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Everton",
              "opponent": "Bournemouth",
              "stats": {
                "minutes": 90,
                "rating": 7.3,
                "assists": 0,
                "expected_assists": 0.0002,
                "total_shots": 0,
                "total_pass": 32,
                "accurate_pass": 13,
                "clearances": 4,
                "duels_won": 3,
                "ball_recovery": 11,
                "saves": 4,
                "goals_prevented": 0.8975
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363635.0,
              "match_date": "2026-08-22",
              "home_team": "Everton",
              "away_team": "Crystal Palace",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Everton",
              "opponent": "Crystal Palace",
              "stats": {
                "minutes": 90,
                "rating": 8.2,
                "assists": 0,
                "expected_assists": 0.0164,
                "total_shots": 0,
                "total_pass": 35,
                "accurate_pass": 21,
                "ball_recovery": 12,
                "saves": 4,
                "goals_prevented": 0.9406
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 96,
            "combined_rank_score": 93.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 49.0,
            "sofascore_rating": 7.75,
            "sofascore_appearances": 2.0,
            "fifa_rank": 137.0,
            "fifa_overall": 85.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 15,
            "squad_role": "starter",
            "projected_match_rating": 6.9436,
            "source_file": "data/player_rankings.csv",
            "player_name": "Jordan Pickford",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Abduvokhid Nematov",
                  "ranking": 91
                },
                {
                  "player_name": "Ignacio Suárez",
                  "ranking": 92
                },
                {
                  "player_name": "Carlos Dotor",
                  "ranking": 93
                },
                {
                  "player_name": "Cristhian Martínez",
                  "ranking": 94
                },
                {
                  "player_name": "Luka Stankovski",
                  "ranking": 95
                }
              ],
              "lower": [
                {
                  "player_name": "Luke Brattan",
                  "ranking": 97
                },
                {
                  "player_name": "Moisés Caicedo",
                  "ranking": 98
                },
                {
                  "player_name": "Danrlei",
                  "ranking": 99
                },
                {
                  "player_name": "Bruno Guimarães",
                  "ranking": 100
                },
                {
                  "player_name": "Sandro Tonali",
                  "ranking": 101
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.457,
          "history_matches": 3,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "G_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalLongBalls",
              "accurateLongBalls",
              "totalOwnHalfPasses",
              "accurateOwnHalfPasses",
              "saves",
              "savedShotsFromInsideTheBox",
              "goodHighClaim",
              "punches",
              "aerialWon",
              "totalKeeperSweeper",
              "accurateKeeperSweeper",
              "totalClearance",
              "ballRecovery",
              "touches",
              "possessionLostCtrl",
              "kilometersCovered",
              "passValueNormalized",
              "defensiveValueNormalized",
              "goalkeeperValueNormalized",
              "pass_accuracy",
              "long_ball_accuracy",
              "save_contribution",
              "inside_box_save_rate",
              "sweeper_accuracy",
              "sweeper_actions_p90",
              "distribution_accuracy",
              "commanding_index",
              "gk_coverage",
              "history_matches"
            ],
            "targets_predicted": [
              "saves",
              "goalsPrevented",
              "rating"
            ],
            "history_matches": 3,
            "data_confidence": 0.457,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.0201,
            "fbref_prior_metrics": {
              "squad": "Everton",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 2.0,
              "minutes": 180.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 0.0,
              "prior_reliability": 0.1333
            },
            "rationale": "XGBoost regressor (G_service) evaluated 3 historical appearances across 3 target models; FBref 2026-2027 prior blended (Premier League, Everton, rel: 0.13, gls/90: 0.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost G_service raw output over 3 target models",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0,
                "rating": 6.8067,
                "minutes": 90,
                "total_pass": 36,
                "accurate_pass": 22,
                "total_long_balls": 20,
                "accurate_long_balls": 5,
                "touches": 47,
                "clearances": 4,
                "ball_recovery": 12,
                "high_claims": 1,
                "punches": 3.0,
                "aerial_won": 0,
                "sweeper_actions": 1,
                "sweeper_accurate": 1,
                "saves_inside_box": 3,
                "possession_lost": 14.33,
                "duels_won": 3,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 3,
                "total_own_half_passes": 19,
                "accurate_own_half_passes": 18
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0201, quality 0.567)",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0,
                "rating": 6.9436,
                "minutes": 92,
                "total_pass": 37,
                "accurate_pass": 22,
                "total_long_balls": 20,
                "accurate_long_balls": 5,
                "touches": 48,
                "clearances": 4,
                "ball_recovery": 12,
                "high_claims": 1,
                "punches": 3.0604,
                "aerial_won": 0,
                "sweeper_actions": 1,
                "sweeper_accurate": 1,
                "saves_inside_box": 3,
                "possession_lost": 14.6184,
                "duels_won": 3,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 3,
                "total_own_half_passes": 20,
                "accurate_own_half_passes": 19
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0542)",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0,
                "rating": 6.9436,
                "minutes": 92,
                "total_pass": 37,
                "accurate_pass": 22,
                "total_long_balls": 20,
                "accurate_long_balls": 5,
                "touches": 48,
                "clearances": 4,
                "ball_recovery": 12,
                "high_claims": 1,
                "punches": 3.0604,
                "aerial_won": 0,
                "sweeper_actions": 1,
                "sweeper_accurate": 1,
                "saves_inside_box": 3,
                "possession_lost": 14.6184,
                "duels_won": 3,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 3,
                "total_own_half_passes": 20,
                "accurate_own_half_passes": 19,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 0.5,
                "shotsOnTargetAgainst": 4.5,
                "cleanSheets": 0.5,
                "interceptions": 0,
                "tackles_won": 0,
                "crosses_total": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "penaltySave": 0.0,
                "ownGoals": 0.0,
                "savePct": 88.9,
                "cleanSheetPct": 50.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 1.0
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0,
                "rating": 6.9436,
                "minutes": 92,
                "total_pass": 37,
                "accurate_pass": 22,
                "total_long_balls": 20,
                "accurate_long_balls": 5,
                "touches": 48,
                "clearances": 4,
                "ball_recovery": 12,
                "high_claims": 1,
                "punches": 3.0604,
                "aerial_won": 0,
                "sweeper_actions": 1,
                "sweeper_accurate": 1,
                "saves_inside_box": 3,
                "possession_lost": 14.6184,
                "duels_won": 3,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 3,
                "total_own_half_passes": 20,
                "accurate_own_half_passes": 19,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 0.5,
                "shotsOnTargetAgainst": 4.5,
                "cleanSheets": 0.5,
                "interceptions": 0,
                "tackles_won": 0,
                "crosses_total": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "penaltySave": 0.0,
                "ownGoals": 0.0,
                "savePct": 88.9,
                "cleanSheetPct": 50.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 1.0
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0,
                "rating": 6.9436,
                "minutes": 92,
                "total_pass": 37,
                "accurate_pass": 22,
                "total_long_balls": 20,
                "accurate_long_balls": 5,
                "touches": 48,
                "clearances": 4,
                "ball_recovery": 12,
                "high_claims": 1,
                "punches": 3.0604,
                "aerial_won": 0,
                "sweeper_actions": 1,
                "sweeper_accurate": 1,
                "saves_inside_box": 3,
                "possession_lost": 14.6184,
                "duels_won": 3,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 3,
                "total_own_half_passes": 20,
                "accurate_own_half_passes": 19,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 0.5,
                "shotsOnTargetAgainst": 4.5,
                "cleanSheets": 0.5,
                "interceptions": 0,
                "tackles_won": 0,
                "crosses_total": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "penaltySave": 0.0,
                "ownGoals": 0.0,
                "savePct": 88.9,
                "cleanSheetPct": 50.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 1.0,
                "expected_saves": 1.02,
                "high_pressure_saves": 0.39,
                "shots_faced": 2.2,
                "opponent_faced": "Omar Marmoush, Sávio",
                "matchup_zone": "Goalkeeper shot-stopping context",
                "antagonist_source": "defensive_duel"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.11 (squad xG sum 1.2008, xG scale 0.9260)",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0,
                "rating": 6.9436,
                "minutes": 92,
                "total_pass": 37,
                "accurate_pass": 22,
                "total_long_balls": 20,
                "accurate_long_balls": 5,
                "touches": 48,
                "clearances": 4,
                "ball_recovery": 12,
                "high_claims": 1,
                "punches": 3.0604,
                "aerial_won": 0,
                "sweeper_actions": 1,
                "sweeper_accurate": 1,
                "saves_inside_box": 3,
                "possession_lost": 14.6184,
                "duels_won": 3,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 3,
                "total_own_half_passes": 20,
                "accurate_own_half_passes": 19,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 0.5,
                "shotsOnTargetAgainst": 4.5,
                "cleanSheets": 0.5,
                "interceptions": 0,
                "tackles_won": 0,
                "crosses_total": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "penaltySave": 0.0,
                "ownGoals": 0.0,
                "savePct": 88.9,
                "cleanSheetPct": 50.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 1.0,
                "expected_saves": 1.02,
                "high_pressure_saves": 0.39,
                "shots_faced": 2.2,
                "opponent_faced": "Omar Marmoush, Sávio",
                "matchup_zone": "Goalkeeper shot-stopping context",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "expected_goals": 0.0,
                "expected_assists": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 15, fifa_overall 85.0)",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0,
                "rating": 6.9436,
                "minutes": 92,
                "total_pass": 37,
                "accurate_pass": 22,
                "total_long_balls": 20,
                "accurate_long_balls": 5,
                "touches": 48,
                "clearances": 4,
                "ball_recovery": 12,
                "high_claims": 1,
                "punches": 3.0604,
                "aerial_won": 0,
                "sweeper_actions": 1,
                "sweeper_accurate": 1,
                "saves_inside_box": 3,
                "possession_lost": 14.6184,
                "duels_won": 3,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 3,
                "total_own_half_passes": 20,
                "accurate_own_half_passes": 19,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 0.5,
                "shotsOnTargetAgainst": 4.5,
                "cleanSheets": 0.5,
                "interceptions": 0,
                "tackles_won": 0,
                "crosses_total": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "penaltySave": 0.0,
                "ownGoals": 0.0,
                "savePct": 88.9,
                "cleanSheetPct": 50.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 1.0,
                "expected_saves": 1.02,
                "high_pressure_saves": 0.39,
                "shots_faced": 2.2,
                "opponent_faced": "Omar Marmoush, Sávio",
                "matchup_zone": "Goalkeeper shot-stopping context",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "fifa_overall": 85.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0,
                "rating": 6.9436,
                "minutes": 92,
                "total_pass": 37,
                "accurate_pass": 22,
                "total_long_balls": 20,
                "accurate_long_balls": 5,
                "touches": 48,
                "clearances": 4,
                "ball_recovery": 12,
                "high_claims": 1,
                "punches": 3.0604,
                "aerial_won": 0,
                "sweeper_actions": 1,
                "sweeper_accurate": 1,
                "saves_inside_box": 3,
                "possession_lost": 14.6184,
                "duels_won": 3,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 3,
                "total_own_half_passes": 20,
                "accurate_own_half_passes": 19,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 0.5,
                "shotsOnTargetAgainst": 4.5,
                "cleanSheets": 0.5,
                "interceptions": 0,
                "tackles_won": 0,
                "crosses_total": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "penaltySave": 0.0,
                "ownGoals": 0.0,
                "savePct": 88.9,
                "cleanSheetPct": 50.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 1.0,
                "expected_saves": 1.02,
                "high_pressure_saves": 0.39,
                "shots_faced": 2.2,
                "opponent_faced": "Omar Marmoush, Sávio",
                "matchup_zone": "Goalkeeper shot-stopping context",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "fifa_overall": 85.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0,
                "rating": 6.9436,
                "minutes": 92,
                "total_pass": 37,
                "accurate_pass": 22,
                "total_long_balls": 20,
                "accurate_long_balls": 5,
                "touches": 48,
                "clearances": 4,
                "ball_recovery": 12,
                "high_claims": 1,
                "punches": 3.0604,
                "aerial_won": 0,
                "sweeper_actions": 1,
                "sweeper_accurate": 1,
                "saves_inside_box": 3,
                "possession_lost": 14.6184,
                "duels_won": 3,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 3,
                "total_own_half_passes": 20,
                "accurate_own_half_passes": 19,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 0.5,
                "shotsOnTargetAgainst": 4.5,
                "cleanSheets": 0.5,
                "interceptions": 0,
                "tackles_won": 0,
                "crosses_total": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "penaltySave": 0.0,
                "ownGoals": 0.0,
                "savePct": 88.9,
                "cleanSheetPct": 50.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 1.0,
                "expected_saves": 1.02,
                "high_pressure_saves": 0.39,
                "shots_faced": 2.2,
                "opponent_faced": "Omar Marmoush, Sávio",
                "matchup_zone": "Goalkeeper shot-stopping context",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "fifa_overall": 85.0
              }
            }
          ]
        },
        "Thierno Barry": {
          "player_id": 1395746,
          "position": "F",
          "position_depth": "F",
          "is_starter": true,
          "shirt_number": 11,
          "height": 195,
          "market_value": 31000000,
          "stats": {
            "expected_goals": 0.2184,
            "goal_rate": 0.3509,
            "goals": 1,
            "shots_on_target": 1,
            "expected_assists": 0.0333,
            "key_pass": 1,
            "rating": 7.2335,
            "minutes": 85,
            "total_shots": 3,
            "duels_won": 6,
            "aerial_won": 2,
            "total_pass": 16,
            "accurate_pass": 12,
            "total_long_balls": 1,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 12,
            "accurate_opp_half_passes": 8,
            "crosses_total": 1,
            "crosses_accurate": 1,
            "touches": 32,
            "possession_lost": 11.3899,
            "dispossessed": 3.2024,
            "duels_lost": 8,
            "aerial_lost": 6,
            "total_contest": 2,
            "won_contest": 2,
            "ball_recovery": 2,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 1,
            "assists": 0,
            "shots_off_target": 2,
            "interceptions": 0,
            "tackles_won": 1,
            "tackles": 1,
            "clearances": 2,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 2,
            "xgot": 0.8113,
            "offsides": 0,
            "ball_carries": 6,
            "total_progression": 35,
            "progressive_carries": 2,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 60.0,
            "shotConversion": 0.2,
            "minutesPct": 81.7,
            "pointsPerMatch": 2.0,
            "netGoalDifferencePer90": 0.61,
            "dribbles_attempted": 2,
            "dribbles_successful": 0.3,
            "crosses_attempted": 0.0,
            "duel_win_rate": 0.18,
            "pressing_faced": "ULTRA_HIGH",
            "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
            "numerical_situation": "1v2",
            "opponent_defenders": "Micky van de Ven, Jan Paul van Hecke",
            "opponent_faced": "Micky van de Ven, Jan Paul van Hecke",
            "antagonist_source": "attacking_duel",
            "projected_goals": 1,
            "goal_probability": 0.2972,
            "projected_assists": 0,
            "assist_probability": 0.0613,
            "fifa_overall": 76.0
          },
          "latest_10_games": [
            {
              "match_id": 16363259.0,
              "match_date": "2026-09-06",
              "home_team": "Everton",
              "away_team": "Manchester United",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Everton",
              "opponent": "Manchester United",
              "stats": {
                "minutes": 90,
                "rating": 6.6,
                "assists": 0,
                "expected_goals": 0.3752,
                "expected_assists": 0.0215,
                "total_shots": 4,
                "shots_off_target": 2,
                "total_pass": 22,
                "accurate_pass": 17,
                "key_pass": 1,
                "aerial_won": 5,
                "duels_won": 9,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363247.0,
              "match_date": "2026-08-29",
              "home_team": "Bournemouth",
              "away_team": "Everton",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Everton",
              "opponent": "Bournemouth",
              "stats": {
                "minutes": 70,
                "rating": 6.7,
                "assists": 0,
                "expected_goals": 1.4833,
                "expected_assists": 0.003,
                "total_shots": 3,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "total_pass": 9,
                "accurate_pass": 5,
                "key_pass": 1,
                "clearances": 2,
                "aerial_won": 2,
                "duels_won": 4,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363635.0,
              "match_date": "2026-08-22",
              "home_team": "Everton",
              "away_team": "Crystal Palace",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Everton",
              "opponent": "Crystal Palace",
              "stats": {
                "minutes": 79,
                "rating": 7.0,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.4502,
                "expected_assists": 0.0862,
                "total_shots": 2,
                "shots_on_target": 1,
                "total_pass": 15,
                "accurate_pass": 12,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "aerial_won": 2,
                "duels_won": 4,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 3200,
            "combined_rank_score": 1156.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 511.0,
            "sofascore_rating": 6.85,
            "sofascore_appearances": 2.0,
            "fifa_rank": 1802.0,
            "fifa_overall": 76.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 7,
            "squad_role": "starter",
            "projected_match_rating": 7.2335,
            "source_file": "data/player_rankings.csv",
            "player_name": "Thierno Barry",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Saïd El Mala",
                  "ranking": 3195
                },
                {
                  "player_name": "Fran García",
                  "ranking": 3196
                },
                {
                  "player_name": "Rômulo",
                  "ranking": 3197
                },
                {
                  "player_name": "David Zima",
                  "ranking": 3198
                },
                {
                  "player_name": "Juan Iglesias",
                  "ranking": 3199
                }
              ],
              "lower": [
                {
                  "player_name": "Tiago Palacios",
                  "ranking": 3201
                },
                {
                  "player_name": "Frederik Rønnow",
                  "ranking": 3202
                },
                {
                  "player_name": "David Affengruber",
                  "ranking": 3203
                },
                {
                  "player_name": "Kike Salas",
                  "ranking": 3204
                },
                {
                  "player_name": "Franck Honorat",
                  "ranking": 3205
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.454,
          "history_matches": 3,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "F_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "onTargetScoringAttempt",
              "shotOffTarget",
              "bigChanceMissed",
              "expectedAssists",
              "keyPass",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "touches",
              "dispossessed",
              "wasFouled",
              "topSpeed",
              "numberOfSprints",
              "ballRecovery",
              "possessionLostCtrl",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "shot_accuracy",
              "xg_per_shot",
              "touches_p90",
              "totalShots_p90",
              "duelWon_p90",
              "ballCarriesCount_p90",
              "big_chance_conversion",
              "shot_waste_rate",
              "aerial_dominance",
              "press_resistance_fwd",
              "speed_threat",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "expectedAssists",
              "keyPass",
              "rating"
            ],
            "history_matches": 3,
            "data_confidence": 0.454,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.0675,
            "fbref_prior_metrics": {
              "squad": "Everton",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 2.0,
              "minutes": 147.0,
              "goals_per90": 0.625,
              "assists_per90": 0.0,
              "shots_per90": 3.06,
              "shots_on_target_pct": 60.0,
              "prior_reliability": 0.1067
            },
            "rationale": "XGBoost regressor (F_service) evaluated 3 historical appearances across 6 target models; FBref 2026-2027 prior blended (Premier League, Everton, rel: 0.11, gls/90: 0.625, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 6 target models",
              "stats": {
                "expected_goals": 0.3427,
                "goal_rate": 0.3171,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0312,
                "key_pass": 1,
                "rating": 6.7762,
                "minutes": 80,
                "total_shots": 3,
                "duels_won": 6,
                "aerial_won": 3,
                "total_pass": 15,
                "accurate_pass": 11,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 12,
                "accurate_opp_half_passes": 8,
                "crosses_total": 1,
                "crosses_accurate": 1,
                "touches": 30,
                "possession_lost": 10.67,
                "dispossessed": 3.0,
                "duels_lost": 7,
                "aerial_lost": 6,
                "total_contest": 2,
                "won_contest": 2,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "assists": 0,
                "shots_off_target": 2,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 2,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 2,
                "xgot": 0.76,
                "offsides": 0,
                "ball_carries": 5,
                "total_progression": 33,
                "progressive_carries": 2
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0675, quality 0.725)",
              "stats": {
                "expected_goals": 0.3658,
                "goal_rate": 0.3385,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0333,
                "key_pass": 1,
                "rating": 7.2335,
                "minutes": 85,
                "total_shots": 3,
                "duels_won": 6,
                "aerial_won": 3,
                "total_pass": 16,
                "accurate_pass": 12,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 12,
                "accurate_opp_half_passes": 8,
                "crosses_total": 1,
                "crosses_accurate": 1,
                "touches": 32,
                "possession_lost": 11.3899,
                "dispossessed": 3.2024,
                "duels_lost": 8,
                "aerial_lost": 6,
                "total_contest": 2,
                "won_contest": 2,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "assists": 0,
                "shots_off_target": 2,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 2,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 2,
                "xgot": 0.8113,
                "offsides": 0,
                "ball_carries": 6,
                "total_progression": 35,
                "progressive_carries": 2
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0433)",
              "stats": {
                "expected_goals": 0.3658,
                "goal_rate": 0.3509,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0333,
                "key_pass": 1,
                "rating": 7.2335,
                "minutes": 85,
                "total_shots": 3,
                "duels_won": 6,
                "aerial_won": 3,
                "total_pass": 16,
                "accurate_pass": 12,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 12,
                "accurate_opp_half_passes": 8,
                "crosses_total": 1,
                "crosses_accurate": 1,
                "touches": 32,
                "possession_lost": 11.3899,
                "dispossessed": 3.2024,
                "duels_lost": 8,
                "aerial_lost": 6,
                "total_contest": 2,
                "won_contest": 2,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "assists": 0,
                "shots_off_target": 2,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 2,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 2,
                "xgot": 0.8113,
                "offsides": 0,
                "ball_carries": 6,
                "total_progression": 35,
                "progressive_carries": 2,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 60.0,
                "shotConversion": 0.2,
                "minutesPct": 81.7,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.61
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.3658,
                "goal_rate": 0.3509,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0333,
                "key_pass": 1,
                "rating": 7.2335,
                "minutes": 85,
                "total_shots": 3,
                "duels_won": 6,
                "aerial_won": 3,
                "total_pass": 16,
                "accurate_pass": 12,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 12,
                "accurate_opp_half_passes": 8,
                "crosses_total": 1,
                "crosses_accurate": 1,
                "touches": 32,
                "possession_lost": 11.3899,
                "dispossessed": 3.2024,
                "duels_lost": 8,
                "aerial_lost": 6,
                "total_contest": 2,
                "won_contest": 2,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "assists": 0,
                "shots_off_target": 2,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 2,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 2,
                "xgot": 0.8113,
                "offsides": 0,
                "ball_carries": 6,
                "total_progression": 35,
                "progressive_carries": 2,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 60.0,
                "shotConversion": 0.2,
                "minutesPct": 81.7,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.61
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "expected_goals": 0.2358,
                "goal_rate": 0.3509,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0333,
                "key_pass": 1,
                "rating": 7.2335,
                "minutes": 85,
                "total_shots": 3,
                "duels_won": 6,
                "aerial_won": 2,
                "total_pass": 16,
                "accurate_pass": 12,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 12,
                "accurate_opp_half_passes": 8,
                "crosses_total": 1,
                "crosses_accurate": 1,
                "touches": 32,
                "possession_lost": 11.3899,
                "dispossessed": 3.2024,
                "duels_lost": 8,
                "aerial_lost": 6,
                "total_contest": 2,
                "won_contest": 2,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "assists": 0,
                "shots_off_target": 2,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 2,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 2,
                "xgot": 0.8113,
                "offsides": 0,
                "ball_carries": 6,
                "total_progression": 35,
                "progressive_carries": 2,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 60.0,
                "shotConversion": 0.2,
                "minutesPct": 81.7,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.61,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Micky van de Ven, Jan Paul van Hecke",
                "opponent_faced": "Micky van de Ven, Jan Paul van Hecke",
                "antagonist_source": "attacking_duel"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.11 (squad xG sum 1.2008, xG scale 0.9260)",
              "stats": {
                "expected_goals": 0.2184,
                "goal_rate": 0.3509,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0333,
                "key_pass": 1,
                "rating": 7.2335,
                "minutes": 85,
                "total_shots": 3,
                "duels_won": 6,
                "aerial_won": 2,
                "total_pass": 16,
                "accurate_pass": 12,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 12,
                "accurate_opp_half_passes": 8,
                "crosses_total": 1,
                "crosses_accurate": 1,
                "touches": 32,
                "possession_lost": 11.3899,
                "dispossessed": 3.2024,
                "duels_lost": 8,
                "aerial_lost": 6,
                "total_contest": 2,
                "won_contest": 2,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "assists": 0,
                "shots_off_target": 2,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 2,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 2,
                "xgot": 0.8113,
                "offsides": 0,
                "ball_carries": 6,
                "total_progression": 35,
                "progressive_carries": 2,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 60.0,
                "shotConversion": 0.2,
                "minutesPct": 81.7,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.61,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Micky van de Ven, Jan Paul van Hecke",
                "opponent_faced": "Micky van de Ven, Jan Paul van Hecke",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 7, fifa_overall 76.0)",
              "stats": {
                "expected_goals": 0.2184,
                "goal_rate": 0.3509,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0333,
                "key_pass": 1,
                "rating": 7.2335,
                "minutes": 85,
                "total_shots": 3,
                "duels_won": 6,
                "aerial_won": 2,
                "total_pass": 16,
                "accurate_pass": 12,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 12,
                "accurate_opp_half_passes": 8,
                "crosses_total": 1,
                "crosses_accurate": 1,
                "touches": 32,
                "possession_lost": 11.3899,
                "dispossessed": 3.2024,
                "duels_lost": 8,
                "aerial_lost": 6,
                "total_contest": 2,
                "won_contest": 2,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "assists": 0,
                "shots_off_target": 2,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 2,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 2,
                "xgot": 0.8113,
                "offsides": 0,
                "ball_carries": 6,
                "total_progression": 35,
                "progressive_carries": 2,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 60.0,
                "shotConversion": 0.2,
                "minutesPct": 81.7,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.61,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Micky van de Ven, Jan Paul van Hecke",
                "opponent_faced": "Micky van de Ven, Jan Paul van Hecke",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 76.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight",
              "stats": {
                "expected_goals": 0.2184,
                "goal_rate": 0.3509,
                "goals": 1,
                "shots_on_target": 1,
                "expected_assists": 0.0333,
                "key_pass": 1,
                "rating": 7.2335,
                "minutes": 85,
                "total_shots": 3,
                "duels_won": 6,
                "aerial_won": 2,
                "total_pass": 16,
                "accurate_pass": 12,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 12,
                "accurate_opp_half_passes": 8,
                "crosses_total": 1,
                "crosses_accurate": 1,
                "touches": 32,
                "possession_lost": 11.3899,
                "dispossessed": 3.2024,
                "duels_lost": 8,
                "aerial_lost": 6,
                "total_contest": 2,
                "won_contest": 2,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "assists": 0,
                "shots_off_target": 2,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 2,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 2,
                "xgot": 0.8113,
                "offsides": 0,
                "ball_carries": 6,
                "total_progression": 35,
                "progressive_carries": 2,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 60.0,
                "shotConversion": 0.2,
                "minutesPct": 81.7,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.61,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Micky van de Ven, Jan Paul van Hecke",
                "opponent_faced": "Micky van de Ven, Jan Paul van Hecke",
                "antagonist_source": "attacking_duel",
                "projected_goals": 1,
                "goal_probability": 0.2972,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 76.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight",
              "stats": {
                "expected_goals": 0.2184,
                "goal_rate": 0.3509,
                "goals": 1,
                "shots_on_target": 1,
                "expected_assists": 0.0333,
                "key_pass": 1,
                "rating": 7.2335,
                "minutes": 85,
                "total_shots": 3,
                "duels_won": 6,
                "aerial_won": 2,
                "total_pass": 16,
                "accurate_pass": 12,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 12,
                "accurate_opp_half_passes": 8,
                "crosses_total": 1,
                "crosses_accurate": 1,
                "touches": 32,
                "possession_lost": 11.3899,
                "dispossessed": 3.2024,
                "duels_lost": 8,
                "aerial_lost": 6,
                "total_contest": 2,
                "won_contest": 2,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "assists": 0,
                "shots_off_target": 2,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 2,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 2,
                "xgot": 0.8113,
                "offsides": 0,
                "ball_carries": 6,
                "total_progression": 35,
                "progressive_carries": 2,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 60.0,
                "shotConversion": 0.2,
                "minutesPct": 81.7,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.61,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Micky van de Ven, Jan Paul van Hecke",
                "opponent_faced": "Micky van de Ven, Jan Paul van Hecke",
                "antagonist_source": "attacking_duel",
                "projected_goals": 1,
                "goal_probability": 0.2972,
                "projected_assists": 0,
                "assist_probability": 0.0613,
                "fifa_overall": 76.0
              }
            }
          ]
        },
        "Jack Grealish": {
          "player_id": 189061,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 10,
          "height": 180,
          "market_value": 21000000,
          "stats": {
            "key_pass": 1,
            "expected_assists": 0.073,
            "assists": 0,
            "expected_goals": 0.0595,
            "rating": 7.1695,
            "minutes": 17,
            "total_pass": 9,
            "accurate_pass": 8,
            "ball_recovery": 3,
            "duels_won": 2,
            "total_shots": 2,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_own_half_passes": 4,
            "accurate_own_half_passes": 4,
            "total_opp_half_passes": 7,
            "accurate_opp_half_passes": 6,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 13,
            "possession_lost": 2.0845,
            "dispossessed": 1.0422,
            "duels_lost": 1,
            "aerial_won": 1,
            "aerial_lost": 0,
            "interceptions": 0,
            "tackles_won": 1,
            "tackles": 1,
            "clearances": 0,
            "total_contest": 2,
            "won_contest": 1,
            "challenges_lost": 0,
            "fouls": 1,
            "fouls_drawn": 1,
            "goal_rate": 0.0,
            "goals": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "ball_carries": 8,
            "total_progression": 52,
            "progressive_carries": 2,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "minutesPct": 5.0,
            "pointsPerMatch": 3.0,
            "netGoalDifferencePer90": 20.0,
            "dribbles_attempted": 3,
            "dribbles_successful": 0.5,
            "crosses_attempted": 0.0,
            "duel_win_rate": 0.18,
            "pressing_faced": "HIGH",
            "matchup_zone": "Attacking Mid vs Double Pivot — Tight Space Battle",
            "numerical_situation": "1v2",
            "opponent_defenders": "Sandro Tonali, Rodrigo Bentancur",
            "opponent_faced": "Sandro Tonali, Rodrigo Bentancur",
            "antagonist_source": "attacking_duel, midfield_pairing",
            "projected_goals": 0,
            "goal_probability": 0.0252,
            "projected_assists": 0,
            "assist_probability": 0.1226,
            "fifa_overall": 82.0
          },
          "latest_10_games": [
            {
              "match_id": 16363259.0,
              "match_date": "2026-09-06",
              "home_team": "Everton",
              "away_team": "Manchester United",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Everton",
              "opponent": "Manchester United",
              "stats": {
                "minutes": 24,
                "rating": 7.2,
                "assists": 0,
                "expected_goals": 0.0218,
                "expected_assists": 0.1257,
                "total_shots": 1,
                "total_pass": 11,
                "accurate_pass": 10,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "duels_won": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363243.0,
              "match_date": "2026-08-23",
              "home_team": "Manchester City",
              "away_team": "Bournemouth",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Manchester City",
              "opponent": "Bournemouth",
              "stats": {
                "minutes": 8,
                "rating": 6.6,
                "assists": 0,
                "expected_assists": 0.0008,
                "total_shots": 0,
                "total_pass": 7,
                "accurate_pass": 6,
                "tackles": 1,
                "duels_won": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 461,
            "combined_rank_score": 275.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 182.0,
            "sofascore_rating": 7.23,
            "sofascore_appearances": 20.0,
            "fifa_rank": 369.0,
            "fifa_overall": 82.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 10,
            "squad_role": "starter",
            "projected_match_rating": 7.1695,
            "source_file": "data/player_rankings.csv",
            "player_name": "Jack Grealish",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Gonzalo Plata",
                  "ranking": 456
                },
                {
                  "player_name": "Luciano Acosta",
                  "ranking": 457
                },
                {
                  "player_name": "Kiernan Dewsbury-Hall",
                  "ranking": 458
                },
                {
                  "player_name": "Sebastián Sáez",
                  "ranking": 459
                },
                {
                  "player_name": "Franco Calderón",
                  "ranking": 460
                }
              ],
              "lower": [
                {
                  "player_name": "Hans Vanaken",
                  "ranking": 462
                },
                {
                  "player_name": "Asier Bonel",
                  "ranking": 463
                },
                {
                  "player_name": "Marcos Navarro",
                  "ranking": 464
                },
                {
                  "player_name": "Jae Won Hwang",
                  "ranking": 465
                },
                {
                  "player_name": "Gjoko Zajkov",
                  "ranking": 466
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.376,
          "history_matches": 2,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "M_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "keyPass",
              "expectedAssists",
              "totalCross",
              "accurateCross",
              "duelWon",
              "duelLost",
              "aerialWon",
              "ballRecovery",
              "touches",
              "interceptionWon",
              "wonTackle",
              "possessionLostCtrl",
              "dispossessed",
              "numberOfSprints",
              "kilometersCovered",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "creative_index",
              "touches_p90",
              "totalPass_p90",
              "keyPass_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "ballCarriesCount_p90",
              "creative_efficiency",
              "cross_accuracy",
              "cross_creative_contribution",
              "defensive_midfield_actions",
              "press_vulnerability",
              "progressive_carries_p90",
              "intensity_index",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "rating"
            ],
            "history_matches": 2,
            "data_confidence": 0.376,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.0422,
            "fbref_prior_metrics": {
              "squad": "Manchester City",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 1.0,
              "starts": 0.0,
              "minutes": 9.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 0.0,
              "prior_reliability": 0.0067
            },
            "rationale": "XGBoost regressor (M_service) evaluated 2 historical appearances across 5 target models; FBref 2026-2027 prior blended (Premier League, Manchester City, rel: 0.01, gls/90: 0.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 5 target models",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.07,
                "assists": 0,
                "expected_goals": 0.0616,
                "rating": 6.879,
                "minutes": 16,
                "total_pass": 9,
                "accurate_pass": 8,
                "ball_recovery": 3,
                "duels_won": 2,
                "total_shots": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 4,
                "accurate_own_half_passes": 4,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 6,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 12,
                "possession_lost": 2.0,
                "dispossessed": 1.0,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 0,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 8,
                "total_progression": 50,
                "progressive_carries": 2
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0422, quality 0.641)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.073,
                "assists": 0,
                "expected_goals": 0.0642,
                "rating": 7.1695,
                "minutes": 17,
                "total_pass": 9,
                "accurate_pass": 8,
                "ball_recovery": 3,
                "duels_won": 2,
                "total_shots": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 4,
                "accurate_own_half_passes": 4,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 6,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 13,
                "possession_lost": 2.0845,
                "dispossessed": 1.0422,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 0,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 8,
                "total_progression": 52,
                "progressive_carries": 2
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0031)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.073,
                "assists": 0,
                "expected_goals": 0.0642,
                "rating": 7.1695,
                "minutes": 17,
                "total_pass": 9,
                "accurate_pass": 8,
                "ball_recovery": 3,
                "duels_won": 2,
                "total_shots": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 4,
                "accurate_own_half_passes": 4,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 6,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 13,
                "possession_lost": 2.0845,
                "dispossessed": 1.0422,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 0,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 8,
                "total_progression": 52,
                "progressive_carries": 2,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 5.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 20.0
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.073,
                "assists": 0,
                "expected_goals": 0.0642,
                "rating": 7.1695,
                "minutes": 17,
                "total_pass": 9,
                "accurate_pass": 8,
                "ball_recovery": 3,
                "duels_won": 2,
                "total_shots": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 4,
                "accurate_own_half_passes": 4,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 6,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 13,
                "possession_lost": 2.0845,
                "dispossessed": 1.0422,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 0,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 8,
                "total_progression": 52,
                "progressive_carries": 2,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 5.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 20.0
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.073,
                "assists": 0,
                "expected_goals": 0.0642,
                "rating": 7.1695,
                "minutes": 17,
                "total_pass": 9,
                "accurate_pass": 8,
                "ball_recovery": 3,
                "duels_won": 2,
                "total_shots": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 4,
                "accurate_own_half_passes": 4,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 6,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 13,
                "possession_lost": 2.0845,
                "dispossessed": 1.0422,
                "duels_lost": 1,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 0,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 8,
                "total_progression": 52,
                "progressive_carries": 2,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 5.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 20.0,
                "dribbles_attempted": 3,
                "dribbles_successful": 0.5,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "HIGH",
                "matchup_zone": "Attacking Mid vs Double Pivot — Tight Space Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Sandro Tonali, Rodrigo Bentancur",
                "opponent_faced": "Sandro Tonali, Rodrigo Bentancur",
                "antagonist_source": "attacking_duel, midfield_pairing"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.11 (squad xG sum 1.2008, xG scale 0.9260)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.073,
                "assists": 0,
                "expected_goals": 0.0595,
                "rating": 7.1695,
                "minutes": 17,
                "total_pass": 9,
                "accurate_pass": 8,
                "ball_recovery": 3,
                "duels_won": 2,
                "total_shots": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 4,
                "accurate_own_half_passes": 4,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 6,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 13,
                "possession_lost": 2.0845,
                "dispossessed": 1.0422,
                "duels_lost": 1,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 0,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 8,
                "total_progression": 52,
                "progressive_carries": 2,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 5.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 20.0,
                "dribbles_attempted": 3,
                "dribbles_successful": 0.5,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "HIGH",
                "matchup_zone": "Attacking Mid vs Double Pivot — Tight Space Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Sandro Tonali, Rodrigo Bentancur",
                "opponent_faced": "Sandro Tonali, Rodrigo Bentancur",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 10, fifa_overall 82.0)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.073,
                "assists": 0,
                "expected_goals": 0.0595,
                "rating": 7.1695,
                "minutes": 17,
                "total_pass": 9,
                "accurate_pass": 8,
                "ball_recovery": 3,
                "duels_won": 2,
                "total_shots": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 4,
                "accurate_own_half_passes": 4,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 6,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 13,
                "possession_lost": 2.0845,
                "dispossessed": 1.0422,
                "duels_lost": 1,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 0,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 8,
                "total_progression": 52,
                "progressive_carries": 2,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 5.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 20.0,
                "dribbles_attempted": 3,
                "dribbles_successful": 0.5,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "HIGH",
                "matchup_zone": "Attacking Mid vs Double Pivot — Tight Space Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Sandro Tonali, Rodrigo Bentancur",
                "opponent_faced": "Sandro Tonali, Rodrigo Bentancur",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 82.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.073,
                "assists": 0,
                "expected_goals": 0.0595,
                "rating": 7.1695,
                "minutes": 17,
                "total_pass": 9,
                "accurate_pass": 8,
                "ball_recovery": 3,
                "duels_won": 2,
                "total_shots": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 4,
                "accurate_own_half_passes": 4,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 6,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 13,
                "possession_lost": 2.0845,
                "dispossessed": 1.0422,
                "duels_lost": 1,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 0,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 8,
                "total_progression": 52,
                "progressive_carries": 2,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 5.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 20.0,
                "dribbles_attempted": 3,
                "dribbles_successful": 0.5,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "HIGH",
                "matchup_zone": "Attacking Mid vs Double Pivot — Tight Space Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Sandro Tonali, Rodrigo Bentancur",
                "opponent_faced": "Sandro Tonali, Rodrigo Bentancur",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0252,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 82.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.073,
                "assists": 0,
                "expected_goals": 0.0595,
                "rating": 7.1695,
                "minutes": 17,
                "total_pass": 9,
                "accurate_pass": 8,
                "ball_recovery": 3,
                "duels_won": 2,
                "total_shots": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 4,
                "accurate_own_half_passes": 4,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 6,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 13,
                "possession_lost": 2.0845,
                "dispossessed": 1.0422,
                "duels_lost": 1,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 0,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 8,
                "total_progression": 52,
                "progressive_carries": 2,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 5.0,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 20.0,
                "dribbles_attempted": 3,
                "dribbles_successful": 0.5,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "HIGH",
                "matchup_zone": "Attacking Mid vs Double Pivot — Tight Space Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Sandro Tonali, Rodrigo Bentancur",
                "opponent_faced": "Sandro Tonali, Rodrigo Bentancur",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0252,
                "projected_assists": 0,
                "assist_probability": 0.1226,
                "fifa_overall": 82.0
              }
            }
          ]
        },
        "Kiernan Dewsbury-Hall": {
          "player_id": 861970,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 8,
          "height": 178,
          "market_value": 38000000,
          "stats": {
            "key_pass": 1,
            "expected_assists": 0.1318,
            "assists": 0,
            "expected_goals": 0.1618,
            "rating": 7.4989,
            "minutes": 95,
            "total_pass": 39,
            "accurate_pass": 33,
            "ball_recovery": 6,
            "duels_won": 5,
            "total_shots": 2,
            "total_long_balls": 3,
            "accurate_long_balls": 1,
            "total_own_half_passes": 7,
            "accurate_own_half_passes": 7,
            "total_opp_half_passes": 32,
            "accurate_opp_half_passes": 26,
            "crosses_total": 5,
            "crosses_accurate": 2,
            "touches": 64,
            "possession_lost": 16.5712,
            "dispossessed": 2.7024,
            "duels_lost": 6,
            "aerial_won": 1,
            "aerial_lost": 1,
            "interceptions": 0,
            "tackles_won": 1,
            "tackles": 3,
            "clearances": 2,
            "total_contest": 3,
            "won_contest": 1,
            "challenges_lost": 2,
            "fouls": 1,
            "fouls_drawn": 2,
            "goal_rate": 1.0495,
            "goals": 0,
            "shots_on_target": 1,
            "shots_off_target": 1,
            "blocks": 0,
            "big_chances_created": 1,
            "big_chances_missed": 0,
            "xgot": 0.3027,
            "ball_carries": 20,
            "total_progression": 145,
            "progressive_carries": 5,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 40.0,
            "shotConversion": 0.2,
            "minutesPct": 99.4,
            "pointsPerMatch": 2.0,
            "netGoalDifferencePer90": 1.01,
            "dribbles_attempted": 4,
            "dribbles_successful": 1.7,
            "crosses_attempted": 2.5,
            "duel_win_rate": 0.491,
            "pressing_faced": "HIGH",
            "matchup_zone": "Left Wing vs Right Back — Flank Battle",
            "numerical_situation": "1v1",
            "opponent_defenders": "Pedro Porro",
            "opponent_faced": "Pedro Porro",
            "antagonist_source": "attacking_duel, midfield_pairing",
            "projected_goals": 0,
            "goal_probability": 0.1917,
            "projected_assists": 0,
            "assist_probability": 0.1595,
            "fifa_overall": 81.0
          },
          "latest_10_games": [
            {
              "match_id": 16363259.0,
              "match_date": "2026-09-06",
              "home_team": "Everton",
              "away_team": "Manchester United",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Everton",
              "opponent": "Manchester United",
              "stats": {
                "minutes": 90,
                "rating": 6.9,
                "assists": 0,
                "expected_goals": 0.2694,
                "expected_assists": 0.0709,
                "total_shots": 4,
                "shots_on_target": 2,
                "total_pass": 40,
                "accurate_pass": 34,
                "key_pass": 2,
                "tackles": 4,
                "tackles_won": 1,
                "clearances": 2,
                "duels_won": 5,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363247.0,
              "match_date": "2026-08-29",
              "home_team": "Bournemouth",
              "away_team": "Everton",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Everton",
              "opponent": "Bournemouth",
              "stats": {
                "minutes": 90,
                "rating": 7.1,
                "assists": 0,
                "expected_goals": 0.0639,
                "expected_assists": 0.1557,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 32,
                "accurate_pass": 25,
                "key_pass": 4,
                "tackles": 3,
                "tackles_won": 2,
                "duels_won": 5,
                "ball_recovery": 7
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363635.0,
              "match_date": "2026-08-22",
              "home_team": "Everton",
              "away_team": "Crystal Palace",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Everton",
              "opponent": "Crystal Palace",
              "stats": {
                "minutes": 89,
                "rating": 8.6,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.1189,
                "expected_assists": 0.1714,
                "total_shots": 3,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 37,
                "accurate_pass": 32,
                "key_pass": 2,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 1,
                "duels_won": 5,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 458,
            "combined_rank_score": 274.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 41.0,
            "sofascore_rating": 7.85,
            "sofascore_appearances": 2.0,
            "fifa_rank": 507.0,
            "fifa_overall": 81.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 4,
            "squad_role": "starter",
            "projected_match_rating": 7.4989,
            "source_file": "data/player_rankings.csv",
            "player_name": "Kiernan Dewsbury-Hall",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Sergio Carreira",
                  "ranking": 453
                },
                {
                  "player_name": "Neto Moura",
                  "ranking": 454
                },
                {
                  "player_name": "Walter",
                  "ranking": 455
                },
                {
                  "player_name": "Gonzalo Plata",
                  "ranking": 456
                },
                {
                  "player_name": "Luciano Acosta",
                  "ranking": 457
                }
              ],
              "lower": [
                {
                  "player_name": "Sebastián Sáez",
                  "ranking": 459
                },
                {
                  "player_name": "Franco Calderón",
                  "ranking": 460
                },
                {
                  "player_name": "Jack Grealish",
                  "ranking": 461
                },
                {
                  "player_name": "Hans Vanaken",
                  "ranking": 462
                },
                {
                  "player_name": "Asier Bonel",
                  "ranking": 463
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.457,
          "history_matches": 3,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "M_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "keyPass",
              "expectedAssists",
              "totalCross",
              "accurateCross",
              "duelWon",
              "duelLost",
              "aerialWon",
              "ballRecovery",
              "touches",
              "interceptionWon",
              "wonTackle",
              "possessionLostCtrl",
              "dispossessed",
              "numberOfSprints",
              "kilometersCovered",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "creative_index",
              "touches_p90",
              "totalPass_p90",
              "keyPass_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "ballCarriesCount_p90",
              "creative_efficiency",
              "cross_accuracy",
              "cross_creative_contribution",
              "defensive_midfield_actions",
              "press_vulnerability",
              "progressive_carries_p90",
              "intensity_index",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "rating"
            ],
            "history_matches": 3,
            "data_confidence": 0.457,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.081,
            "fbref_prior_metrics": {
              "squad": "Everton",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 2.0,
              "minutes": 179.0,
              "goals_per90": 0.5,
              "assists_per90": 0.0,
              "shots_per90": 2.51,
              "shots_on_target_pct": 40.0,
              "prior_reliability": 0.1333
            },
            "rationale": "XGBoost regressor (M_service) evaluated 3 historical appearances across 5 target models; FBref 2026-2027 prior blended (Premier League, Everton, rel: 0.13, gls/90: 0.5, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 5 target models",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.1219,
                "assists": 0,
                "expected_goals": 0.1617,
                "rating": 6.9372,
                "minutes": 90,
                "total_pass": 36,
                "accurate_pass": 30,
                "ball_recovery": 6,
                "duels_won": 5,
                "total_shots": 3,
                "total_long_balls": 3,
                "accurate_long_balls": 1,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 30,
                "accurate_opp_half_passes": 24,
                "crosses_total": 5,
                "crosses_accurate": 2,
                "touches": 59,
                "possession_lost": 15.33,
                "dispossessed": 2.5,
                "duels_lost": 5,
                "aerial_won": 0,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 3,
                "clearances": 2,
                "total_contest": 3,
                "won_contest": 1,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 2,
                "goal_rate": 1.0,
                "goals": 1,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.28,
                "ball_carries": 19,
                "total_progression": 134,
                "progressive_carries": 4
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0810, quality 0.770)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.1318,
                "assists": 0,
                "expected_goals": 0.1747,
                "rating": 7.4989,
                "minutes": 95,
                "total_pass": 39,
                "accurate_pass": 33,
                "ball_recovery": 6,
                "duels_won": 5,
                "total_shots": 3,
                "total_long_balls": 3,
                "accurate_long_balls": 1,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 32,
                "accurate_opp_half_passes": 26,
                "crosses_total": 5,
                "crosses_accurate": 2,
                "touches": 64,
                "possession_lost": 16.5712,
                "dispossessed": 2.7024,
                "duels_lost": 6,
                "aerial_won": 0,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 3,
                "clearances": 2,
                "total_contest": 3,
                "won_contest": 1,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 2,
                "goal_rate": 1.081,
                "goals": 1,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.3027,
                "ball_carries": 20,
                "total_progression": 145,
                "progressive_carries": 5
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0542)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.1318,
                "assists": 0,
                "expected_goals": 0.1747,
                "rating": 7.4989,
                "minutes": 95,
                "total_pass": 39,
                "accurate_pass": 33,
                "ball_recovery": 6,
                "duels_won": 5,
                "total_shots": 3,
                "total_long_balls": 3,
                "accurate_long_balls": 1,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 32,
                "accurate_opp_half_passes": 26,
                "crosses_total": 5,
                "crosses_accurate": 2,
                "touches": 64,
                "possession_lost": 16.5712,
                "dispossessed": 2.7024,
                "duels_lost": 6,
                "aerial_won": 0,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 3,
                "clearances": 2,
                "total_contest": 3,
                "won_contest": 1,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 2,
                "goal_rate": 1.0495,
                "goals": 1,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.3027,
                "ball_carries": 20,
                "total_progression": 145,
                "progressive_carries": 5,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 40.0,
                "shotConversion": 0.2,
                "minutesPct": 99.4,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 1.01
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.1318,
                "assists": 0,
                "expected_goals": 0.1747,
                "rating": 7.4989,
                "minutes": 95,
                "total_pass": 39,
                "accurate_pass": 33,
                "ball_recovery": 6,
                "duels_won": 5,
                "total_shots": 3,
                "total_long_balls": 3,
                "accurate_long_balls": 1,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 32,
                "accurate_opp_half_passes": 26,
                "crosses_total": 5,
                "crosses_accurate": 2,
                "touches": 64,
                "possession_lost": 16.5712,
                "dispossessed": 2.7024,
                "duels_lost": 6,
                "aerial_won": 0,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 3,
                "clearances": 2,
                "total_contest": 3,
                "won_contest": 1,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 2,
                "goal_rate": 1.0495,
                "goals": 1,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.3027,
                "ball_carries": 20,
                "total_progression": 145,
                "progressive_carries": 5,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 40.0,
                "shotConversion": 0.2,
                "minutesPct": 99.4,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 1.01
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.1318,
                "assists": 0,
                "expected_goals": 0.1747,
                "rating": 7.4989,
                "minutes": 95,
                "total_pass": 39,
                "accurate_pass": 33,
                "ball_recovery": 6,
                "duels_won": 5,
                "total_shots": 2,
                "total_long_balls": 3,
                "accurate_long_balls": 1,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 32,
                "accurate_opp_half_passes": 26,
                "crosses_total": 5,
                "crosses_accurate": 2,
                "touches": 64,
                "possession_lost": 16.5712,
                "dispossessed": 2.7024,
                "duels_lost": 6,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 3,
                "clearances": 2,
                "total_contest": 3,
                "won_contest": 1,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 2,
                "goal_rate": 1.0495,
                "goals": 1,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.3027,
                "ball_carries": 20,
                "total_progression": 145,
                "progressive_carries": 5,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 40.0,
                "shotConversion": 0.2,
                "minutesPct": 99.4,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 1.01,
                "dribbles_attempted": 4,
                "dribbles_successful": 1.7,
                "crosses_attempted": 2.5,
                "duel_win_rate": 0.491,
                "pressing_faced": "HIGH",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Pedro Porro",
                "opponent_faced": "Pedro Porro",
                "antagonist_source": "attacking_duel, midfield_pairing"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.11 (squad xG sum 1.2008, xG scale 0.9260)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.1318,
                "assists": 0,
                "expected_goals": 0.1618,
                "rating": 7.4989,
                "minutes": 95,
                "total_pass": 39,
                "accurate_pass": 33,
                "ball_recovery": 6,
                "duels_won": 5,
                "total_shots": 2,
                "total_long_balls": 3,
                "accurate_long_balls": 1,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 32,
                "accurate_opp_half_passes": 26,
                "crosses_total": 5,
                "crosses_accurate": 2,
                "touches": 64,
                "possession_lost": 16.5712,
                "dispossessed": 2.7024,
                "duels_lost": 6,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 3,
                "clearances": 2,
                "total_contest": 3,
                "won_contest": 1,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 2,
                "goal_rate": 1.0495,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.3027,
                "ball_carries": 20,
                "total_progression": 145,
                "progressive_carries": 5,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 40.0,
                "shotConversion": 0.2,
                "minutesPct": 99.4,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 1.01,
                "dribbles_attempted": 4,
                "dribbles_successful": 1.7,
                "crosses_attempted": 2.5,
                "duel_win_rate": 0.491,
                "pressing_faced": "HIGH",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Pedro Porro",
                "opponent_faced": "Pedro Porro",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 4, fifa_overall 81.0)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.1318,
                "assists": 0,
                "expected_goals": 0.1618,
                "rating": 7.4989,
                "minutes": 95,
                "total_pass": 39,
                "accurate_pass": 33,
                "ball_recovery": 6,
                "duels_won": 5,
                "total_shots": 2,
                "total_long_balls": 3,
                "accurate_long_balls": 1,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 32,
                "accurate_opp_half_passes": 26,
                "crosses_total": 5,
                "crosses_accurate": 2,
                "touches": 64,
                "possession_lost": 16.5712,
                "dispossessed": 2.7024,
                "duels_lost": 6,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 3,
                "clearances": 2,
                "total_contest": 3,
                "won_contest": 1,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 2,
                "goal_rate": 1.0495,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.3027,
                "ball_carries": 20,
                "total_progression": 145,
                "progressive_carries": 5,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 40.0,
                "shotConversion": 0.2,
                "minutesPct": 99.4,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 1.01,
                "dribbles_attempted": 4,
                "dribbles_successful": 1.7,
                "crosses_attempted": 2.5,
                "duel_win_rate": 0.491,
                "pressing_faced": "HIGH",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Pedro Porro",
                "opponent_faced": "Pedro Porro",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 81.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.1318,
                "assists": 0,
                "expected_goals": 0.1618,
                "rating": 7.4989,
                "minutes": 95,
                "total_pass": 39,
                "accurate_pass": 33,
                "ball_recovery": 6,
                "duels_won": 5,
                "total_shots": 2,
                "total_long_balls": 3,
                "accurate_long_balls": 1,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 32,
                "accurate_opp_half_passes": 26,
                "crosses_total": 5,
                "crosses_accurate": 2,
                "touches": 64,
                "possession_lost": 16.5712,
                "dispossessed": 2.7024,
                "duels_lost": 6,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 3,
                "clearances": 2,
                "total_contest": 3,
                "won_contest": 1,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 2,
                "goal_rate": 1.0495,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.3027,
                "ball_carries": 20,
                "total_progression": 145,
                "progressive_carries": 5,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 40.0,
                "shotConversion": 0.2,
                "minutesPct": 99.4,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 1.01,
                "dribbles_attempted": 4,
                "dribbles_successful": 1.7,
                "crosses_attempted": 2.5,
                "duel_win_rate": 0.491,
                "pressing_faced": "HIGH",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Pedro Porro",
                "opponent_faced": "Pedro Porro",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.1917,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 81.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.1318,
                "assists": 0,
                "expected_goals": 0.1618,
                "rating": 7.4989,
                "minutes": 95,
                "total_pass": 39,
                "accurate_pass": 33,
                "ball_recovery": 6,
                "duels_won": 5,
                "total_shots": 2,
                "total_long_balls": 3,
                "accurate_long_balls": 1,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 32,
                "accurate_opp_half_passes": 26,
                "crosses_total": 5,
                "crosses_accurate": 2,
                "touches": 64,
                "possession_lost": 16.5712,
                "dispossessed": 2.7024,
                "duels_lost": 6,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 3,
                "clearances": 2,
                "total_contest": 3,
                "won_contest": 1,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 2,
                "goal_rate": 1.0495,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.3027,
                "ball_carries": 20,
                "total_progression": 145,
                "progressive_carries": 5,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 40.0,
                "shotConversion": 0.2,
                "minutesPct": 99.4,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 1.01,
                "dribbles_attempted": 4,
                "dribbles_successful": 1.7,
                "crosses_attempted": 2.5,
                "duel_win_rate": 0.491,
                "pressing_faced": "HIGH",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Pedro Porro",
                "opponent_faced": "Pedro Porro",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.1917,
                "projected_assists": 0,
                "assist_probability": 0.1595,
                "fifa_overall": 81.0
              }
            }
          ]
        },
        "Tyrique George": {
          "player_id": 1403061,
          "position": "F",
          "position_depth": "F",
          "is_starter": true,
          "shirt_number": 19,
          "height": 181,
          "market_value": 21000000,
          "stats": {
            "expected_goals": 0.2806,
            "goal_rate": 0.1768,
            "goals": 0,
            "total_shots": 3,
            "shots_on_target": 2,
            "expected_assists": 0.11,
            "duels_won": 5,
            "aerial_won": 2,
            "rating": 7.2,
            "minutes": 90,
            "total_pass": 32,
            "accurate_pass": 24,
            "total_long_balls": 2,
            "accurate_long_balls": 1,
            "total_opp_half_passes": 18,
            "accurate_opp_half_passes": 13,
            "crosses_total": 2,
            "crosses_accurate": 1,
            "touches": 46,
            "possession_lost": 9.5,
            "dispossessed": 1.3,
            "duels_lost": 5,
            "aerial_lost": 2,
            "total_contest": 6,
            "won_contest": 3,
            "ball_recovery": 2,
            "challenges_lost": 2,
            "fouls": 1,
            "fouls_drawn": 1,
            "assists": 0,
            "shots_off_target": 1,
            "key_pass": 1,
            "interceptions": 0,
            "tackles_won": 1,
            "tackles": 1,
            "clearances": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.232,
            "offsides": 1,
            "ball_carries": 23,
            "total_progression": 57,
            "progressive_carries": 6,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 14.3,
            "shotConversion": 0.0,
            "minutesPct": 80.0,
            "pointsPerMatch": 2.0,
            "netGoalDifferencePer90": 0.62,
            "opponent_faced": "Jan Paul van Hecke, Micky van de Ven",
            "matchup_zone": "Shape fallback",
            "antagonist_source": "formation_fallback",
            "projected_goals": 0,
            "goal_probability": 0.2256,
            "projected_assists": 0,
            "assist_probability": 0.0843,
            "fifa_overall": 72.0
          },
          "latest_10_games": [
            {
              "match_id": 16363259.0,
              "match_date": "2026-09-06",
              "home_team": "Everton",
              "away_team": "Manchester United",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Everton",
              "opponent": "Manchester United",
              "stats": {
                "minutes": 90,
                "rating": 8.2,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.037,
                "expected_assists": 0.0655,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 28,
                "accurate_pass": 26,
                "key_pass": 3,
                "interceptions": 1,
                "duels_won": 7,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363247.0,
              "match_date": "2026-08-29",
              "home_team": "Bournemouth",
              "away_team": "Everton",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Everton",
              "opponent": "Bournemouth",
              "stats": {
                "minutes": 62,
                "rating": 6.6,
                "assists": 0,
                "expected_goals": 0.0464,
                "expected_assists": 0.0078,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 14,
                "accurate_pass": 13,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "duels_won": 3,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363635.0,
              "match_date": "2026-08-22",
              "home_team": "Everton",
              "away_team": "Crystal Palace",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Everton",
              "opponent": "Crystal Palace",
              "stats": {
                "minutes": 84,
                "rating": 7.4,
                "assists": 0,
                "expected_goals": 0.1767,
                "expected_assists": 0.0753,
                "total_shots": 5,
                "shots_off_target": 2,
                "total_pass": 36,
                "accurate_pass": 30,
                "key_pass": 2,
                "interceptions": 2,
                "clearances": 1,
                "aerial_won": 2,
                "duels_won": 4,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 4132,
            "combined_rank_score": 2132.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 336.0,
            "sofascore_rating": 7.0,
            "sofascore_appearances": 2.0,
            "fifa_rank": 3928.0,
            "fifa_overall": 72.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 9,
            "squad_role": "starter",
            "projected_match_rating": 7.2,
            "source_file": "data/player_rankings.csv",
            "player_name": "Tyrique George",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Alberto Reina",
                  "ranking": 4127
                },
                {
                  "player_name": "Jonathan Osorio",
                  "ranking": 4128
                },
                {
                  "player_name": "Leo Sauer",
                  "ranking": 4129
                },
                {
                  "player_name": "Isac Lidberg",
                  "ranking": 4130
                },
                {
                  "player_name": "Marcus Pedersen",
                  "ranking": 4131
                }
              ],
              "lower": [
                {
                  "player_name": "Yunus Musah",
                  "ranking": 4133
                },
                {
                  "player_name": "Florent Muslija",
                  "ranking": 4134
                },
                {
                  "player_name": "Darnell Furlong",
                  "ranking": 4135
                },
                {
                  "player_name": "Lucas Noubi",
                  "ranking": 4136
                },
                {
                  "player_name": "Marcão",
                  "ranking": 4137
                }
              ]
            }
          },
          "data_sources": [
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.266,
          "history_matches": 0,
          "xgboost_reasoning": {
            "model_source": "market_value_prior",
            "position_service": "F_service",
            "features_evaluated": [],
            "targets_predicted": [],
            "history_matches": 0,
            "data_confidence": 0.266,
            "data_sources": [
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 0.6408,
            "fbref_prior_metrics": {
              "squad": "Everton",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 2.0,
              "minutes": 144.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 4.37,
              "shots_on_target_pct": 14.3,
              "prior_reliability": 0.1067
            },
            "rationale": "Market-value baseline (€21,000,000) applied for position F (quality factor 0.64); FBref 2026-2027 prior blended (Premier League, Everton, rel: 0.11, gls/90: 0.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "market_value_prior",
              "description": "Market-value baseline for position F (quality 0.64)",
              "stats": {
                "expected_goals": 0.303,
                "goal_rate": 0.19,
                "goals": 0,
                "total_shots": 3,
                "shots_on_target": 2,
                "expected_assists": 0.11,
                "duels_won": 5,
                "aerial_won": 2,
                "rating": 7.2,
                "minutes": 90,
                "total_pass": 32,
                "accurate_pass": 24,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_opp_half_passes": 18,
                "accurate_opp_half_passes": 13,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 46,
                "possession_lost": 9.5,
                "dispossessed": 1.3,
                "duels_lost": 5,
                "aerial_lost": 2,
                "total_contest": 6,
                "won_contest": 3,
                "ball_recovery": 2,
                "challenges_lost": 2,
                "fouls": 2,
                "fouls_drawn": 2,
                "assists": 0,
                "shots_off_target": 1,
                "key_pass": 1,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.232,
                "offsides": 1,
                "ball_carries": 23,
                "total_progression": 57,
                "progressive_carries": 6
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0694)",
              "stats": {
                "expected_goals": 0.303,
                "goal_rate": 0.1768,
                "goals": 0,
                "total_shots": 3,
                "shots_on_target": 2,
                "expected_assists": 0.11,
                "duels_won": 5,
                "aerial_won": 2,
                "rating": 7.2,
                "minutes": 90,
                "total_pass": 32,
                "accurate_pass": 24,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_opp_half_passes": 18,
                "accurate_opp_half_passes": 13,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 46,
                "possession_lost": 9.5,
                "dispossessed": 1.3,
                "duels_lost": 5,
                "aerial_lost": 2,
                "total_contest": 6,
                "won_contest": 3,
                "ball_recovery": 2,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 1,
                "assists": 0,
                "shots_off_target": 1,
                "key_pass": 1,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.232,
                "offsides": 1,
                "ball_carries": 23,
                "total_progression": 57,
                "progressive_carries": 6,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 14.3,
                "shotConversion": 0.0,
                "minutesPct": 80.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.62
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.303,
                "goal_rate": 0.1768,
                "goals": 0,
                "total_shots": 3,
                "shots_on_target": 2,
                "expected_assists": 0.11,
                "duels_won": 5,
                "aerial_won": 2,
                "rating": 7.2,
                "minutes": 90,
                "total_pass": 32,
                "accurate_pass": 24,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_opp_half_passes": 18,
                "accurate_opp_half_passes": 13,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 46,
                "possession_lost": 9.5,
                "dispossessed": 1.3,
                "duels_lost": 5,
                "aerial_lost": 2,
                "total_contest": 6,
                "won_contest": 3,
                "ball_recovery": 2,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 1,
                "assists": 0,
                "shots_off_target": 1,
                "key_pass": 1,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.232,
                "offsides": 1,
                "ball_carries": 23,
                "total_progression": 57,
                "progressive_carries": 6,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 14.3,
                "shotConversion": 0.0,
                "minutesPct": 80.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.62
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "expected_goals": 0.303,
                "goal_rate": 0.1768,
                "goals": 0,
                "total_shots": 3,
                "shots_on_target": 2,
                "expected_assists": 0.11,
                "duels_won": 5,
                "aerial_won": 2,
                "rating": 7.2,
                "minutes": 90,
                "total_pass": 32,
                "accurate_pass": 24,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_opp_half_passes": 18,
                "accurate_opp_half_passes": 13,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 46,
                "possession_lost": 9.5,
                "dispossessed": 1.3,
                "duels_lost": 5,
                "aerial_lost": 2,
                "total_contest": 6,
                "won_contest": 3,
                "ball_recovery": 2,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 1,
                "assists": 0,
                "shots_off_target": 1,
                "key_pass": 1,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.232,
                "offsides": 1,
                "ball_carries": 23,
                "total_progression": 57,
                "progressive_carries": 6,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 14.3,
                "shotConversion": 0.0,
                "minutesPct": 80.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.62,
                "opponent_faced": "Jan Paul van Hecke, Micky van de Ven",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.11 (squad xG sum 1.2008, xG scale 0.9260)",
              "stats": {
                "expected_goals": 0.2806,
                "goal_rate": 0.1768,
                "goals": 0,
                "total_shots": 3,
                "shots_on_target": 2,
                "expected_assists": 0.11,
                "duels_won": 5,
                "aerial_won": 2,
                "rating": 7.2,
                "minutes": 90,
                "total_pass": 32,
                "accurate_pass": 24,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_opp_half_passes": 18,
                "accurate_opp_half_passes": 13,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 46,
                "possession_lost": 9.5,
                "dispossessed": 1.3,
                "duels_lost": 5,
                "aerial_lost": 2,
                "total_contest": 6,
                "won_contest": 3,
                "ball_recovery": 2,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 1,
                "assists": 0,
                "shots_off_target": 1,
                "key_pass": 1,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.232,
                "offsides": 1,
                "ball_carries": 23,
                "total_progression": 57,
                "progressive_carries": 6,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 14.3,
                "shotConversion": 0.0,
                "minutesPct": 80.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.62,
                "opponent_faced": "Jan Paul van Hecke, Micky van de Ven",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 9, fifa_overall 72.0)",
              "stats": {
                "expected_goals": 0.2806,
                "goal_rate": 0.1768,
                "goals": 0,
                "total_shots": 3,
                "shots_on_target": 2,
                "expected_assists": 0.11,
                "duels_won": 5,
                "aerial_won": 2,
                "rating": 7.2,
                "minutes": 90,
                "total_pass": 32,
                "accurate_pass": 24,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_opp_half_passes": 18,
                "accurate_opp_half_passes": 13,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 46,
                "possession_lost": 9.5,
                "dispossessed": 1.3,
                "duels_lost": 5,
                "aerial_lost": 2,
                "total_contest": 6,
                "won_contest": 3,
                "ball_recovery": 2,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 1,
                "assists": 0,
                "shots_off_target": 1,
                "key_pass": 1,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.232,
                "offsides": 1,
                "ball_carries": 23,
                "total_progression": 57,
                "progressive_carries": 6,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 14.3,
                "shotConversion": 0.0,
                "minutesPct": 80.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.62,
                "opponent_faced": "Jan Paul van Hecke, Micky van de Ven",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 72.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight",
              "stats": {
                "expected_goals": 0.2806,
                "goal_rate": 0.1768,
                "goals": 0,
                "total_shots": 3,
                "shots_on_target": 2,
                "expected_assists": 0.11,
                "duels_won": 5,
                "aerial_won": 2,
                "rating": 7.2,
                "minutes": 90,
                "total_pass": 32,
                "accurate_pass": 24,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_opp_half_passes": 18,
                "accurate_opp_half_passes": 13,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 46,
                "possession_lost": 9.5,
                "dispossessed": 1.3,
                "duels_lost": 5,
                "aerial_lost": 2,
                "total_contest": 6,
                "won_contest": 3,
                "ball_recovery": 2,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 1,
                "assists": 0,
                "shots_off_target": 1,
                "key_pass": 1,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.232,
                "offsides": 1,
                "ball_carries": 23,
                "total_progression": 57,
                "progressive_carries": 6,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 14.3,
                "shotConversion": 0.0,
                "minutesPct": 80.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.62,
                "opponent_faced": "Jan Paul van Hecke, Micky van de Ven",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.2256,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 72.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight",
              "stats": {
                "expected_goals": 0.2806,
                "goal_rate": 0.1768,
                "goals": 0,
                "total_shots": 3,
                "shots_on_target": 2,
                "expected_assists": 0.11,
                "duels_won": 5,
                "aerial_won": 2,
                "rating": 7.2,
                "minutes": 90,
                "total_pass": 32,
                "accurate_pass": 24,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_opp_half_passes": 18,
                "accurate_opp_half_passes": 13,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 46,
                "possession_lost": 9.5,
                "dispossessed": 1.3,
                "duels_lost": 5,
                "aerial_lost": 2,
                "total_contest": 6,
                "won_contest": 3,
                "ball_recovery": 2,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 1,
                "assists": 0,
                "shots_off_target": 1,
                "key_pass": 1,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.232,
                "offsides": 1,
                "ball_carries": 23,
                "total_progression": 57,
                "progressive_carries": 6,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 14.3,
                "shotConversion": 0.0,
                "minutesPct": 80.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.62,
                "opponent_faced": "Jan Paul van Hecke, Micky van de Ven",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.2256,
                "projected_assists": 0,
                "assist_probability": 0.0843,
                "fifa_overall": 72.0
              }
            }
          ]
        },
        "James Garner": {
          "player_id": 927361,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 37,
          "height": 182,
          "market_value": 48000000,
          "stats": {
            "key_pass": 1,
            "expected_assists": 0.0707,
            "assists": 0,
            "expected_goals": 0.0449,
            "rating": 7.5491,
            "minutes": 55,
            "total_pass": 28,
            "accurate_pass": 26,
            "ball_recovery": 7,
            "duels_won": 2,
            "total_shots": 1,
            "total_long_balls": 2,
            "accurate_long_balls": 0,
            "total_own_half_passes": 11,
            "accurate_own_half_passes": 10,
            "total_opp_half_passes": 17,
            "accurate_opp_half_passes": 15,
            "crosses_total": 4,
            "crosses_accurate": 2,
            "touches": 36,
            "possession_lost": 5.8366,
            "dispossessed": 1.095,
            "duels_lost": 2,
            "aerial_won": 1,
            "aerial_lost": 1,
            "interceptions": 1,
            "tackles_won": 2,
            "tackles": 2,
            "clearances": 1,
            "total_contest": 0,
            "won_contest": 0,
            "challenges_lost": 1,
            "fouls": 2,
            "fouls_drawn": 1,
            "goal_rate": 0.0,
            "goals": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "ball_carries": 9,
            "total_progression": 31,
            "progressive_carries": 1,
            "offsides": 0,
            "yellowCards": 1.25,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "minutesPct": 40.6,
            "pointsPerMatch": 2.0,
            "netGoalDifferencePer90": 0.0,
            "dribbles_attempted": 2,
            "dribbles_successful": 0.7,
            "crosses_attempted": 0.0,
            "duel_win_rate": 0.397,
            "pressing_faced": "ULTRA_HIGH",
            "matchup_zone": "CDM vs CDM",
            "numerical_situation": "1v1",
            "opponent_defenders": "Sandro Tonali",
            "opponent_faced": "Sandro Tonali",
            "antagonist_source": "defensive_duel, attacking_duel, midfield_pairing",
            "projected_goals": 0,
            "goal_probability": 0.0199,
            "projected_assists": 0,
            "assist_probability": 0.1281,
            "fifa_overall": 82.0
          },
          "latest_10_games": [
            {
              "match_id": 16363259.0,
              "match_date": "2026-09-06",
              "home_team": "Everton",
              "away_team": "Manchester United",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Everton",
              "opponent": "Manchester United",
              "stats": {
                "minutes": 77,
                "rating": 6.9,
                "assists": 0,
                "expected_assists": 0.0797,
                "total_shots": 0,
                "total_pass": 46,
                "accurate_pass": 42,
                "key_pass": 2,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 1,
                "duels_won": 2,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363247.0,
              "match_date": "2026-08-29",
              "home_team": "Bournemouth",
              "away_team": "Everton",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Everton",
              "opponent": "Bournemouth",
              "stats": {
                "minutes": 62,
                "rating": 6.6,
                "assists": 0,
                "expected_assists": 0.0049,
                "total_shots": 0,
                "total_pass": 22,
                "accurate_pass": 19,
                "tackles": 3,
                "tackles_won": 3,
                "duels_won": 3,
                "ball_recovery": 7
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363635.0,
              "match_date": "2026-08-22",
              "home_team": "Everton",
              "away_team": "Crystal Palace",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Everton",
              "opponent": "Crystal Palace",
              "stats": {
                "minutes": 11,
                "rating": 6.7,
                "assists": 0,
                "expected_assists": 0.0255,
                "total_shots": 0,
                "total_pass": 9,
                "accurate_pass": 9,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "duels_won": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 470,
            "combined_rank_score": 281.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 183.0,
            "sofascore_rating": 7.2289,
            "sofascore_appearances": 38.0,
            "fifa_rank": 379.0,
            "fifa_overall": 82.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 2,
            "squad_role": "starter",
            "projected_match_rating": 7.5491,
            "source_file": "data/player_rankings.csv",
            "player_name": "James Garner",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Jae Won Hwang",
                  "ranking": 465
                },
                {
                  "player_name": "Gjoko Zajkov",
                  "ranking": 466
                },
                {
                  "player_name": "Ramón Terrats",
                  "ranking": 467
                },
                {
                  "player_name": "Igor Formiga",
                  "ranking": 468
                },
                {
                  "player_name": "Anthony Caceres",
                  "ranking": 469
                }
              ],
              "lower": [
                {
                  "player_name": "Marcus Rashford",
                  "ranking": 471
                },
                {
                  "player_name": "João Cancelo",
                  "ranking": 472
                },
                {
                  "player_name": "Oh-kyu Kim",
                  "ranking": 473
                },
                {
                  "player_name": "Oscar Lopez",
                  "ranking": 474
                },
                {
                  "player_name": "Eberechi Eze",
                  "ranking": 475
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.445,
          "history_matches": 3,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "M_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "keyPass",
              "expectedAssists",
              "totalCross",
              "accurateCross",
              "duelWon",
              "duelLost",
              "aerialWon",
              "ballRecovery",
              "touches",
              "interceptionWon",
              "wonTackle",
              "possessionLostCtrl",
              "dispossessed",
              "numberOfSprints",
              "kilometersCovered",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "creative_index",
              "touches_p90",
              "totalPass_p90",
              "keyPass_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "ballCarriesCount_p90",
              "creative_efficiency",
              "cross_accuracy",
              "cross_creative_contribution",
              "defensive_midfield_actions",
              "press_vulnerability",
              "progressive_carries_p90",
              "intensity_index",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "rating"
            ],
            "history_matches": 3,
            "data_confidence": 0.445,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.095,
            "fbref_prior_metrics": {
              "squad": "Everton",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 1.0,
              "minutes": 73.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 0.0,
              "prior_reliability": 0.0533
            },
            "rationale": "XGBoost regressor (M_service) evaluated 3 historical appearances across 5 target models; FBref 2026-2027 prior blended (Premier League, Everton, rel: 0.05, gls/90: 0.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 5 target models",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0645,
                "assists": 0,
                "expected_goals": 0.0443,
                "rating": 6.8939,
                "minutes": 50,
                "total_pass": 26,
                "accurate_pass": 23,
                "ball_recovery": 6,
                "duels_won": 2,
                "total_shots": 0,
                "total_long_balls": 2,
                "accurate_long_balls": 0,
                "total_own_half_passes": 10,
                "accurate_own_half_passes": 9,
                "total_opp_half_passes": 16,
                "accurate_opp_half_passes": 14,
                "crosses_total": 4,
                "crosses_accurate": 2,
                "touches": 33,
                "possession_lost": 5.33,
                "dispossessed": 1.0,
                "duels_lost": 2,
                "aerial_won": 0,
                "aerial_lost": 1,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 8,
                "total_progression": 29,
                "progressive_carries": 1
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0950, quality 0.817)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0707,
                "assists": 0,
                "expected_goals": 0.0485,
                "rating": 7.5491,
                "minutes": 55,
                "total_pass": 28,
                "accurate_pass": 26,
                "ball_recovery": 7,
                "duels_won": 2,
                "total_shots": 0,
                "total_long_balls": 2,
                "accurate_long_balls": 0,
                "total_own_half_passes": 11,
                "accurate_own_half_passes": 10,
                "total_opp_half_passes": 17,
                "accurate_opp_half_passes": 15,
                "crosses_total": 4,
                "crosses_accurate": 2,
                "touches": 36,
                "possession_lost": 5.8366,
                "dispossessed": 1.095,
                "duels_lost": 2,
                "aerial_won": 0,
                "aerial_lost": 1,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 9,
                "total_progression": 31,
                "progressive_carries": 1
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0217)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0707,
                "assists": 0,
                "expected_goals": 0.0485,
                "rating": 7.5491,
                "minutes": 55,
                "total_pass": 28,
                "accurate_pass": 26,
                "ball_recovery": 7,
                "duels_won": 2,
                "total_shots": 0,
                "total_long_balls": 2,
                "accurate_long_balls": 0,
                "total_own_half_passes": 11,
                "accurate_own_half_passes": 10,
                "total_opp_half_passes": 17,
                "accurate_opp_half_passes": 15,
                "crosses_total": 4,
                "crosses_accurate": 2,
                "touches": 36,
                "possession_lost": 5.8366,
                "dispossessed": 1.095,
                "duels_lost": 2,
                "aerial_won": 0,
                "aerial_lost": 1,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 9,
                "total_progression": 31,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 1.25,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 40.6,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": -1.23
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0707,
                "assists": 0,
                "expected_goals": 0.0485,
                "rating": 7.5491,
                "minutes": 55,
                "total_pass": 28,
                "accurate_pass": 26,
                "ball_recovery": 7,
                "duels_won": 2,
                "total_shots": 0,
                "total_long_balls": 2,
                "accurate_long_balls": 0,
                "total_own_half_passes": 11,
                "accurate_own_half_passes": 10,
                "total_opp_half_passes": 17,
                "accurate_opp_half_passes": 15,
                "crosses_total": 4,
                "crosses_accurate": 2,
                "touches": 36,
                "possession_lost": 5.8366,
                "dispossessed": 1.095,
                "duels_lost": 2,
                "aerial_won": 0,
                "aerial_lost": 1,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 9,
                "total_progression": 31,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 1.25,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 40.6,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.0
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0707,
                "assists": 0,
                "expected_goals": 0.0485,
                "rating": 7.5491,
                "minutes": 55,
                "total_pass": 28,
                "accurate_pass": 26,
                "ball_recovery": 7,
                "duels_won": 2,
                "total_shots": 1,
                "total_long_balls": 2,
                "accurate_long_balls": 0,
                "total_own_half_passes": 11,
                "accurate_own_half_passes": 10,
                "total_opp_half_passes": 17,
                "accurate_opp_half_passes": 15,
                "crosses_total": 4,
                "crosses_accurate": 2,
                "touches": 36,
                "possession_lost": 5.8366,
                "dispossessed": 1.095,
                "duels_lost": 2,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 9,
                "total_progression": 31,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 1.25,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 40.6,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.7,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.397,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Sandro Tonali",
                "opponent_faced": "Sandro Tonali",
                "antagonist_source": "defensive_duel, attacking_duel, midfield_pairing"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.11 (squad xG sum 1.2008, xG scale 0.9260)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0707,
                "assists": 0,
                "expected_goals": 0.0449,
                "rating": 7.5491,
                "minutes": 55,
                "total_pass": 28,
                "accurate_pass": 26,
                "ball_recovery": 7,
                "duels_won": 2,
                "total_shots": 1,
                "total_long_balls": 2,
                "accurate_long_balls": 0,
                "total_own_half_passes": 11,
                "accurate_own_half_passes": 10,
                "total_opp_half_passes": 17,
                "accurate_opp_half_passes": 15,
                "crosses_total": 4,
                "crosses_accurate": 2,
                "touches": 36,
                "possession_lost": 5.8366,
                "dispossessed": 1.095,
                "duels_lost": 2,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 9,
                "total_progression": 31,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 1.25,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 40.6,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.7,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.397,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Sandro Tonali",
                "opponent_faced": "Sandro Tonali",
                "antagonist_source": "defensive_duel, attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 2, fifa_overall 82.0)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0707,
                "assists": 0,
                "expected_goals": 0.0449,
                "rating": 7.5491,
                "minutes": 55,
                "total_pass": 28,
                "accurate_pass": 26,
                "ball_recovery": 7,
                "duels_won": 2,
                "total_shots": 1,
                "total_long_balls": 2,
                "accurate_long_balls": 0,
                "total_own_half_passes": 11,
                "accurate_own_half_passes": 10,
                "total_opp_half_passes": 17,
                "accurate_opp_half_passes": 15,
                "crosses_total": 4,
                "crosses_accurate": 2,
                "touches": 36,
                "possession_lost": 5.8366,
                "dispossessed": 1.095,
                "duels_lost": 2,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 9,
                "total_progression": 31,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 1.25,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 40.6,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.7,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.397,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Sandro Tonali",
                "opponent_faced": "Sandro Tonali",
                "antagonist_source": "defensive_duel, attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 82.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0707,
                "assists": 0,
                "expected_goals": 0.0449,
                "rating": 7.5491,
                "minutes": 55,
                "total_pass": 28,
                "accurate_pass": 26,
                "ball_recovery": 7,
                "duels_won": 2,
                "total_shots": 1,
                "total_long_balls": 2,
                "accurate_long_balls": 0,
                "total_own_half_passes": 11,
                "accurate_own_half_passes": 10,
                "total_opp_half_passes": 17,
                "accurate_opp_half_passes": 15,
                "crosses_total": 4,
                "crosses_accurate": 2,
                "touches": 36,
                "possession_lost": 5.8366,
                "dispossessed": 1.095,
                "duels_lost": 2,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 9,
                "total_progression": 31,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 1.25,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 40.6,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.7,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.397,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Sandro Tonali",
                "opponent_faced": "Sandro Tonali",
                "antagonist_source": "defensive_duel, attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0199,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 82.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0707,
                "assists": 0,
                "expected_goals": 0.0449,
                "rating": 7.5491,
                "minutes": 55,
                "total_pass": 28,
                "accurate_pass": 26,
                "ball_recovery": 7,
                "duels_won": 2,
                "total_shots": 1,
                "total_long_balls": 2,
                "accurate_long_balls": 0,
                "total_own_half_passes": 11,
                "accurate_own_half_passes": 10,
                "total_opp_half_passes": 17,
                "accurate_opp_half_passes": 15,
                "crosses_total": 4,
                "crosses_accurate": 2,
                "touches": 36,
                "possession_lost": 5.8366,
                "dispossessed": 1.095,
                "duels_lost": 2,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 9,
                "total_progression": 31,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 1.25,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 40.6,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.7,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.397,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Sandro Tonali",
                "opponent_faced": "Sandro Tonali",
                "antagonist_source": "defensive_duel, attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0199,
                "projected_assists": 0,
                "assist_probability": 0.1281,
                "fifa_overall": 82.0
              }
            }
          ]
        },
        "Hayden Hackney": {
          "player_id": 1008471,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 30,
          "height": 178,
          "market_value": 35000000,
          "stats": {
            "key_pass": 1,
            "expected_assists": 0.0978,
            "assists": 0,
            "expected_goals": 0.0526,
            "rating": 7.4129,
            "minutes": 44,
            "total_pass": 27,
            "accurate_pass": 24,
            "ball_recovery": 3,
            "duels_won": 3,
            "total_shots": 2,
            "total_long_balls": 4,
            "accurate_long_balls": 1,
            "total_own_half_passes": 11,
            "accurate_own_half_passes": 10,
            "total_opp_half_passes": 16,
            "accurate_opp_half_passes": 14,
            "crosses_total": 2,
            "crosses_accurate": 1,
            "touches": 37,
            "possession_lost": 6.4535,
            "dispossessed": 1.0756,
            "duels_lost": 3,
            "aerial_won": 1,
            "aerial_lost": 1,
            "interceptions": 1,
            "tackles_won": 1,
            "tackles": 2,
            "clearances": 0,
            "total_contest": 3,
            "won_contest": 0,
            "challenges_lost": 2,
            "fouls": 1,
            "fouls_drawn": 3,
            "goal_rate": 0.0,
            "goals": 0,
            "shots_on_target": 0,
            "shots_off_target": 1,
            "blocks": 1,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "ball_carries": 10,
            "total_progression": 67,
            "progressive_carries": 1,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 0.0,
            "shotConversion": 0.0,
            "minutesPct": 59.4,
            "pointsPerMatch": 2.0,
            "netGoalDifferencePer90": 2.52,
            "dribbles_attempted": 4,
            "dribbles_successful": 1.7,
            "crosses_attempted": 2.4,
            "duel_win_rate": 0.47,
            "pressing_faced": "MEDIUM",
            "matchup_zone": "Right Wing vs Left Back — Flank Battle",
            "numerical_situation": "1v1",
            "opponent_defenders": "Destiny Udogie",
            "opponent_faced": "Destiny Udogie",
            "antagonist_source": "attacking_duel, midfield_pairing",
            "projected_goals": 0,
            "goal_probability": 0.0249,
            "projected_assists": 0,
            "assist_probability": 0.1403,
            "fifa_overall": 77.0
          },
          "latest_10_games": [
            {
              "match_id": 16363259.0,
              "match_date": "2026-09-06",
              "home_team": "Everton",
              "away_team": "Manchester United",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Everton",
              "opponent": "Manchester United",
              "stats": {
                "minutes": 15,
                "rating": 6.9,
                "assists": 1,
                "expected_goals": 0.0384,
                "expected_assists": 0.0892,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 15,
                "accurate_pass": 13,
                "key_pass": 2,
                "tackles": 1,
                "duels_won": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363247.0,
              "match_date": "2026-08-29",
              "home_team": "Bournemouth",
              "away_team": "Everton",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Everton",
              "opponent": "Bournemouth",
              "stats": {
                "minutes": 28,
                "rating": 6.6,
                "assists": 0,
                "expected_assists": 0.0115,
                "total_shots": 0,
                "total_pass": 17,
                "accurate_pass": 16,
                "interceptions": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363635.0,
              "match_date": "2026-08-22",
              "home_team": "Everton",
              "away_team": "Crystal Palace",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Everton",
              "opponent": "Crystal Palace",
              "stats": {
                "minutes": 79,
                "rating": 7.1,
                "assists": 0,
                "expected_goals": 0.0098,
                "expected_assists": 0.0091,
                "total_shots": 1,
                "total_pass": 43,
                "accurate_pass": 38,
                "key_pass": 1,
                "tackles": 2,
                "tackles_won": 1,
                "interceptions": 1,
                "duels_won": 5,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 2871,
            "combined_rank_score": 970.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 511.0,
            "sofascore_rating": 6.85,
            "sofascore_appearances": 2.0,
            "fifa_rank": 1429.0,
            "fifa_overall": 77.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 5,
            "squad_role": "starter",
            "projected_match_rating": 7.4129,
            "source_file": "data/player_rankings.csv",
            "player_name": "Hayden Hackney",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Miguel Loureiro",
                  "ranking": 2866
                },
                {
                  "player_name": "Saba Sazonov",
                  "ranking": 2867
                },
                {
                  "player_name": "Juan Pablo Nieto",
                  "ranking": 2868
                },
                {
                  "player_name": "Adalid Terrazas",
                  "ranking": 2869
                },
                {
                  "player_name": "Choi Sung-bum",
                  "ranking": 2870
                }
              ],
              "lower": [
                {
                  "player_name": "Marcelino Moreno",
                  "ranking": 2872
                },
                {
                  "player_name": "Dylan Escobar",
                  "ranking": 2873
                },
                {
                  "player_name": "Nicholas Pozo",
                  "ranking": 2874
                },
                {
                  "player_name": "Andreas Malin",
                  "ranking": 2875
                },
                {
                  "player_name": "Jauregizar",
                  "ranking": 2876
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.45,
          "history_matches": 3,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "M_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "keyPass",
              "expectedAssists",
              "totalCross",
              "accurateCross",
              "duelWon",
              "duelLost",
              "aerialWon",
              "ballRecovery",
              "touches",
              "interceptionWon",
              "wonTackle",
              "possessionLostCtrl",
              "dispossessed",
              "numberOfSprints",
              "kilometersCovered",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "creative_index",
              "touches_p90",
              "totalPass_p90",
              "keyPass_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "ballCarriesCount_p90",
              "creative_efficiency",
              "cross_accuracy",
              "cross_creative_contribution",
              "defensive_midfield_actions",
              "press_vulnerability",
              "progressive_carries_p90",
              "intensity_index",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "rating"
            ],
            "history_matches": 3,
            "data_confidence": 0.45,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.0756,
            "fbref_prior_metrics": {
              "squad": "Everton",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 1.0,
              "minutes": 107.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 0.84,
              "shots_on_target_pct": 0.0,
              "prior_reliability": 0.08
            },
            "rationale": "XGBoost regressor (M_service) evaluated 3 historical appearances across 5 target models; FBref 2026-2027 prior blended (Premier League, Everton, rel: 0.08, gls/90: 0.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 5 target models",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0909,
                "assists": 0,
                "expected_goals": 0.0528,
                "rating": 6.8919,
                "minutes": 41,
                "total_pass": 25,
                "accurate_pass": 22,
                "ball_recovery": 2,
                "duels_won": 3,
                "total_shots": 1,
                "total_long_balls": 4,
                "accurate_long_balls": 1,
                "total_own_half_passes": 10,
                "accurate_own_half_passes": 9,
                "total_opp_half_passes": 15,
                "accurate_opp_half_passes": 13,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 35,
                "possession_lost": 6.0,
                "dispossessed": 1.0,
                "duels_lost": 3,
                "aerial_won": 0,
                "aerial_lost": 1,
                "interceptions": 1,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 0,
                "total_contest": 3,
                "won_contest": 0,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 3,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 9,
                "total_progression": 62,
                "progressive_carries": 1
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0756, quality 0.752)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0978,
                "assists": 0,
                "expected_goals": 0.0568,
                "rating": 7.4129,
                "minutes": 44,
                "total_pass": 27,
                "accurate_pass": 24,
                "ball_recovery": 3,
                "duels_won": 3,
                "total_shots": 1,
                "total_long_balls": 4,
                "accurate_long_balls": 1,
                "total_own_half_passes": 11,
                "accurate_own_half_passes": 10,
                "total_opp_half_passes": 16,
                "accurate_opp_half_passes": 14,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 37,
                "possession_lost": 6.4535,
                "dispossessed": 1.0756,
                "duels_lost": 3,
                "aerial_won": 0,
                "aerial_lost": 1,
                "interceptions": 1,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 0,
                "total_contest": 3,
                "won_contest": 0,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 3,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 10,
                "total_progression": 67,
                "progressive_carries": 1
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0325)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0978,
                "assists": 0,
                "expected_goals": 0.0568,
                "rating": 7.4129,
                "minutes": 44,
                "total_pass": 27,
                "accurate_pass": 24,
                "ball_recovery": 3,
                "duels_won": 3,
                "total_shots": 1,
                "total_long_balls": 4,
                "accurate_long_balls": 1,
                "total_own_half_passes": 11,
                "accurate_own_half_passes": 10,
                "total_opp_half_passes": 16,
                "accurate_opp_half_passes": 14,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 37,
                "possession_lost": 6.4535,
                "dispossessed": 1.0756,
                "duels_lost": 3,
                "aerial_won": 0,
                "aerial_lost": 1,
                "interceptions": 1,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 0,
                "total_contest": 3,
                "won_contest": 0,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 3,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 10,
                "total_progression": 67,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 59.4,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 2.52
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0978,
                "assists": 0,
                "expected_goals": 0.0568,
                "rating": 7.4129,
                "minutes": 44,
                "total_pass": 27,
                "accurate_pass": 24,
                "ball_recovery": 3,
                "duels_won": 3,
                "total_shots": 1,
                "total_long_balls": 4,
                "accurate_long_balls": 1,
                "total_own_half_passes": 11,
                "accurate_own_half_passes": 10,
                "total_opp_half_passes": 16,
                "accurate_opp_half_passes": 14,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 37,
                "possession_lost": 6.4535,
                "dispossessed": 1.0756,
                "duels_lost": 3,
                "aerial_won": 0,
                "aerial_lost": 1,
                "interceptions": 1,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 0,
                "total_contest": 3,
                "won_contest": 0,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 3,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 10,
                "total_progression": 67,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 59.4,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 2.52
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0978,
                "assists": 0,
                "expected_goals": 0.0568,
                "rating": 7.4129,
                "minutes": 44,
                "total_pass": 27,
                "accurate_pass": 24,
                "ball_recovery": 3,
                "duels_won": 3,
                "total_shots": 2,
                "total_long_balls": 4,
                "accurate_long_balls": 1,
                "total_own_half_passes": 11,
                "accurate_own_half_passes": 10,
                "total_opp_half_passes": 16,
                "accurate_opp_half_passes": 14,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 37,
                "possession_lost": 6.4535,
                "dispossessed": 1.0756,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 1,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 0,
                "total_contest": 3,
                "won_contest": 0,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 3,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 10,
                "total_progression": 67,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 59.4,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 2.52,
                "dribbles_attempted": 4,
                "dribbles_successful": 1.7,
                "crosses_attempted": 2.4,
                "duel_win_rate": 0.47,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "Right Wing vs Left Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Destiny Udogie",
                "opponent_faced": "Destiny Udogie",
                "antagonist_source": "attacking_duel, midfield_pairing"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.11 (squad xG sum 1.2008, xG scale 0.9260)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0978,
                "assists": 0,
                "expected_goals": 0.0526,
                "rating": 7.4129,
                "minutes": 44,
                "total_pass": 27,
                "accurate_pass": 24,
                "ball_recovery": 3,
                "duels_won": 3,
                "total_shots": 2,
                "total_long_balls": 4,
                "accurate_long_balls": 1,
                "total_own_half_passes": 11,
                "accurate_own_half_passes": 10,
                "total_opp_half_passes": 16,
                "accurate_opp_half_passes": 14,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 37,
                "possession_lost": 6.4535,
                "dispossessed": 1.0756,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 1,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 0,
                "total_contest": 3,
                "won_contest": 0,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 3,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 10,
                "total_progression": 67,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 59.4,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 2.52,
                "dribbles_attempted": 4,
                "dribbles_successful": 1.7,
                "crosses_attempted": 2.4,
                "duel_win_rate": 0.47,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "Right Wing vs Left Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Destiny Udogie",
                "opponent_faced": "Destiny Udogie",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 5, fifa_overall 77.0)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0978,
                "assists": 0,
                "expected_goals": 0.0526,
                "rating": 7.4129,
                "minutes": 44,
                "total_pass": 27,
                "accurate_pass": 24,
                "ball_recovery": 3,
                "duels_won": 3,
                "total_shots": 2,
                "total_long_balls": 4,
                "accurate_long_balls": 1,
                "total_own_half_passes": 11,
                "accurate_own_half_passes": 10,
                "total_opp_half_passes": 16,
                "accurate_opp_half_passes": 14,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 37,
                "possession_lost": 6.4535,
                "dispossessed": 1.0756,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 1,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 0,
                "total_contest": 3,
                "won_contest": 0,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 3,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 10,
                "total_progression": 67,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 59.4,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 2.52,
                "dribbles_attempted": 4,
                "dribbles_successful": 1.7,
                "crosses_attempted": 2.4,
                "duel_win_rate": 0.47,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "Right Wing vs Left Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Destiny Udogie",
                "opponent_faced": "Destiny Udogie",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 77.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0978,
                "assists": 0,
                "expected_goals": 0.0526,
                "rating": 7.4129,
                "minutes": 44,
                "total_pass": 27,
                "accurate_pass": 24,
                "ball_recovery": 3,
                "duels_won": 3,
                "total_shots": 2,
                "total_long_balls": 4,
                "accurate_long_balls": 1,
                "total_own_half_passes": 11,
                "accurate_own_half_passes": 10,
                "total_opp_half_passes": 16,
                "accurate_opp_half_passes": 14,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 37,
                "possession_lost": 6.4535,
                "dispossessed": 1.0756,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 1,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 0,
                "total_contest": 3,
                "won_contest": 0,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 3,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 10,
                "total_progression": 67,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 59.4,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 2.52,
                "dribbles_attempted": 4,
                "dribbles_successful": 1.7,
                "crosses_attempted": 2.4,
                "duel_win_rate": 0.47,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "Right Wing vs Left Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Destiny Udogie",
                "opponent_faced": "Destiny Udogie",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0249,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 77.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0978,
                "assists": 0,
                "expected_goals": 0.0526,
                "rating": 7.4129,
                "minutes": 44,
                "total_pass": 27,
                "accurate_pass": 24,
                "ball_recovery": 3,
                "duels_won": 3,
                "total_shots": 2,
                "total_long_balls": 4,
                "accurate_long_balls": 1,
                "total_own_half_passes": 11,
                "accurate_own_half_passes": 10,
                "total_opp_half_passes": 16,
                "accurate_opp_half_passes": 14,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 37,
                "possession_lost": 6.4535,
                "dispossessed": 1.0756,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 1,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 0,
                "total_contest": 3,
                "won_contest": 0,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 3,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 10,
                "total_progression": 67,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 59.4,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 2.52,
                "dribbles_attempted": 4,
                "dribbles_successful": 1.7,
                "crosses_attempted": 2.4,
                "duel_win_rate": 0.47,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "Right Wing vs Left Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Destiny Udogie",
                "opponent_faced": "Destiny Udogie",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0249,
                "projected_assists": 0,
                "assist_probability": 0.1403,
                "fifa_overall": 77.0
              }
            }
          ]
        },
        "Vitaliy Mykolenko": {
          "player_id": 876643,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 16,
          "height": 180,
          "market_value": 26000000,
          "stats": {
            "interceptions": 1,
            "tackles": 2,
            "tackles_won": 1,
            "clearances": 4,
            "aerial_won": 1,
            "rating": 6.9654,
            "minutes": 95,
            "total_pass": 40,
            "accurate_pass": 32,
            "duels_won": 6,
            "total_long_balls": 5,
            "accurate_long_balls": 1,
            "total_own_half_passes": 17,
            "accurate_own_half_passes": 15,
            "total_opp_half_passes": 23,
            "accurate_opp_half_passes": 17,
            "crosses_total": 4,
            "crosses_accurate": 0,
            "touches": 68,
            "possession_lost": 16.1847,
            "dispossessed": 1.0558,
            "duels_lost": 4,
            "aerial_lost": 3,
            "total_contest": 1,
            "won_contest": 1,
            "ball_recovery": 5,
            "challenges_lost": 1,
            "fouls": 1,
            "fouls_drawn": 2,
            "blocks": 4,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.0,
            "expected_assists": 0.0211,
            "total_shots": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0,
            "ball_carries": 11,
            "total_progression": 26,
            "progressive_carries": 1,
            "key_pass": 1,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "minutesPct": 100.0,
            "pointsPerMatch": 2.0,
            "netGoalDifferencePer90": 1.0,
            "tackles_in_zone": 1.1,
            "tackles_won_in_zone": 1.1,
            "interceptions_in_zone": 1.1,
            "clearances_in_zone": 1.0,
            "aerial_duels_won": 0.7,
            "defensive_success_rate": 0.771,
            "opponent_faced": "Omar Marmoush",
            "pressing_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
            "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
            "antagonist_source": "defensive_duel",
            "projected_goals": 0,
            "goal_probability": 0.0101,
            "projected_assists": 0,
            "assist_probability": 0.0311,
            "fifa_overall": 77.0
          },
          "latest_10_games": [
            {
              "match_id": 16363259.0,
              "match_date": "2026-09-06",
              "home_team": "Everton",
              "away_team": "Manchester United",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Everton",
              "opponent": "Manchester United",
              "stats": {
                "minutes": 90,
                "rating": 6.7,
                "assists": 0,
                "expected_assists": 0.0098,
                "total_shots": 0,
                "total_pass": 39,
                "accurate_pass": 35,
                "tackles": 3,
                "tackles_won": 1,
                "interceptions": 2,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 6,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363247.0,
              "match_date": "2026-08-29",
              "home_team": "Bournemouth",
              "away_team": "Everton",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Everton",
              "opponent": "Bournemouth",
              "stats": {
                "minutes": 90,
                "rating": 6.9,
                "assists": 0,
                "expected_assists": 0.0056,
                "total_shots": 0,
                "total_pass": 36,
                "accurate_pass": 23,
                "tackles": 1,
                "interceptions": 1,
                "clearances": 6,
                "aerial_won": 4,
                "duels_won": 6,
                "ball_recovery": 7
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363635.0,
              "match_date": "2026-08-22",
              "home_team": "Everton",
              "away_team": "Crystal Palace",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Everton",
              "opponent": "Crystal Palace",
              "stats": {
                "minutes": 90,
                "rating": 7.2,
                "assists": 0,
                "expected_assists": 0.0478,
                "total_shots": 0,
                "total_pass": 39,
                "accurate_pass": 33,
                "key_pass": 1,
                "clearances": 4,
                "aerial_won": 3,
                "duels_won": 4,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 2376,
            "combined_rank_score": 858.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 292.0,
            "sofascore_rating": 7.05,
            "sofascore_appearances": 2.0,
            "fifa_rank": 1424.0,
            "fifa_overall": 77.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 8,
            "squad_role": "starter",
            "projected_match_rating": 6.9654,
            "source_file": "data/player_rankings.csv",
            "player_name": "Vitaliy Mykolenko",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Kaheim Dixon",
                  "ranking": 2371
                },
                {
                  "player_name": "Alejandro Mestanza",
                  "ranking": 2372
                },
                {
                  "player_name": "Eun-gyul Eo",
                  "ranking": 2373
                },
                {
                  "player_name": "Bogdan Mykhaylichenko",
                  "ranking": 2374
                },
                {
                  "player_name": "Lewis Ferguson",
                  "ranking": 2375
                }
              ],
              "lower": [
                {
                  "player_name": "Douglas Luiz",
                  "ranking": 2377
                },
                {
                  "player_name": "Bayron Oyarzo",
                  "ranking": 2378
                },
                {
                  "player_name": "Ignacio Mesías",
                  "ranking": 2379
                },
                {
                  "player_name": "Virgiliu Postolachi",
                  "ranking": 2380
                },
                {
                  "player_name": "Jung Se-jun",
                  "ranking": 2381
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.457,
          "history_matches": 3,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "D_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalLongBalls",
              "totalOppositionHalfPasses",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "ballRecovery",
              "touches",
              "totalClearance",
              "wonTackle",
              "interceptionWon",
              "dispossessed",
              "challengeLost",
              "errorLeadToAShot",
              "errorLeadToAGoal",
              "possessionLostCtrl",
              "passValueNormalized",
              "defensiveValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "long_ball_accuracy",
              "defensive_actions",
              "tackle_success_rate",
              "touches_p90",
              "totalTackle_p90",
              "interceptionWon_p90",
              "totalClearance_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "press_vulnerability",
              "error_severity",
              "aerial_dominance",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "interceptionWon",
              "totalTackle",
              "wonTackle",
              "totalClearance",
              "aerialWon",
              "rating"
            ],
            "history_matches": 3,
            "data_confidence": 0.457,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.0558,
            "fbref_prior_metrics": {
              "squad": "Everton",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 2.0,
              "minutes": 180.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 0.0,
              "prior_reliability": 0.1333
            },
            "rationale": "XGBoost regressor (D_service) evaluated 3 historical appearances across 6 target models; FBref 2026-2027 prior blended (Premier League, Everton, rel: 0.13, gls/90: 0.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 6 target models",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "rating": 6.5976,
                "minutes": 90,
                "total_pass": 38,
                "accurate_pass": 30,
                "duels_won": 5,
                "total_long_balls": 5,
                "accurate_long_balls": 1,
                "total_own_half_passes": 16,
                "accurate_own_half_passes": 14,
                "total_opp_half_passes": 22,
                "accurate_opp_half_passes": 16,
                "crosses_total": 4,
                "crosses_accurate": 0,
                "touches": 64,
                "possession_lost": 15.33,
                "dispossessed": 1.0,
                "duels_lost": 3,
                "aerial_lost": 2,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 5,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 2,
                "blocks": 4,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.02,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 11,
                "total_progression": 25,
                "progressive_carries": 1,
                "key_pass": 1
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0558, quality 0.686)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "rating": 6.9654,
                "minutes": 95,
                "total_pass": 40,
                "accurate_pass": 32,
                "duels_won": 6,
                "total_long_balls": 5,
                "accurate_long_balls": 1,
                "total_own_half_passes": 17,
                "accurate_own_half_passes": 15,
                "total_opp_half_passes": 23,
                "accurate_opp_half_passes": 17,
                "crosses_total": 4,
                "crosses_accurate": 0,
                "touches": 68,
                "possession_lost": 16.1847,
                "dispossessed": 1.0558,
                "duels_lost": 4,
                "aerial_lost": 3,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 5,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 2,
                "blocks": 4,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0211,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 11,
                "total_progression": 26,
                "progressive_carries": 1,
                "key_pass": 1
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0542)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "rating": 6.9654,
                "minutes": 95,
                "total_pass": 40,
                "accurate_pass": 32,
                "duels_won": 6,
                "total_long_balls": 5,
                "accurate_long_balls": 1,
                "total_own_half_passes": 17,
                "accurate_own_half_passes": 15,
                "total_opp_half_passes": 23,
                "accurate_opp_half_passes": 17,
                "crosses_total": 4,
                "crosses_accurate": 0,
                "touches": 68,
                "possession_lost": 16.1847,
                "dispossessed": 1.0558,
                "duels_lost": 4,
                "aerial_lost": 3,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 5,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 2,
                "blocks": 4,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0211,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 11,
                "total_progression": 26,
                "progressive_carries": 1,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 1.0
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "rating": 6.9654,
                "minutes": 95,
                "total_pass": 40,
                "accurate_pass": 32,
                "duels_won": 6,
                "total_long_balls": 5,
                "accurate_long_balls": 1,
                "total_own_half_passes": 17,
                "accurate_own_half_passes": 15,
                "total_opp_half_passes": 23,
                "accurate_opp_half_passes": 17,
                "crosses_total": 4,
                "crosses_accurate": 0,
                "touches": 68,
                "possession_lost": 16.1847,
                "dispossessed": 1.0558,
                "duels_lost": 4,
                "aerial_lost": 3,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 5,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 2,
                "blocks": 4,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0211,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 11,
                "total_progression": 26,
                "progressive_carries": 1,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 1.0
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "rating": 6.9654,
                "minutes": 95,
                "total_pass": 40,
                "accurate_pass": 32,
                "duels_won": 6,
                "total_long_balls": 5,
                "accurate_long_balls": 1,
                "total_own_half_passes": 17,
                "accurate_own_half_passes": 15,
                "total_opp_half_passes": 23,
                "accurate_opp_half_passes": 17,
                "crosses_total": 4,
                "crosses_accurate": 0,
                "touches": 68,
                "possession_lost": 16.1847,
                "dispossessed": 1.0558,
                "duels_lost": 4,
                "aerial_lost": 3,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 5,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 2,
                "blocks": 4,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0211,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 11,
                "total_progression": 26,
                "progressive_carries": 1,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 1.0,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.1,
                "interceptions_in_zone": 1.1,
                "clearances_in_zone": 1.0,
                "aerial_duels_won": 0.7,
                "defensive_success_rate": 0.771,
                "opponent_faced": "Omar Marmoush",
                "pressing_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "antagonist_source": "defensive_duel"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.11 (squad xG sum 1.2008, xG scale 0.9260)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "rating": 6.9654,
                "minutes": 95,
                "total_pass": 40,
                "accurate_pass": 32,
                "duels_won": 6,
                "total_long_balls": 5,
                "accurate_long_balls": 1,
                "total_own_half_passes": 17,
                "accurate_own_half_passes": 15,
                "total_opp_half_passes": 23,
                "accurate_opp_half_passes": 17,
                "crosses_total": 4,
                "crosses_accurate": 0,
                "touches": 68,
                "possession_lost": 16.1847,
                "dispossessed": 1.0558,
                "duels_lost": 4,
                "aerial_lost": 3,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 5,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 2,
                "blocks": 4,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0211,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 11,
                "total_progression": 26,
                "progressive_carries": 1,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 1.0,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.1,
                "interceptions_in_zone": 1.1,
                "clearances_in_zone": 1.0,
                "aerial_duels_won": 0.7,
                "defensive_success_rate": 0.771,
                "opponent_faced": "Omar Marmoush",
                "pressing_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 8, fifa_overall 77.0)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "rating": 6.9654,
                "minutes": 95,
                "total_pass": 40,
                "accurate_pass": 32,
                "duels_won": 6,
                "total_long_balls": 5,
                "accurate_long_balls": 1,
                "total_own_half_passes": 17,
                "accurate_own_half_passes": 15,
                "total_opp_half_passes": 23,
                "accurate_opp_half_passes": 17,
                "crosses_total": 4,
                "crosses_accurate": 0,
                "touches": 68,
                "possession_lost": 16.1847,
                "dispossessed": 1.0558,
                "duels_lost": 4,
                "aerial_lost": 3,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 5,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 2,
                "blocks": 4,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0211,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 11,
                "total_progression": 26,
                "progressive_carries": 1,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 1.0,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.1,
                "interceptions_in_zone": 1.1,
                "clearances_in_zone": 1.0,
                "aerial_duels_won": 0.7,
                "defensive_success_rate": 0.771,
                "opponent_faced": "Omar Marmoush",
                "pressing_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 77.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "rating": 6.9654,
                "minutes": 95,
                "total_pass": 40,
                "accurate_pass": 32,
                "duels_won": 6,
                "total_long_balls": 5,
                "accurate_long_balls": 1,
                "total_own_half_passes": 17,
                "accurate_own_half_passes": 15,
                "total_opp_half_passes": 23,
                "accurate_opp_half_passes": 17,
                "crosses_total": 4,
                "crosses_accurate": 0,
                "touches": 68,
                "possession_lost": 16.1847,
                "dispossessed": 1.0558,
                "duels_lost": 4,
                "aerial_lost": 3,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 5,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 2,
                "blocks": 4,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0211,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 11,
                "total_progression": 26,
                "progressive_carries": 1,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 1.0,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.1,
                "interceptions_in_zone": 1.1,
                "clearances_in_zone": 1.0,
                "aerial_duels_won": 0.7,
                "defensive_success_rate": 0.771,
                "opponent_faced": "Omar Marmoush",
                "pressing_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0101,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 77.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "rating": 6.9654,
                "minutes": 95,
                "total_pass": 40,
                "accurate_pass": 32,
                "duels_won": 6,
                "total_long_balls": 5,
                "accurate_long_balls": 1,
                "total_own_half_passes": 17,
                "accurate_own_half_passes": 15,
                "total_opp_half_passes": 23,
                "accurate_opp_half_passes": 17,
                "crosses_total": 4,
                "crosses_accurate": 0,
                "touches": 68,
                "possession_lost": 16.1847,
                "dispossessed": 1.0558,
                "duels_lost": 4,
                "aerial_lost": 3,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 5,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 2,
                "blocks": 4,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0211,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 11,
                "total_progression": 26,
                "progressive_carries": 1,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 1.0,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.1,
                "interceptions_in_zone": 1.1,
                "clearances_in_zone": 1.0,
                "aerial_duels_won": 0.7,
                "defensive_success_rate": 0.771,
                "opponent_faced": "Omar Marmoush",
                "pressing_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0101,
                "projected_assists": 0,
                "assist_probability": 0.0311,
                "fifa_overall": 77.0
              }
            }
          ]
        },
        "Jarrad Branthwaite": {
          "player_id": 979563,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 32,
          "height": 195,
          "market_value": 41000000,
          "stats": {
            "interceptions": 1,
            "tackles": 2,
            "tackles_won": 1,
            "clearances": 6,
            "aerial_won": 2,
            "rating": 7.2946,
            "minutes": 95,
            "total_pass": 43,
            "accurate_pass": 37,
            "duels_won": 5,
            "total_long_balls": 7,
            "accurate_long_balls": 3,
            "total_own_half_passes": 25,
            "accurate_own_half_passes": 24,
            "total_opp_half_passes": 18,
            "accurate_opp_half_passes": 13,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 59,
            "possession_lost": 6.873,
            "dispossessed": 0.0,
            "duels_lost": 3,
            "aerial_lost": 1,
            "total_contest": 1,
            "won_contest": 0,
            "ball_recovery": 3,
            "challenges_lost": 0,
            "fouls": 1,
            "fouls_drawn": 0,
            "blocks": 3,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.0805,
            "expected_assists": 0.0109,
            "total_shots": 2,
            "shots_on_target": 2,
            "shots_off_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0977,
            "ball_carries": 11,
            "total_progression": 21,
            "progressive_carries": 0,
            "key_pass": 0,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 100.0,
            "shotConversion": 0.0,
            "minutesPct": 100.0,
            "pointsPerMatch": 2.0,
            "netGoalDifferencePer90": 1.0,
            "tackles_in_zone": 1.1,
            "tackles_won_in_zone": 1.2,
            "interceptions_in_zone": 1.3,
            "clearances_in_zone": 1.1,
            "aerial_duels_won": 0.7,
            "defensive_success_rate": 0.771,
            "opponent_faced": "Omar Marmoush",
            "pressing_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
            "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
            "antagonist_source": "defensive_duel",
            "projected_goals": 0,
            "goal_probability": 0.068,
            "projected_assists": 0,
            "assist_probability": 0.0093,
            "fifa_overall": 79.0
          },
          "latest_10_games": [
            {
              "match_id": 16363259.0,
              "match_date": "2026-09-06",
              "home_team": "Everton",
              "away_team": "Manchester United",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Everton",
              "opponent": "Manchester United",
              "stats": {
                "minutes": 90,
                "rating": 7.0,
                "assists": 0,
                "expected_goals": 0.076,
                "expected_assists": 0.003,
                "total_shots": 2,
                "shots_on_target": 2,
                "total_pass": 54,
                "accurate_pass": 48,
                "tackles": 1,
                "interceptions": 2,
                "clearances": 4,
                "aerial_won": 4,
                "duels_won": 5,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363247.0,
              "match_date": "2026-08-29",
              "home_team": "Bournemouth",
              "away_team": "Everton",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Everton",
              "opponent": "Bournemouth",
              "stats": {
                "minutes": 90,
                "rating": 6.3,
                "assists": 0,
                "expected_goals": 0.085,
                "expected_assists": 0.0052,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 27,
                "accurate_pass": 19,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 2,
                "clearances": 9,
                "aerial_won": 2,
                "duels_won": 3,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363635.0,
              "match_date": "2026-08-22",
              "home_team": "Everton",
              "away_team": "Crystal Palace",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Everton",
              "opponent": "Crystal Palace",
              "stats": {
                "minutes": 90,
                "rating": 7.5,
                "assists": 0,
                "expected_assists": 0.0127,
                "total_shots": 0,
                "total_pass": 38,
                "accurate_pass": 35,
                "tackles": 2,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 4,
                "aerial_won": 4,
                "duels_won": 6,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 1455,
            "combined_rank_score": 601.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 332.0,
            "sofascore_rating": 7.01,
            "sofascore_appearances": 10.0,
            "fifa_rank": 870.0,
            "fifa_overall": 79.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 3,
            "squad_role": "starter",
            "projected_match_rating": 7.2946,
            "source_file": "data/player_rankings.csv",
            "player_name": "Jarrad Branthwaite",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Curtis Jones",
                  "ranking": 1450
                },
                {
                  "player_name": "Álvaro García",
                  "ranking": 1451
                },
                {
                  "player_name": "Natan",
                  "ranking": 1452
                },
                {
                  "player_name": "Ayoze Pérez",
                  "ranking": 1453
                },
                {
                  "player_name": "Mike Penders",
                  "ranking": 1454
                }
              ],
              "lower": [
                {
                  "player_name": "Leonardo Valencia",
                  "ranking": 1456
                },
                {
                  "player_name": "Gulyamkhaydar Gulyamov",
                  "ranking": 1457
                },
                {
                  "player_name": "Lachlan Wales",
                  "ranking": 1458
                },
                {
                  "player_name": "Yankuba Minteh",
                  "ranking": 1459
                },
                {
                  "player_name": "Ladislav Krejčí",
                  "ranking": 1460
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.457,
          "history_matches": 3,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "D_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalLongBalls",
              "totalOppositionHalfPasses",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "ballRecovery",
              "touches",
              "totalClearance",
              "wonTackle",
              "interceptionWon",
              "dispossessed",
              "challengeLost",
              "errorLeadToAShot",
              "errorLeadToAGoal",
              "possessionLostCtrl",
              "passValueNormalized",
              "defensiveValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "long_ball_accuracy",
              "defensive_actions",
              "tackle_success_rate",
              "touches_p90",
              "totalTackle_p90",
              "interceptionWon_p90",
              "totalClearance_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "press_vulnerability",
              "error_severity",
              "aerial_dominance",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "interceptionWon",
              "totalTackle",
              "wonTackle",
              "totalClearance",
              "aerialWon",
              "rating"
            ],
            "history_matches": 3,
            "data_confidence": 0.457,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.0858,
            "fbref_prior_metrics": {
              "squad": "Everton",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 2.0,
              "minutes": 180.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 0.5,
              "shots_on_target_pct": 100.0,
              "prior_reliability": 0.1333
            },
            "rationale": "XGBoost regressor (D_service) evaluated 3 historical appearances across 6 target models; FBref 2026-2027 prior blended (Premier League, Everton, rel: 0.13, gls/90: 0.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 6 target models",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 6,
                "aerial_won": 2,
                "rating": 6.7183,
                "minutes": 90,
                "total_pass": 40,
                "accurate_pass": 34,
                "duels_won": 5,
                "total_long_balls": 6,
                "accurate_long_balls": 3,
                "total_own_half_passes": 23,
                "accurate_own_half_passes": 22,
                "total_opp_half_passes": 16,
                "accurate_opp_half_passes": 12,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 54,
                "possession_lost": 6.33,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.08,
                "expected_assists": 0.01,
                "total_shots": 2,
                "shots_on_target": 2,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.09,
                "ball_carries": 10,
                "total_progression": 20,
                "progressive_carries": 0,
                "key_pass": 0
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0858, quality 0.786)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 6,
                "aerial_won": 2,
                "rating": 7.2946,
                "minutes": 95,
                "total_pass": 43,
                "accurate_pass": 37,
                "duels_won": 5,
                "total_long_balls": 7,
                "accurate_long_balls": 3,
                "total_own_half_passes": 25,
                "accurate_own_half_passes": 24,
                "total_opp_half_passes": 18,
                "accurate_opp_half_passes": 13,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 59,
                "possession_lost": 6.873,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "blocks": 3,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0869,
                "expected_assists": 0.0109,
                "total_shots": 2,
                "shots_on_target": 2,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0977,
                "ball_carries": 11,
                "total_progression": 21,
                "progressive_carries": 0,
                "key_pass": 0
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0542)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 6,
                "aerial_won": 2,
                "rating": 7.2946,
                "minutes": 95,
                "total_pass": 43,
                "accurate_pass": 37,
                "duels_won": 5,
                "total_long_balls": 7,
                "accurate_long_balls": 3,
                "total_own_half_passes": 25,
                "accurate_own_half_passes": 24,
                "total_opp_half_passes": 18,
                "accurate_opp_half_passes": 13,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 59,
                "possession_lost": 6.873,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "blocks": 3,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0869,
                "expected_assists": 0.0109,
                "total_shots": 2,
                "shots_on_target": 2,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0977,
                "ball_carries": 11,
                "total_progression": 21,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 1.0
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 6,
                "aerial_won": 2,
                "rating": 7.2946,
                "minutes": 95,
                "total_pass": 43,
                "accurate_pass": 37,
                "duels_won": 5,
                "total_long_balls": 7,
                "accurate_long_balls": 3,
                "total_own_half_passes": 25,
                "accurate_own_half_passes": 24,
                "total_opp_half_passes": 18,
                "accurate_opp_half_passes": 13,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 59,
                "possession_lost": 6.873,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "blocks": 3,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0869,
                "expected_assists": 0.0109,
                "total_shots": 2,
                "shots_on_target": 2,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0977,
                "ball_carries": 11,
                "total_progression": 21,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 1.0
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 6,
                "aerial_won": 2,
                "rating": 7.2946,
                "minutes": 95,
                "total_pass": 43,
                "accurate_pass": 37,
                "duels_won": 5,
                "total_long_balls": 7,
                "accurate_long_balls": 3,
                "total_own_half_passes": 25,
                "accurate_own_half_passes": 24,
                "total_opp_half_passes": 18,
                "accurate_opp_half_passes": 13,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 59,
                "possession_lost": 6.873,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "blocks": 3,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0869,
                "expected_assists": 0.0109,
                "total_shots": 2,
                "shots_on_target": 2,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0977,
                "ball_carries": 11,
                "total_progression": 21,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 1.0,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.2,
                "interceptions_in_zone": 1.3,
                "clearances_in_zone": 1.1,
                "aerial_duels_won": 0.7,
                "defensive_success_rate": 0.771,
                "opponent_faced": "Omar Marmoush",
                "pressing_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "antagonist_source": "defensive_duel"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.11 (squad xG sum 1.2008, xG scale 0.9260)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 6,
                "aerial_won": 2,
                "rating": 7.2946,
                "minutes": 95,
                "total_pass": 43,
                "accurate_pass": 37,
                "duels_won": 5,
                "total_long_balls": 7,
                "accurate_long_balls": 3,
                "total_own_half_passes": 25,
                "accurate_own_half_passes": 24,
                "total_opp_half_passes": 18,
                "accurate_opp_half_passes": 13,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 59,
                "possession_lost": 6.873,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "blocks": 3,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0805,
                "expected_assists": 0.0109,
                "total_shots": 2,
                "shots_on_target": 2,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0977,
                "ball_carries": 11,
                "total_progression": 21,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 1.0,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.2,
                "interceptions_in_zone": 1.3,
                "clearances_in_zone": 1.1,
                "aerial_duels_won": 0.7,
                "defensive_success_rate": 0.771,
                "opponent_faced": "Omar Marmoush",
                "pressing_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 3, fifa_overall 79.0)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 6,
                "aerial_won": 2,
                "rating": 7.2946,
                "minutes": 95,
                "total_pass": 43,
                "accurate_pass": 37,
                "duels_won": 5,
                "total_long_balls": 7,
                "accurate_long_balls": 3,
                "total_own_half_passes": 25,
                "accurate_own_half_passes": 24,
                "total_opp_half_passes": 18,
                "accurate_opp_half_passes": 13,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 59,
                "possession_lost": 6.873,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "blocks": 3,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0805,
                "expected_assists": 0.0109,
                "total_shots": 2,
                "shots_on_target": 2,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0977,
                "ball_carries": 11,
                "total_progression": 21,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 1.0,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.2,
                "interceptions_in_zone": 1.3,
                "clearances_in_zone": 1.1,
                "aerial_duels_won": 0.7,
                "defensive_success_rate": 0.771,
                "opponent_faced": "Omar Marmoush",
                "pressing_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 79.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 6,
                "aerial_won": 2,
                "rating": 7.2946,
                "minutes": 95,
                "total_pass": 43,
                "accurate_pass": 37,
                "duels_won": 5,
                "total_long_balls": 7,
                "accurate_long_balls": 3,
                "total_own_half_passes": 25,
                "accurate_own_half_passes": 24,
                "total_opp_half_passes": 18,
                "accurate_opp_half_passes": 13,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 59,
                "possession_lost": 6.873,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "blocks": 3,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0805,
                "expected_assists": 0.0109,
                "total_shots": 2,
                "shots_on_target": 2,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0977,
                "ball_carries": 11,
                "total_progression": 21,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 1.0,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.2,
                "interceptions_in_zone": 1.3,
                "clearances_in_zone": 1.1,
                "aerial_duels_won": 0.7,
                "defensive_success_rate": 0.771,
                "opponent_faced": "Omar Marmoush",
                "pressing_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.068,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 79.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 6,
                "aerial_won": 2,
                "rating": 7.2946,
                "minutes": 95,
                "total_pass": 43,
                "accurate_pass": 37,
                "duels_won": 5,
                "total_long_balls": 7,
                "accurate_long_balls": 3,
                "total_own_half_passes": 25,
                "accurate_own_half_passes": 24,
                "total_opp_half_passes": 18,
                "accurate_opp_half_passes": 13,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 59,
                "possession_lost": 6.873,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "blocks": 3,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0805,
                "expected_assists": 0.0109,
                "total_shots": 2,
                "shots_on_target": 2,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0977,
                "ball_carries": 11,
                "total_progression": 21,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 1.0,
                "tackles_in_zone": 1.1,
                "tackles_won_in_zone": 1.2,
                "interceptions_in_zone": 1.3,
                "clearances_in_zone": 1.1,
                "aerial_duels_won": 0.7,
                "defensive_success_rate": 0.771,
                "opponent_faced": "Omar Marmoush",
                "pressing_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.068,
                "projected_assists": 0,
                "assist_probability": 0.0093,
                "fifa_overall": 79.0
              }
            }
          ]
        },
        "James Tarkowski": {
          "player_id": 145188,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 6,
          "height": 185,
          "market_value": 5200000,
          "stats": {
            "interceptions": 1,
            "tackles": 2,
            "tackles_won": 1,
            "clearances": 4,
            "aerial_won": 1,
            "rating": 6.5807,
            "minutes": 89,
            "total_pass": 41,
            "accurate_pass": 34,
            "duels_won": 7,
            "total_long_balls": 8,
            "accurate_long_balls": 4,
            "total_own_half_passes": 24,
            "accurate_own_half_passes": 22,
            "total_opp_half_passes": 17,
            "accurate_opp_half_passes": 12,
            "crosses_total": 1,
            "crosses_accurate": 0,
            "touches": 57,
            "possession_lost": 8.9045,
            "dispossessed": 0.0,
            "duels_lost": 2,
            "aerial_lost": 1,
            "total_contest": 1,
            "won_contest": 0,
            "ball_recovery": 3,
            "challenges_lost": 0,
            "fouls": 1,
            "fouls_drawn": 2,
            "blocks": 1,
            "goal_rate": 0.9629,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.0458,
            "expected_assists": 0.0,
            "total_shots": 2,
            "shots_on_target": 1,
            "shots_off_target": 1,
            "big_chances_created": 0,
            "xgot": 0.3067,
            "ball_carries": 11,
            "total_progression": 60,
            "progressive_carries": 1,
            "key_pass": 1,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 50.0,
            "shotConversion": 0.5,
            "minutesPct": 100.0,
            "pointsPerMatch": 2.0,
            "netGoalDifferencePer90": 1.0,
            "opponent_faced": "Mathys Tel",
            "matchup_zone": "Shape fallback",
            "antagonist_source": "formation_fallback",
            "projected_goals": 0,
            "goal_probability": 0.0855,
            "projected_assists": 0,
            "assist_probability": 0.0261,
            "fifa_overall": 80.0
          },
          "latest_10_games": [
            {
              "match_id": 16363259.0,
              "match_date": "2026-09-06",
              "home_team": "Everton",
              "away_team": "Manchester United",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Everton",
              "opponent": "Manchester United",
              "stats": {
                "minutes": 90,
                "rating": 7.3,
                "assists": 0,
                "expected_goals": 0.0186,
                "expected_assists": 0.0055,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 53,
                "accurate_pass": 43,
                "tackles": 3,
                "tackles_won": 3,
                "interceptions": 4,
                "clearances": 4,
                "aerial_won": 4,
                "duels_won": 7,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363247.0,
              "match_date": "2026-08-29",
              "home_team": "Bournemouth",
              "away_team": "Everton",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Everton",
              "opponent": "Bournemouth",
              "stats": {
                "minutes": 90,
                "rating": 8.1,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.0951,
                "expected_assists": 0.006,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 40,
                "accurate_pass": 34,
                "key_pass": 1,
                "tackles": 1,
                "interceptions": 3,
                "clearances": 5,
                "aerial_won": 5,
                "duels_won": 9,
                "ball_recovery": 3
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363635.0,
              "match_date": "2026-08-22",
              "home_team": "Everton",
              "away_team": "Crystal Palace",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Everton",
              "opponent": "Crystal Palace",
              "stats": {
                "minutes": 90,
                "rating": 7.0,
                "assists": 0,
                "expected_goals": 0.0512,
                "expected_assists": 0.003,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 32,
                "accurate_pass": 25,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 3,
                "clearances": 4,
                "aerial_won": 3,
                "duels_won": 6,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 770,
            "combined_rank_score": 372.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 81.0,
            "sofascore_rating": 7.55,
            "sofascore_appearances": 2.0,
            "fifa_rank": 664.0,
            "fifa_overall": 80.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 17,
            "squad_role": "starter",
            "projected_match_rating": 6.5807,
            "source_file": "data/player_rankings.csv",
            "player_name": "James Tarkowski",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Marko Bugarin",
                  "ranking": 765
                },
                {
                  "player_name": "Maximiliano Araújo",
                  "ranking": 766
                },
                {
                  "player_name": "Han Tae-Hee",
                  "ranking": 767
                },
                {
                  "player_name": "Stanislav Lobotka",
                  "ranking": 768
                },
                {
                  "player_name": "Pierre-Emile Højbjerg",
                  "ranking": 769
                }
              ],
              "lower": [
                {
                  "player_name": "Sergi Altimira",
                  "ranking": 771
                },
                {
                  "player_name": "Joshua Oluwayemi",
                  "ranking": 772
                },
                {
                  "player_name": "Eric Bailly",
                  "ranking": 773
                },
                {
                  "player_name": "Bobir Abdikholikov",
                  "ranking": 774
                },
                {
                  "player_name": "Saidazamat Mirsaidov",
                  "ranking": 775
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.457,
          "history_matches": 3,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "D_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalLongBalls",
              "totalOppositionHalfPasses",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "ballRecovery",
              "touches",
              "totalClearance",
              "wonTackle",
              "interceptionWon",
              "dispossessed",
              "challengeLost",
              "errorLeadToAShot",
              "errorLeadToAGoal",
              "possessionLostCtrl",
              "passValueNormalized",
              "defensiveValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "long_ball_accuracy",
              "defensive_actions",
              "tackle_success_rate",
              "touches_p90",
              "totalTackle_p90",
              "interceptionWon_p90",
              "totalClearance_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "press_vulnerability",
              "error_severity",
              "aerial_dominance",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "interceptionWon",
              "totalTackle",
              "wonTackle",
              "totalClearance",
              "aerialWon",
              "rating"
            ],
            "history_matches": 3,
            "data_confidence": 0.457,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 0.9894,
            "fbref_prior_metrics": {
              "squad": "Everton",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 2.0,
              "minutes": 180.0,
              "goals_per90": 0.5,
              "assists_per90": 0.0,
              "shots_per90": 1.0,
              "shots_on_target_pct": 50.0,
              "prior_reliability": 0.1333
            },
            "rationale": "XGBoost regressor (D_service) evaluated 3 historical appearances across 6 target models; FBref 2026-2027 prior blended (Premier League, Everton, rel: 0.13, gls/90: 0.5, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 6 target models",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "rating": 6.6513,
                "minutes": 90,
                "total_pass": 42,
                "accurate_pass": 34,
                "duels_won": 7,
                "total_long_balls": 8,
                "accurate_long_balls": 4,
                "total_own_half_passes": 24,
                "accurate_own_half_passes": 22,
                "total_opp_half_passes": 17,
                "accurate_opp_half_passes": 12,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 58,
                "possession_lost": 9.0,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 2,
                "blocks": 1,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.05,
                "expected_assists": 0.0,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "big_chances_created": 0,
                "xgot": 0.31,
                "ball_carries": 11,
                "total_progression": 61,
                "progressive_carries": 1,
                "key_pass": 1
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9894, quality 0.465)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "rating": 6.5807,
                "minutes": 89,
                "total_pass": 41,
                "accurate_pass": 34,
                "duels_won": 7,
                "total_long_balls": 8,
                "accurate_long_balls": 4,
                "total_own_half_passes": 24,
                "accurate_own_half_passes": 22,
                "total_opp_half_passes": 17,
                "accurate_opp_half_passes": 12,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 57,
                "possession_lost": 8.9045,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 2,
                "blocks": 1,
                "goal_rate": 0.9894,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.0495,
                "expected_assists": 0.0,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "big_chances_created": 0,
                "xgot": 0.3067,
                "ball_carries": 11,
                "total_progression": 60,
                "progressive_carries": 1,
                "key_pass": 1
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0542)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "rating": 6.5807,
                "minutes": 89,
                "total_pass": 41,
                "accurate_pass": 34,
                "duels_won": 7,
                "total_long_balls": 8,
                "accurate_long_balls": 4,
                "total_own_half_passes": 24,
                "accurate_own_half_passes": 22,
                "total_opp_half_passes": 17,
                "accurate_opp_half_passes": 12,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 57,
                "possession_lost": 8.9045,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 2,
                "blocks": 1,
                "goal_rate": 0.9629,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.0495,
                "expected_assists": 0.0,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "big_chances_created": 0,
                "xgot": 0.3067,
                "ball_carries": 11,
                "total_progression": 60,
                "progressive_carries": 1,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 50.0,
                "shotConversion": 0.5,
                "minutesPct": 100.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 1.0
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "rating": 6.5807,
                "minutes": 89,
                "total_pass": 41,
                "accurate_pass": 34,
                "duels_won": 7,
                "total_long_balls": 8,
                "accurate_long_balls": 4,
                "total_own_half_passes": 24,
                "accurate_own_half_passes": 22,
                "total_opp_half_passes": 17,
                "accurate_opp_half_passes": 12,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 57,
                "possession_lost": 8.9045,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 2,
                "blocks": 1,
                "goal_rate": 0.9629,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.0495,
                "expected_assists": 0.0,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "big_chances_created": 0,
                "xgot": 0.3067,
                "ball_carries": 11,
                "total_progression": 60,
                "progressive_carries": 1,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 50.0,
                "shotConversion": 0.5,
                "minutesPct": 100.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 1.0
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "rating": 6.5807,
                "minutes": 89,
                "total_pass": 41,
                "accurate_pass": 34,
                "duels_won": 7,
                "total_long_balls": 8,
                "accurate_long_balls": 4,
                "total_own_half_passes": 24,
                "accurate_own_half_passes": 22,
                "total_opp_half_passes": 17,
                "accurate_opp_half_passes": 12,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 57,
                "possession_lost": 8.9045,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 2,
                "blocks": 1,
                "goal_rate": 0.9629,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.0495,
                "expected_assists": 0.0,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "big_chances_created": 0,
                "xgot": 0.3067,
                "ball_carries": 11,
                "total_progression": 60,
                "progressive_carries": 1,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 50.0,
                "shotConversion": 0.5,
                "minutesPct": 100.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 1.0,
                "opponent_faced": "Mathys Tel",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.11 (squad xG sum 1.2008, xG scale 0.9260)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "rating": 6.5807,
                "minutes": 89,
                "total_pass": 41,
                "accurate_pass": 34,
                "duels_won": 7,
                "total_long_balls": 8,
                "accurate_long_balls": 4,
                "total_own_half_passes": 24,
                "accurate_own_half_passes": 22,
                "total_opp_half_passes": 17,
                "accurate_opp_half_passes": 12,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 57,
                "possession_lost": 8.9045,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 2,
                "blocks": 1,
                "goal_rate": 0.9629,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0458,
                "expected_assists": 0.0,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "big_chances_created": 0,
                "xgot": 0.3067,
                "ball_carries": 11,
                "total_progression": 60,
                "progressive_carries": 1,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 50.0,
                "shotConversion": 0.5,
                "minutesPct": 100.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 1.0,
                "opponent_faced": "Mathys Tel",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 17, fifa_overall 80.0)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "rating": 6.5807,
                "minutes": 89,
                "total_pass": 41,
                "accurate_pass": 34,
                "duels_won": 7,
                "total_long_balls": 8,
                "accurate_long_balls": 4,
                "total_own_half_passes": 24,
                "accurate_own_half_passes": 22,
                "total_opp_half_passes": 17,
                "accurate_opp_half_passes": 12,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 57,
                "possession_lost": 8.9045,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 2,
                "blocks": 1,
                "goal_rate": 0.9629,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0458,
                "expected_assists": 0.0,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "big_chances_created": 0,
                "xgot": 0.3067,
                "ball_carries": 11,
                "total_progression": 60,
                "progressive_carries": 1,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 50.0,
                "shotConversion": 0.5,
                "minutesPct": 100.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 1.0,
                "opponent_faced": "Mathys Tel",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 80.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "rating": 6.5807,
                "minutes": 89,
                "total_pass": 41,
                "accurate_pass": 34,
                "duels_won": 7,
                "total_long_balls": 8,
                "accurate_long_balls": 4,
                "total_own_half_passes": 24,
                "accurate_own_half_passes": 22,
                "total_opp_half_passes": 17,
                "accurate_opp_half_passes": 12,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 57,
                "possession_lost": 8.9045,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 2,
                "blocks": 1,
                "goal_rate": 0.9629,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0458,
                "expected_assists": 0.0,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "big_chances_created": 0,
                "xgot": 0.3067,
                "ball_carries": 11,
                "total_progression": 60,
                "progressive_carries": 1,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 50.0,
                "shotConversion": 0.5,
                "minutesPct": 100.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 1.0,
                "opponent_faced": "Mathys Tel",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0855,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 80.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "rating": 6.5807,
                "minutes": 89,
                "total_pass": 41,
                "accurate_pass": 34,
                "duels_won": 7,
                "total_long_balls": 8,
                "accurate_long_balls": 4,
                "total_own_half_passes": 24,
                "accurate_own_half_passes": 22,
                "total_opp_half_passes": 17,
                "accurate_opp_half_passes": 12,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 57,
                "possession_lost": 8.9045,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 2,
                "blocks": 1,
                "goal_rate": 0.9629,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0458,
                "expected_assists": 0.0,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "big_chances_created": 0,
                "xgot": 0.3067,
                "ball_carries": 11,
                "total_progression": 60,
                "progressive_carries": 1,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 50.0,
                "shotConversion": 0.5,
                "minutesPct": 100.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 1.0,
                "opponent_faced": "Mathys Tel",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0855,
                "projected_assists": 0,
                "assist_probability": 0.0261,
                "fifa_overall": 80.0
              }
            }
          ]
        },
        "Merlin Röhl": {
          "player_id": 1064082,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 34,
          "height": 191,
          "market_value": 14700000,
          "stats": {
            "key_pass": 2,
            "assists": 1,
            "expected_assists": 0.157,
            "expected_goals": 0.0935,
            "total_shots": 1,
            "total_pass": 55,
            "accurate_pass": 45,
            "ball_recovery": 6,
            "duels_won": 7,
            "rating": 7.1,
            "minutes": 90,
            "total_long_balls": 5,
            "accurate_long_balls": 3,
            "total_own_half_passes": 22,
            "accurate_own_half_passes": 18,
            "total_opp_half_passes": 22,
            "accurate_opp_half_passes": 16,
            "crosses_total": 2,
            "crosses_accurate": 1,
            "touches": 70,
            "possession_lost": 9.0,
            "dispossessed": 0.9,
            "duels_lost": 4,
            "aerial_won": 1,
            "aerial_lost": 1,
            "interceptions": 1,
            "tackles_won": 2,
            "tackles": 2,
            "clearances": 1,
            "total_contest": 4,
            "won_contest": 2,
            "challenges_lost": 1,
            "fouls": 2,
            "fouls_drawn": 1,
            "goal_rate": 0.0734,
            "goals": 0,
            "shots_on_target": 1,
            "shots_off_target": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.068,
            "ball_carries": 32,
            "total_progression": 86,
            "progressive_carries": 8,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "minutesPct": 97.2,
            "pointsPerMatch": 2.0,
            "netGoalDifferencePer90": 0.51,
            "opponent_faced": "Sávio, Rodrigo Bentancur",
            "matchup_zone": "Attacking Mid vs Double Pivot — Tight Space Battle",
            "antagonist_source": "defensive_duel, midfield_pairing",
            "projected_goals": 0,
            "goal_probability": 0.0518,
            "projected_assists": 1,
            "assist_probability": 0.2375,
            "fifa_overall": 74.0
          },
          "latest_10_games": [
            {
              "match_id": 16363259.0,
              "match_date": "2026-09-06",
              "home_team": "Everton",
              "away_team": "Manchester United",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Everton",
              "opponent": "Manchester United",
              "stats": {
                "minutes": 75,
                "rating": 6.6,
                "assists": 0,
                "expected_assists": 0.1258,
                "total_shots": 0,
                "total_pass": 22,
                "accurate_pass": 20,
                "key_pass": 1,
                "clearances": 2,
                "duels_won": 3,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363247.0,
              "match_date": "2026-08-29",
              "home_team": "Bournemouth",
              "away_team": "Everton",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Everton",
              "opponent": "Bournemouth",
              "stats": {
                "minutes": 86,
                "rating": 6.3,
                "assists": 0,
                "expected_assists": 0.0107,
                "total_shots": 0,
                "total_pass": 24,
                "accurate_pass": 20,
                "tackles": 3,
                "tackles_won": 3,
                "clearances": 2,
                "duels_won": 4,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363635.0,
              "match_date": "2026-08-22",
              "home_team": "Everton",
              "away_team": "Crystal Palace",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Everton",
              "opponent": "Crystal Palace",
              "stats": {
                "minutes": 90,
                "rating": 7.4,
                "assists": 0,
                "expected_assists": 0.0556,
                "total_shots": 0,
                "total_pass": 42,
                "accurate_pass": 31,
                "key_pass": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 2,
                "aerial_won": 3,
                "duels_won": 5,
                "ball_recovery": 5
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 3634,
            "combined_rank_score": 1600.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 511.0,
            "sofascore_rating": 6.85,
            "sofascore_appearances": 2.0,
            "fifa_rank": 2689.0,
            "fifa_overall": 74.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 14,
            "squad_role": "starter",
            "projected_match_rating": 7.1,
            "source_file": "data/player_rankings.csv",
            "player_name": "Merlin Röhl",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Barnabás Varga",
                  "ranking": 3629
                },
                {
                  "player_name": "Mehdi Taremi",
                  "ranking": 3630
                },
                {
                  "player_name": "Lorenzo Pirola",
                  "ranking": 3631
                },
                {
                  "player_name": "Agustín Marchesín",
                  "ranking": 3632
                },
                {
                  "player_name": "Fred",
                  "ranking": 3633
                }
              ],
              "lower": [
                {
                  "player_name": "Paul Onuachu",
                  "ranking": 3635
                },
                {
                  "player_name": "Derek Cornelius",
                  "ranking": 3636
                },
                {
                  "player_name": "Ardian Ismajli",
                  "ranking": 3637
                },
                {
                  "player_name": "Nélson Semedo",
                  "ranking": 3638
                },
                {
                  "player_name": "Jan Kuchta",
                  "ranking": 3639
                }
              ]
            }
          },
          "data_sources": [
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.269,
          "history_matches": 0,
          "xgboost_reasoning": {
            "model_source": "market_value_prior",
            "position_service": "M_service",
            "features_evaluated": [],
            "targets_predicted": [],
            "history_matches": 0,
            "data_confidence": 0.269,
            "data_sources": [
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 0.5759,
            "fbref_prior_metrics": {
              "squad": "Everton",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 2.0,
              "minutes": 175.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 0.0,
              "prior_reliability": 0.1267
            },
            "rationale": "Market-value baseline (€14,700,000) applied for position M (quality factor 0.58); FBref 2026-2027 prior blended (Premier League, Everton, rel: 0.13, gls/90: 0.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "market_value_prior",
              "description": "Market-value baseline for position M (quality 0.58)",
              "stats": {
                "key_pass": 2,
                "assists": 0,
                "expected_assists": 0.157,
                "expected_goals": 0.101,
                "total_shots": 2,
                "total_pass": 55,
                "accurate_pass": 45,
                "ball_recovery": 6,
                "duels_won": 7,
                "rating": 7.1,
                "minutes": 90,
                "total_long_balls": 5,
                "accurate_long_balls": 3,
                "total_own_half_passes": 22,
                "accurate_own_half_passes": 18,
                "total_opp_half_passes": 22,
                "accurate_opp_half_passes": 16,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 70,
                "possession_lost": 9.0,
                "dispossessed": 0.9,
                "duels_lost": 4,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 4,
                "won_contest": 2,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 1,
                "goal_rate": 0.08,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.068,
                "ball_carries": 32,
                "total_progression": 86,
                "progressive_carries": 8
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0824)",
              "stats": {
                "key_pass": 2,
                "assists": 0,
                "expected_assists": 0.157,
                "expected_goals": 0.101,
                "total_shots": 1,
                "total_pass": 55,
                "accurate_pass": 45,
                "ball_recovery": 6,
                "duels_won": 7,
                "rating": 7.1,
                "minutes": 90,
                "total_long_balls": 5,
                "accurate_long_balls": 3,
                "total_own_half_passes": 22,
                "accurate_own_half_passes": 18,
                "total_opp_half_passes": 22,
                "accurate_opp_half_passes": 16,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 70,
                "possession_lost": 9.0,
                "dispossessed": 0.9,
                "duels_lost": 4,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 4,
                "won_contest": 2,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 1,
                "goal_rate": 0.0734,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.068,
                "ball_carries": 32,
                "total_progression": 86,
                "progressive_carries": 8,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 97.2,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.51
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 2,
                "assists": 0,
                "expected_assists": 0.157,
                "expected_goals": 0.101,
                "total_shots": 1,
                "total_pass": 55,
                "accurate_pass": 45,
                "ball_recovery": 6,
                "duels_won": 7,
                "rating": 7.1,
                "minutes": 90,
                "total_long_balls": 5,
                "accurate_long_balls": 3,
                "total_own_half_passes": 22,
                "accurate_own_half_passes": 18,
                "total_opp_half_passes": 22,
                "accurate_opp_half_passes": 16,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 70,
                "possession_lost": 9.0,
                "dispossessed": 0.9,
                "duels_lost": 4,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 4,
                "won_contest": 2,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 1,
                "goal_rate": 0.0734,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.068,
                "ball_carries": 32,
                "total_progression": 86,
                "progressive_carries": 8,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 97.2,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.51
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "key_pass": 2,
                "assists": 0,
                "expected_assists": 0.157,
                "expected_goals": 0.101,
                "total_shots": 1,
                "total_pass": 55,
                "accurate_pass": 45,
                "ball_recovery": 6,
                "duels_won": 7,
                "rating": 7.1,
                "minutes": 90,
                "total_long_balls": 5,
                "accurate_long_balls": 3,
                "total_own_half_passes": 22,
                "accurate_own_half_passes": 18,
                "total_opp_half_passes": 22,
                "accurate_opp_half_passes": 16,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 70,
                "possession_lost": 9.0,
                "dispossessed": 0.9,
                "duels_lost": 4,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 4,
                "won_contest": 2,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 1,
                "goal_rate": 0.0734,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.068,
                "ball_carries": 32,
                "total_progression": 86,
                "progressive_carries": 8,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 97.2,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.51,
                "opponent_faced": "Sávio, Rodrigo Bentancur",
                "matchup_zone": "Attacking Mid vs Double Pivot — Tight Space Battle",
                "antagonist_source": "defensive_duel, midfield_pairing"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.11 (squad xG sum 1.2008, xG scale 0.9260)",
              "stats": {
                "key_pass": 2,
                "assists": 0,
                "expected_assists": 0.157,
                "expected_goals": 0.0935,
                "total_shots": 1,
                "total_pass": 55,
                "accurate_pass": 45,
                "ball_recovery": 6,
                "duels_won": 7,
                "rating": 7.1,
                "minutes": 90,
                "total_long_balls": 5,
                "accurate_long_balls": 3,
                "total_own_half_passes": 22,
                "accurate_own_half_passes": 18,
                "total_opp_half_passes": 22,
                "accurate_opp_half_passes": 16,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 70,
                "possession_lost": 9.0,
                "dispossessed": 0.9,
                "duels_lost": 4,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 4,
                "won_contest": 2,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 1,
                "goal_rate": 0.0734,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.068,
                "ball_carries": 32,
                "total_progression": 86,
                "progressive_carries": 8,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 97.2,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.51,
                "opponent_faced": "Sávio, Rodrigo Bentancur",
                "matchup_zone": "Attacking Mid vs Double Pivot — Tight Space Battle",
                "antagonist_source": "defensive_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 14, fifa_overall 74.0)",
              "stats": {
                "key_pass": 2,
                "assists": 0,
                "expected_assists": 0.157,
                "expected_goals": 0.0935,
                "total_shots": 1,
                "total_pass": 55,
                "accurate_pass": 45,
                "ball_recovery": 6,
                "duels_won": 7,
                "rating": 7.1,
                "minutes": 90,
                "total_long_balls": 5,
                "accurate_long_balls": 3,
                "total_own_half_passes": 22,
                "accurate_own_half_passes": 18,
                "total_opp_half_passes": 22,
                "accurate_opp_half_passes": 16,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 70,
                "possession_lost": 9.0,
                "dispossessed": 0.9,
                "duels_lost": 4,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 4,
                "won_contest": 2,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 1,
                "goal_rate": 0.0734,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.068,
                "ball_carries": 32,
                "total_progression": 86,
                "progressive_carries": 8,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 97.2,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.51,
                "opponent_faced": "Sávio, Rodrigo Bentancur",
                "matchup_zone": "Attacking Mid vs Double Pivot — Tight Space Battle",
                "antagonist_source": "defensive_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 74.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight",
              "stats": {
                "key_pass": 2,
                "assists": 0,
                "expected_assists": 0.157,
                "expected_goals": 0.0935,
                "total_shots": 1,
                "total_pass": 55,
                "accurate_pass": 45,
                "ball_recovery": 6,
                "duels_won": 7,
                "rating": 7.1,
                "minutes": 90,
                "total_long_balls": 5,
                "accurate_long_balls": 3,
                "total_own_half_passes": 22,
                "accurate_own_half_passes": 18,
                "total_opp_half_passes": 22,
                "accurate_opp_half_passes": 16,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 70,
                "possession_lost": 9.0,
                "dispossessed": 0.9,
                "duels_lost": 4,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 4,
                "won_contest": 2,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 1,
                "goal_rate": 0.0734,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.068,
                "ball_carries": 32,
                "total_progression": 86,
                "progressive_carries": 8,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 97.2,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.51,
                "opponent_faced": "Sávio, Rodrigo Bentancur",
                "matchup_zone": "Attacking Mid vs Double Pivot — Tight Space Battle",
                "antagonist_source": "defensive_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0518,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 74.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight",
              "stats": {
                "key_pass": 2,
                "assists": 1,
                "expected_assists": 0.157,
                "expected_goals": 0.0935,
                "total_shots": 1,
                "total_pass": 55,
                "accurate_pass": 45,
                "ball_recovery": 6,
                "duels_won": 7,
                "rating": 7.1,
                "minutes": 90,
                "total_long_balls": 5,
                "accurate_long_balls": 3,
                "total_own_half_passes": 22,
                "accurate_own_half_passes": 18,
                "total_opp_half_passes": 22,
                "accurate_opp_half_passes": 16,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 70,
                "possession_lost": 9.0,
                "dispossessed": 0.9,
                "duels_lost": 4,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 4,
                "won_contest": 2,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 1,
                "goal_rate": 0.0734,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.068,
                "ball_carries": 32,
                "total_progression": 86,
                "progressive_carries": 8,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 97.2,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.51,
                "opponent_faced": "Sávio, Rodrigo Bentancur",
                "matchup_zone": "Attacking Mid vs Double Pivot — Tight Space Battle",
                "antagonist_source": "defensive_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0518,
                "projected_assists": 1,
                "assist_probability": 0.2375,
                "fifa_overall": 74.0
              }
            }
          ]
        }
      },
      "bench_players": {
        "Mark Travers": {
          "player_id": 856720,
          "position": "G",
          "position_depth": "G_BENCH",
          "is_starter": false,
          "shirt_number": 12,
          "height": 191,
          "market_value": 2800000,
          "stats": {
            "saves": 0,
            "goals_prevented": 0.022,
            "rating": 6.8,
            "minutes": 4,
            "total_pass": 1,
            "accurate_pass": 1,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "touches": 2,
            "clearances": 0,
            "ball_recovery": 0,
            "high_claims": 0,
            "punches": 0.0146,
            "aerial_won": 0,
            "sweeper_actions": 0,
            "sweeper_accurate": 0,
            "saves_inside_box": 0,
            "possession_lost": 0.1171,
            "duels_won": 0,
            "duels_lost": 0,
            "total_contest": 0,
            "won_contest": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "total_own_half_passes": 1,
            "accurate_own_half_passes": 1,
            "bench_appearance_probability": 0.109,
            "bench_expected_minutes": 4.39,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 3,
            "projected_substitution_expected_count": 2.849,
            "projected_substitution_game_state_adjustment": 0,
            "substitution_usage": "available_bench_not_projected_used",
            "goals": 0,
            "projected_goals": 0,
            "goal_probability": 0.0,
            "assists": 0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 72.0
          },
          "latest_10_games": [],
          "ranking": {
            "global_player_rank": 4093,
            "combined_rank_score": 2074.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": null,
            "sofascore_rating": null,
            "sofascore_appearances": 0.0,
            "fifa_rank": 3940.0,
            "fifa_overall": 72.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 18,
            "squad_role": "substitute",
            "projected_match_rating": 6.8,
            "source_file": "data/player_rankings.csv",
            "player_name": "Mark Travers",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Alfredo Morelos",
                  "ranking": 4088
                },
                {
                  "player_name": "Éverton Ribeiro",
                  "ranking": 4089
                },
                {
                  "player_name": "Vítězslav Jaroš",
                  "ranking": 4090
                },
                {
                  "player_name": "Willian José",
                  "ranking": 4091
                },
                {
                  "player_name": "Hwang Hee-chan",
                  "ranking": 4092
                }
              ],
              "lower": [
                {
                  "player_name": "Michael Svoboda",
                  "ranking": 4094
                },
                {
                  "player_name": "Romeo Vermant",
                  "ranking": 4095
                },
                {
                  "player_name": "Kaine Kesler-Hayden",
                  "ranking": 4096
                },
                {
                  "player_name": "Luke Woolfenden",
                  "ranking": 4097
                },
                {
                  "player_name": "Adam Smith",
                  "ranking": 4098
                }
              ]
            }
          },
          "data_sources": [
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.25,
          "history_matches": 0,
          "xgboost_reasoning": {
            "model_source": "market_value_prior",
            "position_service": "G_service",
            "features_evaluated": [],
            "targets_predicted": [],
            "history_matches": 0,
            "data_confidence": 0.25,
            "data_sources": [
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 4.392222187561249,
            "bench_appearance_prob": 0.10873737216187492,
            "market_value_adjustment": 0.4374,
            "fbref_prior_metrics": {
              "squad": "Everton",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 0.0,
              "starts": 0.0,
              "sub_appearances": 0.0,
              "prior_reliability": 0.0
            },
            "rationale": "Bench projection from market-value prior (€2,800,000) scaled to 4.4 expected mins; FBref playing time empirical prior: 0.0 sub appearances, 0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "market_value_prior",
              "description": "Market-value baseline for position G (quality 0.44)",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.45,
                "rating": 6.8,
                "minutes": 90,
                "total_pass": 27,
                "accurate_pass": 20,
                "total_long_balls": 8,
                "accurate_long_balls": 4,
                "touches": 32,
                "clearances": 1,
                "ball_recovery": 1,
                "high_claims": 0,
                "punches": 0.3,
                "aerial_won": 1,
                "sweeper_actions": 1,
                "sweeper_accurate": 1,
                "saves_inside_box": 1,
                "possession_lost": 2.4,
                "duels_won": 0,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 21,
                "accurate_own_half_passes": 16
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0000)",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.45,
                "rating": 6.8,
                "minutes": 90,
                "total_pass": 27,
                "accurate_pass": 20,
                "total_long_balls": 8,
                "accurate_long_balls": 4,
                "touches": 32,
                "clearances": 1,
                "ball_recovery": 1,
                "high_claims": 0,
                "punches": 0.3,
                "aerial_won": 1,
                "sweeper_actions": 1,
                "sweeper_accurate": 1,
                "saves_inside_box": 1,
                "possession_lost": 2.4,
                "duels_won": 0,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 21,
                "accurate_own_half_passes": 16
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 4.4 expected minutes (appearance prob 0.11)",
              "stats": {
                "saves": 0,
                "goals_prevented": 0.022,
                "rating": 6.8,
                "minutes": 4,
                "total_pass": 1,
                "accurate_pass": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "touches": 2,
                "clearances": 0,
                "ball_recovery": 0,
                "high_claims": 0,
                "punches": 0.0146,
                "aerial_won": 0,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 0,
                "possession_lost": 0.1171,
                "duels_won": 0,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "bench_appearance_probability": 0.109,
                "bench_expected_minutes": 4.39
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "saves": 0,
                "goals_prevented": 0.022,
                "rating": 6.8,
                "minutes": 4,
                "total_pass": 1,
                "accurate_pass": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "touches": 2,
                "clearances": 0,
                "ball_recovery": 0,
                "high_claims": 0,
                "punches": 0.0146,
                "aerial_won": 0,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 0,
                "possession_lost": 0.1171,
                "duels_won": 0,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "bench_appearance_probability": 0.109,
                "bench_expected_minutes": 4.39
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 18, fifa_overall 72.0)",
              "stats": {
                "saves": 0,
                "goals_prevented": 0.022,
                "rating": 6.8,
                "minutes": 4,
                "total_pass": 1,
                "accurate_pass": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "touches": 2,
                "clearances": 0,
                "ball_recovery": 0,
                "high_claims": 0,
                "punches": 0.0146,
                "aerial_won": 0,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 0,
                "possession_lost": 0.1171,
                "duels_won": 0,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "bench_appearance_probability": 0.109,
                "bench_expected_minutes": 4.39,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.849,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "available_bench_not_projected_used",
                "goals": 0,
                "projected_goals": 0,
                "goal_probability": 0.0,
                "assists": 0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 72.0
              }
            }
          ]
        },
        "Jake O'Brien": {
          "player_id": 998253,
          "position": "D",
          "position_depth": "D_BENCH",
          "is_starter": false,
          "shirt_number": 15,
          "height": 197,
          "market_value": 16500000,
          "stats": {
            "interceptions": 0,
            "tackles": 0,
            "tackles_won": 0,
            "clearances": 0,
            "aerial_won": 0,
            "duels_won": 1,
            "total_pass": 7,
            "accurate_pass": 6,
            "expected_goals": 0.0032,
            "rating": 7.0,
            "minutes": 14,
            "total_long_balls": 1,
            "accurate_long_balls": 1,
            "total_own_half_passes": 5,
            "accurate_own_half_passes": 4,
            "total_opp_half_passes": 2,
            "accurate_opp_half_passes": 1,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 10,
            "possession_lost": 1.1042,
            "dispossessed": 0.5,
            "duels_lost": 1,
            "aerial_lost": 2,
            "total_contest": 1,
            "won_contest": 0,
            "ball_recovery": 1,
            "challenges_lost": 1,
            "fouls": 0,
            "fouls_drawn": 0,
            "blocks": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_assists": 0.0091,
            "total_shots": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0024,
            "key_pass": 0,
            "ball_carries": 3,
            "total_progression": 10,
            "progressive_carries": 1,
            "bench_appearance_probability": 0.327,
            "bench_expected_minutes": 14.2,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 3,
            "projected_substitution_expected_count": 2.849,
            "projected_substitution_game_state_adjustment": 0,
            "substitution_usage": "available_bench_not_projected_used",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 76.0
          },
          "latest_10_games": [],
          "ranking": {
            "global_player_rank": 3155,
            "combined_rank_score": 1120.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 445.0,
            "sofascore_rating": 6.9,
            "sofascore_appearances": 7.0,
            "fifa_rank": 1795.0,
            "fifa_overall": 76.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 13,
            "squad_role": "substitute",
            "projected_match_rating": 7.0,
            "source_file": "data/player_rankings.csv",
            "player_name": "Jake O'Brien",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Chemsdine Talbi",
                  "ranking": 3150
                },
                {
                  "player_name": "Nicolás Fernández",
                  "ranking": 3151
                },
                {
                  "player_name": "Michal Sadílek",
                  "ranking": 3152
                },
                {
                  "player_name": "Tammy Abraham",
                  "ranking": 3153
                },
                {
                  "player_name": "Rafa Marín",
                  "ranking": 3154
                }
              ],
              "lower": [
                {
                  "player_name": "Robin Hranáč",
                  "ranking": 3156
                },
                {
                  "player_name": "Jhon Durán",
                  "ranking": 3157
                },
                {
                  "player_name": "Unai López",
                  "ranking": 3158
                },
                {
                  "player_name": "Clément Lenglet",
                  "ranking": 3159
                },
                {
                  "player_name": "Albion Rrahmani",
                  "ranking": 3160
                }
              ]
            }
          },
          "data_sources": [
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.25,
          "history_matches": 0,
          "xgboost_reasoning": {
            "model_source": "market_value_prior",
            "position_service": "D_service",
            "features_evaluated": [],
            "targets_predicted": [],
            "history_matches": 0,
            "data_confidence": 0.25,
            "data_sources": [
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 14.19737481061636,
            "bench_appearance_prob": 0.3271534004825618,
            "market_value_adjustment": 0.5953,
            "fbref_prior_metrics": {
              "squad": "Everton",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 0.0,
              "starts": 0.0,
              "sub_appearances": 0.0,
              "prior_reliability": 0.0
            },
            "rationale": "Bench projection from market-value prior (€16,500,000) scaled to 14.2 expected mins; FBref playing time empirical prior: 0.0 sub appearances, 0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "market_value_prior",
              "description": "Market-value baseline for position D (quality 0.60)",
              "stats": {
                "interceptions": 2,
                "tackles": 3,
                "tackles_won": 2,
                "clearances": 3,
                "aerial_won": 2,
                "duels_won": 6,
                "total_pass": 47,
                "accurate_pass": 37,
                "expected_goals": 0.02,
                "rating": 7.0,
                "minutes": 90,
                "total_long_balls": 6,
                "accurate_long_balls": 3,
                "total_own_half_passes": 30,
                "accurate_own_half_passes": 24,
                "total_opp_half_passes": 11,
                "accurate_opp_half_passes": 8,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 63,
                "possession_lost": 7.0,
                "dispossessed": 0.5,
                "duels_lost": 4,
                "aerial_lost": 2,
                "total_contest": 4,
                "won_contest": 2,
                "ball_recovery": 5,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_assists": 0.058,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.015,
                "key_pass": 1,
                "ball_carries": 22,
                "total_progression": 66,
                "progressive_carries": 5
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0000)",
              "stats": {
                "interceptions": 2,
                "tackles": 3,
                "tackles_won": 2,
                "clearances": 3,
                "aerial_won": 2,
                "duels_won": 6,
                "total_pass": 47,
                "accurate_pass": 37,
                "expected_goals": 0.02,
                "rating": 7.0,
                "minutes": 90,
                "total_long_balls": 6,
                "accurate_long_balls": 3,
                "total_own_half_passes": 30,
                "accurate_own_half_passes": 24,
                "total_opp_half_passes": 11,
                "accurate_opp_half_passes": 8,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 63,
                "possession_lost": 7.0,
                "dispossessed": 0.5,
                "duels_lost": 4,
                "aerial_lost": 2,
                "total_contest": 4,
                "won_contest": 2,
                "ball_recovery": 5,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_assists": 0.058,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.015,
                "key_pass": 1,
                "ball_carries": 22,
                "total_progression": 66,
                "progressive_carries": 5
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 14.2 expected minutes (appearance prob 0.33)",
              "stats": {
                "interceptions": 0,
                "tackles": 0,
                "tackles_won": 0,
                "clearances": 0,
                "aerial_won": 0,
                "duels_won": 1,
                "total_pass": 7,
                "accurate_pass": 6,
                "expected_goals": 0.0032,
                "rating": 7.0,
                "minutes": 14,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 5,
                "accurate_own_half_passes": 4,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 10,
                "possession_lost": 1.1042,
                "dispossessed": 0.5,
                "duels_lost": 1,
                "aerial_lost": 2,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 1,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_assists": 0.0091,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0024,
                "key_pass": 0,
                "ball_carries": 3,
                "total_progression": 10,
                "progressive_carries": 1,
                "bench_appearance_probability": 0.327,
                "bench_expected_minutes": 14.2
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 0,
                "tackles": 0,
                "tackles_won": 0,
                "clearances": 0,
                "aerial_won": 0,
                "duels_won": 1,
                "total_pass": 7,
                "accurate_pass": 6,
                "expected_goals": 0.0032,
                "rating": 7.0,
                "minutes": 14,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 5,
                "accurate_own_half_passes": 4,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 10,
                "possession_lost": 1.1042,
                "dispossessed": 0.5,
                "duels_lost": 1,
                "aerial_lost": 2,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 1,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_assists": 0.0091,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0024,
                "key_pass": 0,
                "ball_carries": 3,
                "total_progression": 10,
                "progressive_carries": 1,
                "bench_appearance_probability": 0.327,
                "bench_expected_minutes": 14.2
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 13, fifa_overall 76.0)",
              "stats": {
                "interceptions": 0,
                "tackles": 0,
                "tackles_won": 0,
                "clearances": 0,
                "aerial_won": 0,
                "duels_won": 1,
                "total_pass": 7,
                "accurate_pass": 6,
                "expected_goals": 0.0032,
                "rating": 7.0,
                "minutes": 14,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 5,
                "accurate_own_half_passes": 4,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 10,
                "possession_lost": 1.1042,
                "dispossessed": 0.5,
                "duels_lost": 1,
                "aerial_lost": 2,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 1,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_assists": 0.0091,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0024,
                "key_pass": 0,
                "ball_carries": 3,
                "total_progression": 10,
                "progressive_carries": 1,
                "bench_appearance_probability": 0.327,
                "bench_expected_minutes": 14.2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.849,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "available_bench_not_projected_used",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 76.0
              }
            }
          ]
        },
        "Ainsley Maitland-Niles": {
          "player_id": 352768,
          "position": "D",
          "position_depth": "D_BENCH",
          "is_starter": false,
          "shirt_number": 98,
          "height": 178,
          "market_value": 10900000,
          "stats": {
            "interceptions": 0,
            "tackles": 0,
            "tackles_won": 0,
            "clearances": 0,
            "aerial_won": 0,
            "duels_won": 1,
            "total_pass": 7,
            "accurate_pass": 6,
            "expected_goals": 0.0028,
            "rating": 6.9,
            "minutes": 14,
            "total_long_balls": 1,
            "accurate_long_balls": 0,
            "total_own_half_passes": 4,
            "accurate_own_half_passes": 4,
            "total_opp_half_passes": 2,
            "accurate_opp_half_passes": 1,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 9,
            "possession_lost": 1.0385,
            "dispossessed": 0.5,
            "duels_lost": 1,
            "aerial_lost": 2,
            "total_contest": 1,
            "won_contest": 0,
            "ball_recovery": 1,
            "challenges_lost": 1,
            "fouls": 0,
            "fouls_drawn": 0,
            "blocks": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_assists": 0.0082,
            "total_shots": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0022,
            "key_pass": 0,
            "ball_carries": 3,
            "total_progression": 10,
            "progressive_carries": 1,
            "bench_appearance_probability": 0.316,
            "bench_expected_minutes": 13.95,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 3,
            "projected_substitution_expected_count": 2.849,
            "projected_substitution_game_state_adjustment": 0,
            "substitution_usage": "available_bench_not_projected_used",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 77.0
          },
          "latest_10_games": [
            {
              "match_id": 16363259.0,
              "match_date": "2026-09-06",
              "home_team": "Everton",
              "away_team": "Manchester United",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Everton",
              "opponent": "Manchester United",
              "stats": {
                "minutes": 13,
                "rating": 7.3,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.0271,
                "expected_assists": 0.0036,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 4,
                "accurate_pass": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 2124,
            "combined_rank_score": 802.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": null,
            "sofascore_rating": null,
            "sofascore_appearances": 0.0,
            "fifa_rank": 1464.0,
            "fifa_overall": 77.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 16,
            "squad_role": "substitute",
            "projected_match_rating": 6.9,
            "source_file": "data/player_rankings.csv",
            "player_name": "Ainsley Maitland-Niles",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Christian Bracco",
                  "ranking": 2119
                },
                {
                  "player_name": "Park Su-been",
                  "ranking": 2120
                },
                {
                  "player_name": "Edvinas Girdvainis",
                  "ranking": 2121
                },
                {
                  "player_name": "Son Seung-Min",
                  "ranking": 2122
                },
                {
                  "player_name": "Diogo Dalot",
                  "ranking": 2123
                }
              ],
              "lower": [
                {
                  "player_name": "Crysencio Summerville",
                  "ranking": 2125
                },
                {
                  "player_name": "Gabriel Jesus",
                  "ranking": 2126
                },
                {
                  "player_name": "Sepp van den Berg",
                  "ranking": 2127
                },
                {
                  "player_name": "Chan-hyung Lee",
                  "ranking": 2128
                },
                {
                  "player_name": "Sarvar Abduhamidov",
                  "ranking": 2129
                }
              ]
            }
          },
          "data_sources": [
            "market_value"
          ],
          "data_confidence": 0.25,
          "history_matches": 0,
          "xgboost_reasoning": {
            "model_source": "market_value_prior",
            "position_service": "D_service",
            "features_evaluated": [],
            "targets_predicted": [],
            "history_matches": 0,
            "data_confidence": 0.25,
            "data_sources": [
              "market_value"
            ],
            "bench_expected_minutes": 13.950580115654624,
            "bench_appearance_prob": 0.31593545980248294,
            "market_value_adjustment": 0.533,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection from market-value prior (€10,900,000) scaled to 14.0 expected mins."
          },
          "stat_evolution": [
            {
              "step": "market_value_prior",
              "description": "Market-value baseline for position D (quality 0.53)",
              "stats": {
                "interceptions": 2,
                "tackles": 2,
                "tackles_won": 2,
                "clearances": 3,
                "aerial_won": 2,
                "duels_won": 6,
                "total_pass": 45,
                "accurate_pass": 36,
                "expected_goals": 0.018,
                "rating": 6.9,
                "minutes": 90,
                "total_long_balls": 6,
                "accurate_long_balls": 3,
                "total_own_half_passes": 29,
                "accurate_own_half_passes": 23,
                "total_opp_half_passes": 10,
                "accurate_opp_half_passes": 7,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 61,
                "possession_lost": 6.7,
                "dispossessed": 0.5,
                "duels_lost": 4,
                "aerial_lost": 2,
                "total_contest": 4,
                "won_contest": 2,
                "ball_recovery": 5,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_assists": 0.053,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.014,
                "key_pass": 1,
                "ball_carries": 21,
                "total_progression": 62,
                "progressive_carries": 5
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 14.0 expected minutes (appearance prob 0.32)",
              "stats": {
                "interceptions": 0,
                "tackles": 0,
                "tackles_won": 0,
                "clearances": 0,
                "aerial_won": 0,
                "duels_won": 1,
                "total_pass": 7,
                "accurate_pass": 6,
                "expected_goals": 0.0028,
                "rating": 6.9,
                "minutes": 14,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 4,
                "accurate_own_half_passes": 4,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 9,
                "possession_lost": 1.0385,
                "dispossessed": 0.5,
                "duels_lost": 1,
                "aerial_lost": 2,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 1,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_assists": 0.0082,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0022,
                "key_pass": 0,
                "ball_carries": 3,
                "total_progression": 10,
                "progressive_carries": 1,
                "bench_appearance_probability": 0.316,
                "bench_expected_minutes": 13.95
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 0,
                "tackles": 0,
                "tackles_won": 0,
                "clearances": 0,
                "aerial_won": 0,
                "duels_won": 1,
                "total_pass": 7,
                "accurate_pass": 6,
                "expected_goals": 0.0028,
                "rating": 6.9,
                "minutes": 14,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 4,
                "accurate_own_half_passes": 4,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 9,
                "possession_lost": 1.0385,
                "dispossessed": 0.5,
                "duels_lost": 1,
                "aerial_lost": 2,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 1,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_assists": 0.0082,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0022,
                "key_pass": 0,
                "ball_carries": 3,
                "total_progression": 10,
                "progressive_carries": 1,
                "bench_appearance_probability": 0.316,
                "bench_expected_minutes": 13.95
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 16, fifa_overall 77.0)",
              "stats": {
                "interceptions": 0,
                "tackles": 0,
                "tackles_won": 0,
                "clearances": 0,
                "aerial_won": 0,
                "duels_won": 1,
                "total_pass": 7,
                "accurate_pass": 6,
                "expected_goals": 0.0028,
                "rating": 6.9,
                "minutes": 14,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 4,
                "accurate_own_half_passes": 4,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 9,
                "possession_lost": 1.0385,
                "dispossessed": 0.5,
                "duels_lost": 1,
                "aerial_lost": 2,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 1,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_assists": 0.0082,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0022,
                "key_pass": 0,
                "ball_carries": 3,
                "total_progression": 10,
                "progressive_carries": 1,
                "bench_appearance_probability": 0.316,
                "bench_expected_minutes": 13.95,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.849,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "available_bench_not_projected_used",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 77.0
              }
            }
          ]
        },
        "Iliman Ndiaye": {
          "player_id": 914309,
          "position": "M",
          "position_depth": "M_BENCH",
          "is_starter": false,
          "shirt_number": 10,
          "height": 180,
          "market_value": 53000000,
          "stats": {
            "key_pass": 0,
            "expected_assists": 0.0278,
            "assists": 0,
            "expected_goals": 0.0338,
            "rating": 7.405,
            "minutes": 24,
            "total_pass": 10,
            "accurate_pass": 9,
            "ball_recovery": 2,
            "duels_won": 2,
            "total_shots": 1,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_own_half_passes": 4,
            "accurate_own_half_passes": 3,
            "total_opp_half_passes": 6,
            "accurate_opp_half_passes": 6,
            "crosses_total": 1,
            "crosses_accurate": 0,
            "touches": 16,
            "possession_lost": 3.8363,
            "dispossessed": 2.5635,
            "duels_lost": 2,
            "aerial_won": 0,
            "aerial_lost": 2,
            "interceptions": 1,
            "tackles_won": 0,
            "tackles": 1,
            "clearances": 1,
            "total_contest": 1,
            "won_contest": 0,
            "challenges_lost": 0,
            "fouls": 1,
            "fouls_drawn": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0863,
            "ball_carries": 6,
            "total_progression": 26,
            "progressive_carries": 1,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 75.0,
            "shotConversion": 0.0,
            "minutesPct": 100.0,
            "pointsPerMatch": 2.0,
            "netGoalDifferencePer90": 1.0,
            "bench_appearance_probability": 0.339,
            "bench_expected_minutes": 23.54,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 3,
            "projected_substitution_expected_count": 2.849,
            "projected_substitution_game_state_adjustment": 0,
            "substitution_usage": "available_bench_not_projected_used",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 82.0
          },
          "latest_10_games": [
            {
              "match_id": 16363263.0,
              "match_date": "2026-09-05",
              "home_team": "Manchester City",
              "away_team": "Coventry City",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Manchester City",
              "opponent": "Coventry City",
              "stats": {
                "minutes": 87,
                "rating": 6.5,
                "assists": 0,
                "expected_goals": 0.0218,
                "expected_assists": 0.0385,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 27,
                "accurate_pass": 25,
                "key_pass": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 7,
                "ball_recovery": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363247.0,
              "match_date": "2026-08-29",
              "home_team": "Bournemouth",
              "away_team": "Everton",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Everton",
              "opponent": "Bournemouth",
              "stats": {
                "minutes": 90,
                "rating": 6.8,
                "assists": 0,
                "expected_goals": 0.0195,
                "expected_assists": 0.0713,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 32,
                "accurate_pass": 31,
                "key_pass": 1,
                "tackles": 1,
                "interceptions": 2,
                "clearances": 3,
                "aerial_won": 1,
                "duels_won": 3,
                "ball_recovery": 7
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363635.0,
              "match_date": "2026-08-22",
              "home_team": "Everton",
              "away_team": "Crystal Palace",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Everton",
              "opponent": "Crystal Palace",
              "stats": {
                "minutes": 90,
                "rating": 7.9,
                "assists": 1,
                "expected_goals": 0.2433,
                "expected_assists": 0.3204,
                "total_shots": 2,
                "shots_on_target": 2,
                "total_pass": 44,
                "accurate_pass": 38,
                "key_pass": 3,
                "tackles": 4,
                "tackles_won": 1,
                "duels_won": 6,
                "ball_recovery": 8
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 430,
            "combined_rank_score": 262.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 138.0,
            "sofascore_rating": 7.35,
            "sofascore_appearances": 2.0,
            "fifa_rank": 387.0,
            "fifa_overall": 82.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 1,
            "squad_role": "substitute",
            "projected_match_rating": 7.405,
            "source_file": "data/player_rankings.csv",
            "player_name": "Iliman Ndiaye",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Nordi Mukiele",
                  "ranking": 425
                },
                {
                  "player_name": "Dani Olmo",
                  "ranking": 426
                },
                {
                  "player_name": "Piotr Zieliński",
                  "ranking": 427
                },
                {
                  "player_name": "Anvar Gofurov",
                  "ranking": 428
                },
                {
                  "player_name": "Ibrokhimkhalil Yuldoshev",
                  "ranking": 429
                }
              ],
              "lower": [
                {
                  "player_name": "Lisandro Martínez",
                  "ranking": 431
                },
                {
                  "player_name": "Park Chang-Hwan",
                  "ranking": 432
                },
                {
                  "player_name": "Venício Tomás",
                  "ranking": 433
                },
                {
                  "player_name": "Edoardo Colombo",
                  "ranking": 434
                },
                {
                  "player_name": "Teddy Sharman-Lowe",
                  "ranking": 435
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.457,
          "history_matches": 3,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "M_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "keyPass",
              "expectedAssists",
              "totalCross",
              "accurateCross",
              "duelWon",
              "duelLost",
              "aerialWon",
              "ballRecovery",
              "touches",
              "interceptionWon",
              "wonTackle",
              "possessionLostCtrl",
              "dispossessed",
              "numberOfSprints",
              "kilometersCovered",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "creative_index",
              "touches_p90",
              "totalPass_p90",
              "keyPass_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "ballCarriesCount_p90",
              "creative_efficiency",
              "cross_accuracy",
              "cross_creative_contribution",
              "defensive_midfield_actions",
              "press_vulnerability",
              "progressive_carries_p90",
              "intensity_index",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "rating"
            ],
            "history_matches": 3,
            "data_confidence": 0.457,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 23.542683522414773,
            "bench_appearance_prob": 0.339,
            "market_value_adjustment": 1.1002,
            "fbref_prior_metrics": {
              "squad": "Everton",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 2.0,
              "sub_appearances": 0.0,
              "goals_per90": 0.0,
              "assists_per90": 0.5,
              "prior_reliability": 0.1333
            },
            "rationale": "Bench projection scaled from XGBoost M_service (3 historical appearances) to 23.5 expected mins (appearance prob 0.34); FBref playing time empirical prior: 0.0 sub appearances, 0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 5 target models",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0965,
                "assists": 0,
                "expected_goals": 0.1175,
                "rating": 6.7305,
                "minutes": 89,
                "total_pass": 34,
                "accurate_pass": 31,
                "ball_recovery": 6,
                "duels_won": 5,
                "total_shots": 3,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 12,
                "accurate_own_half_passes": 11,
                "total_opp_half_passes": 22,
                "accurate_opp_half_passes": 20,
                "crosses_total": 3,
                "crosses_accurate": 1,
                "touches": 57,
                "possession_lost": 13.33,
                "dispossessed": 2.33,
                "duels_lost": 8,
                "aerial_won": 1,
                "aerial_lost": 2,
                "interceptions": 2,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 2,
                "total_contest": 5,
                "won_contest": 1,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.3,
                "ball_carries": 22,
                "total_progression": 92,
                "progressive_carries": 5
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.1002, quality 0.834)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.1062,
                "assists": 0,
                "expected_goals": 0.1293,
                "rating": 7.405,
                "minutes": 95,
                "total_pass": 38,
                "accurate_pass": 34,
                "ball_recovery": 6,
                "duels_won": 6,
                "total_shots": 3,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 14,
                "accurate_own_half_passes": 12,
                "total_opp_half_passes": 24,
                "accurate_opp_half_passes": 22,
                "crosses_total": 3,
                "crosses_accurate": 1,
                "touches": 63,
                "possession_lost": 14.6657,
                "dispossessed": 2.5635,
                "duels_lost": 9,
                "aerial_won": 1,
                "aerial_lost": 2,
                "interceptions": 2,
                "tackles_won": 1,
                "tackles": 3,
                "clearances": 2,
                "total_contest": 6,
                "won_contest": 1,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.3301,
                "ball_carries": 24,
                "total_progression": 101,
                "progressive_carries": 6
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0542)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.1062,
                "assists": 0,
                "expected_goals": 0.1293,
                "rating": 7.405,
                "minutes": 95,
                "total_pass": 38,
                "accurate_pass": 34,
                "ball_recovery": 6,
                "duels_won": 6,
                "total_shots": 3,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 14,
                "accurate_own_half_passes": 12,
                "total_opp_half_passes": 24,
                "accurate_opp_half_passes": 22,
                "crosses_total": 3,
                "crosses_accurate": 1,
                "touches": 63,
                "possession_lost": 14.6657,
                "dispossessed": 2.5635,
                "duels_lost": 9,
                "aerial_won": 1,
                "aerial_lost": 2,
                "interceptions": 2,
                "tackles_won": 1,
                "tackles": 3,
                "clearances": 2,
                "total_contest": 6,
                "won_contest": 1,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.3301,
                "ball_carries": 24,
                "total_progression": 101,
                "progressive_carries": 6,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 75.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 1.0
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 23.5 expected minutes (appearance prob 0.34)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0278,
                "assists": 0,
                "expected_goals": 0.0338,
                "rating": 7.405,
                "minutes": 24,
                "total_pass": 10,
                "accurate_pass": 9,
                "ball_recovery": 2,
                "duels_won": 2,
                "total_shots": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 4,
                "accurate_own_half_passes": 3,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 6,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 16,
                "possession_lost": 3.8363,
                "dispossessed": 2.5635,
                "duels_lost": 2,
                "aerial_won": 0,
                "aerial_lost": 2,
                "interceptions": 1,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 1,
                "total_contest": 1,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0863,
                "ball_carries": 6,
                "total_progression": 26,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 75.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 1.0,
                "bench_appearance_probability": 0.339,
                "bench_expected_minutes": 23.54
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0278,
                "assists": 0,
                "expected_goals": 0.0338,
                "rating": 7.405,
                "minutes": 24,
                "total_pass": 10,
                "accurate_pass": 9,
                "ball_recovery": 2,
                "duels_won": 2,
                "total_shots": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 4,
                "accurate_own_half_passes": 3,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 6,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 16,
                "possession_lost": 3.8363,
                "dispossessed": 2.5635,
                "duels_lost": 2,
                "aerial_won": 0,
                "aerial_lost": 2,
                "interceptions": 1,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 1,
                "total_contest": 1,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0863,
                "ball_carries": 6,
                "total_progression": 26,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 75.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 1.0,
                "bench_appearance_probability": 0.339,
                "bench_expected_minutes": 23.54
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 1, fifa_overall 82.0)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0278,
                "assists": 0,
                "expected_goals": 0.0338,
                "rating": 7.405,
                "minutes": 24,
                "total_pass": 10,
                "accurate_pass": 9,
                "ball_recovery": 2,
                "duels_won": 2,
                "total_shots": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 4,
                "accurate_own_half_passes": 3,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 6,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 16,
                "possession_lost": 3.8363,
                "dispossessed": 2.5635,
                "duels_lost": 2,
                "aerial_won": 0,
                "aerial_lost": 2,
                "interceptions": 1,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 1,
                "total_contest": 1,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0863,
                "ball_carries": 6,
                "total_progression": 26,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 75.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 1.0,
                "bench_appearance_probability": 0.339,
                "bench_expected_minutes": 23.54,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.849,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "available_bench_not_projected_used",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 82.0
              }
            }
          ]
        },
        "Tim Iroegbunam": {
          "player_id": 1085950,
          "position": "M",
          "position_depth": "M_BENCH",
          "is_starter": false,
          "shirt_number": 42,
          "height": 182,
          "market_value": 18500000,
          "stats": {
            "key_pass": 0,
            "expected_assists": 0.0068,
            "assists": 0,
            "expected_goals": 0.005,
            "rating": 6.814,
            "minutes": 13,
            "total_pass": 7,
            "accurate_pass": 5,
            "ball_recovery": 0,
            "duels_won": 1,
            "total_shots": 0,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_own_half_passes": 0,
            "accurate_own_half_passes": 0,
            "total_opp_half_passes": 0,
            "accurate_opp_half_passes": 0,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 0,
            "possession_lost": 0.0,
            "dispossessed": 0.0,
            "duels_lost": 0,
            "aerial_won": 0,
            "aerial_lost": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "total_contest": 0,
            "won_contest": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "ball_carries": 0,
            "total_progression": 0,
            "progressive_carries": 0,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "minutesPct": 2.8,
            "pointsPerMatch": 1.0,
            "netGoalDifferencePer90": 18.0,
            "bench_appearance_probability": 0.706,
            "bench_expected_minutes": 12.96,
            "projected_substitution_order": 3,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 3,
            "projected_substitution_expected_count": 2.849,
            "projected_substitution_game_state_adjustment": 0,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 76.0
          },
          "latest_10_games": [
            {
              "match_id": 16363247.0,
              "match_date": "2026-08-29",
              "home_team": "Bournemouth",
              "away_team": "Everton",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Everton",
              "opponent": "Bournemouth",
              "stats": {
                "minutes": 8,
                "rating": 6.5,
                "assists": 0,
                "expected_assists": 0.0002,
                "total_shots": 0
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 3277,
            "combined_rank_score": 1220.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 640.0,
            "sofascore_rating": 6.7519,
            "sofascore_appearances": 29.0,
            "fifa_rank": 1801.0,
            "fifa_overall": 76.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 12,
            "squad_role": "substitute",
            "projected_match_rating": 6.814,
            "source_file": "data/player_rankings.csv",
            "player_name": "Tim Iroegbunam",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Marco Reus",
                  "ranking": 3272
                },
                {
                  "player_name": "Santiago Bueno",
                  "ranking": 3273
                },
                {
                  "player_name": "Hany Mukhtar",
                  "ranking": 3274
                },
                {
                  "player_name": "Aleksey Miranchuk",
                  "ranking": 3275
                },
                {
                  "player_name": "Alfonso Herrero",
                  "ranking": 3276
                }
              ],
              "lower": [
                {
                  "player_name": "Jaminton Campaz",
                  "ranking": 3278
                },
                {
                  "player_name": "Miguel Merentiel",
                  "ranking": 3279
                },
                {
                  "player_name": "Pep Biel",
                  "ranking": 3280
                },
                {
                  "player_name": "Beñat Prados",
                  "ranking": 3281
                },
                {
                  "player_name": "Zlatko Tripić",
                  "ranking": 3282
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.314,
          "history_matches": 1,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "M_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "keyPass",
              "expectedAssists",
              "totalCross",
              "accurateCross",
              "duelWon",
              "duelLost",
              "aerialWon",
              "ballRecovery",
              "touches",
              "interceptionWon",
              "wonTackle",
              "possessionLostCtrl",
              "dispossessed",
              "numberOfSprints",
              "kilometersCovered",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "creative_index",
              "touches_p90",
              "totalPass_p90",
              "keyPass_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "ballCarriesCount_p90",
              "creative_efficiency",
              "cross_accuracy",
              "cross_creative_contribution",
              "defensive_midfield_actions",
              "press_vulnerability",
              "progressive_carries_p90",
              "intensity_index",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "rating"
            ],
            "history_matches": 1,
            "data_confidence": 0.314,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 12.96,
            "bench_appearance_prob": 0.706,
            "market_value_adjustment": 1.0348,
            "fbref_prior_metrics": {
              "squad": "Everton",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 1.0,
              "starts": 0.0,
              "sub_appearances": 1.0,
              "minutes_per_sub": 5.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "prior_reliability": 0.0067
            },
            "rationale": "Bench projection scaled from XGBoost M_service (1 historical appearances) to 13.0 expected mins (appearance prob 0.71); FBref playing time empirical prior: 1.0 sub appearances, 5.0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 5 target models",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0455,
                "assists": 0,
                "expected_goals": 0.0362,
                "rating": 6.5847,
                "minutes": 8,
                "total_pass": 45,
                "accurate_pass": 36,
                "ball_recovery": 3,
                "duels_won": 4,
                "total_shots": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 1,
                "possession_lost": 0.0,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0348, quality 0.616)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.047,
                "assists": 0,
                "expected_goals": 0.0375,
                "rating": 6.814,
                "minutes": 8,
                "total_pass": 47,
                "accurate_pass": 37,
                "ball_recovery": 3,
                "duels_won": 4,
                "total_shots": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 1,
                "possession_lost": 0.0,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0036)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.047,
                "assists": 0,
                "expected_goals": 0.0375,
                "rating": 6.814,
                "minutes": 8,
                "total_pass": 47,
                "accurate_pass": 37,
                "ball_recovery": 3,
                "duels_won": 4,
                "total_shots": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 1,
                "possession_lost": 0.0,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 2.8,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 18.0
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 13.0 expected minutes (appearance prob 0.71)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0068,
                "assists": 0,
                "expected_goals": 0.0054,
                "rating": 6.814,
                "minutes": 13,
                "total_pass": 7,
                "accurate_pass": 5,
                "ball_recovery": 0,
                "duels_won": 1,
                "total_shots": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 0,
                "possession_lost": 0.0,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 2.8,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 18.0,
                "bench_appearance_probability": 0.706,
                "bench_expected_minutes": 12.96
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0068,
                "assists": 0,
                "expected_goals": 0.0054,
                "rating": 6.814,
                "minutes": 13,
                "total_pass": 7,
                "accurate_pass": 5,
                "ball_recovery": 0,
                "duels_won": 1,
                "total_shots": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 0,
                "possession_lost": 0.0,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 2.8,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 18.0,
                "bench_appearance_probability": 0.706,
                "bench_expected_minutes": 12.96
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.11 (squad xG sum 1.2008, xG scale 0.9260)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0068,
                "assists": 0,
                "expected_goals": 0.005,
                "rating": 6.814,
                "minutes": 13,
                "total_pass": 7,
                "accurate_pass": 5,
                "ball_recovery": 0,
                "duels_won": 1,
                "total_shots": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 0,
                "possession_lost": 0.0,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 2.8,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 18.0,
                "bench_appearance_probability": 0.706,
                "bench_expected_minutes": 12.96,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.849,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 12, fifa_overall 76.0)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0068,
                "assists": 0,
                "expected_goals": 0.005,
                "rating": 6.814,
                "minutes": 13,
                "total_pass": 7,
                "accurate_pass": 5,
                "ball_recovery": 0,
                "duels_won": 1,
                "total_shots": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 0,
                "possession_lost": 0.0,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 2.8,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 18.0,
                "bench_appearance_probability": 0.706,
                "bench_expected_minutes": 12.96,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.849,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 76.0
              }
            }
          ]
        },
        "Brennan Johnson": {
          "player_id": 1085180,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 22,
          "height": 186,
          "market_value": 32000000,
          "stats": {
            "expected_goals": 0.0423,
            "goal_rate": 0.0674,
            "goals": 0,
            "shots_on_target": 0,
            "expected_assists": 0.0062,
            "key_pass": 0,
            "rating": 7.2758,
            "minutes": 22,
            "total_shots": 0,
            "duels_won": 0,
            "aerial_won": 0,
            "total_pass": 1,
            "accurate_pass": 0,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 1,
            "accurate_opp_half_passes": 0,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 2,
            "possession_lost": 0.648,
            "dispossessed": 1.0696,
            "duels_lost": 1,
            "aerial_lost": 1,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "assists": 0,
            "shots_off_target": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 1,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "offsides": 1,
            "ball_carries": 1,
            "total_progression": 0,
            "progressive_carries": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "minutesPct": 20.0,
            "pointsPerMatch": 2.0,
            "netGoalDifferencePer90": 2.5,
            "bench_appearance_probability": 0.743,
            "bench_expected_minutes": 21.81,
            "projected_substitution_order": 1,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 3,
            "projected_substitution_expected_count": 2.849,
            "projected_substitution_game_state_adjustment": 0,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 78.0
          },
          "latest_10_games": [
            {
              "match_id": 16363259.0,
              "match_date": "2026-09-06",
              "home_team": "Everton",
              "away_team": "Manchester United",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Everton",
              "opponent": "Manchester United",
              "stats": {
                "minutes": 66,
                "rating": 6.2,
                "assists": 0,
                "expected_goals": 0.0522,
                "expected_assists": 0.0371,
                "total_shots": 1,
                "total_pass": 16,
                "accurate_pass": 14,
                "key_pass": 2,
                "tackles": 1,
                "interceptions": 2,
                "clearances": 1,
                "duels_won": 1,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363247.0,
              "match_date": "2026-08-29",
              "home_team": "Bournemouth",
              "away_team": "Everton",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Everton",
              "opponent": "Bournemouth",
              "stats": {
                "minutes": 28,
                "rating": 6.3,
                "assists": 0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "total_pass": 3,
                "accurate_pass": 1,
                "tackles": 1,
                "duels_won": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363635.0,
              "match_date": "2026-08-22",
              "home_team": "Everton",
              "away_team": "Crystal Palace",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Everton",
              "opponent": "Crystal Palace",
              "stats": {
                "minutes": 14,
                "rating": 6.5,
                "assists": 0,
                "expected_assists": 0.0012,
                "total_shots": 0,
                "total_pass": 3,
                "accurate_pass": 2,
                "clearances": 2,
                "duels_won": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 2013,
            "combined_rank_score": 765.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 421.0,
            "sofascore_rating": 6.9222,
            "sofascore_appearances": 9.0,
            "fifa_rank": 1110.0,
            "fifa_overall": 78.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 6,
            "squad_role": "substitute",
            "projected_match_rating": 7.2758,
            "source_file": "data/player_rankings.csv",
            "player_name": "Brennan Johnson",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Saba Lobzhanidze",
                  "ranking": 2008
                },
                {
                  "player_name": "Egor Khvalko",
                  "ranking": 2009
                },
                {
                  "player_name": "Vladislav Malkevich",
                  "ranking": 2010
                },
                {
                  "player_name": "Ayoub El Kaabi",
                  "ranking": 2011
                },
                {
                  "player_name": "Viktor Tsygankov",
                  "ranking": 2012
                }
              ],
              "lower": [
                {
                  "player_name": "Dani Vivian",
                  "ranking": 2014
                },
                {
                  "player_name": "Joaquín Larrivey",
                  "ranking": 2015
                },
                {
                  "player_name": "Dominik Livaković",
                  "ranking": 2016
                },
                {
                  "player_name": "Alexander Nübel",
                  "ranking": 2017
                },
                {
                  "player_name": "Domingos Duarte",
                  "ranking": 2018
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.379,
          "history_matches": 2,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "F_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "onTargetScoringAttempt",
              "shotOffTarget",
              "bigChanceMissed",
              "expectedAssists",
              "keyPass",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "touches",
              "dispossessed",
              "wasFouled",
              "topSpeed",
              "numberOfSprints",
              "ballRecovery",
              "possessionLostCtrl",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "shot_accuracy",
              "xg_per_shot",
              "touches_p90",
              "totalShots_p90",
              "duelWon_p90",
              "ballCarriesCount_p90",
              "big_chance_conversion",
              "shot_waste_rate",
              "aerial_dominance",
              "press_resistance_fwd",
              "speed_threat",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "expectedAssists",
              "keyPass",
              "rating"
            ],
            "history_matches": 2,
            "data_confidence": 0.379,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 21.81,
            "bench_appearance_prob": 0.743,
            "market_value_adjustment": 1.0696,
            "fbref_prior_metrics": {
              "squad": "Everton",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 0.0,
              "sub_appearances": 2.0,
              "minutes_per_sub": 18.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "prior_reliability": 0.0267
            },
            "rationale": "Bench projection scaled from XGBoost F_service (2 historical appearances) to 21.8 expected mins (appearance prob 0.74); FBref playing time empirical prior: 2.0 sub appearances, 18.0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 6 target models",
              "stats": {
                "expected_goals": 0.1763,
                "goal_rate": 0.2632,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0239,
                "key_pass": 0,
                "rating": 6.8023,
                "minutes": 21,
                "total_shots": 0,
                "duels_won": 1,
                "aerial_won": 1,
                "total_pass": 3,
                "accurate_pass": 2,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 8,
                "possession_lost": 2.5,
                "dispossessed": 1.0,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 1,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 1,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 2,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 1,
                "ball_carries": 2,
                "total_progression": 0,
                "progressive_carries": 0
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0696, quality 0.732)",
              "stats": {
                "expected_goals": 0.1885,
                "goal_rate": 0.2815,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0256,
                "key_pass": 0,
                "rating": 7.2758,
                "minutes": 22,
                "total_shots": 0,
                "duels_won": 1,
                "aerial_won": 1,
                "total_pass": 3,
                "accurate_pass": 2,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 9,
                "possession_lost": 2.674,
                "dispossessed": 1.0696,
                "duels_lost": 3,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 1,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 1,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 2,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 1,
                "ball_carries": 2,
                "total_progression": 0,
                "progressive_carries": 0
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0124)",
              "stats": {
                "expected_goals": 0.1885,
                "goal_rate": 0.278,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0256,
                "key_pass": 0,
                "rating": 7.2758,
                "minutes": 22,
                "total_shots": 0,
                "duels_won": 1,
                "aerial_won": 1,
                "total_pass": 3,
                "accurate_pass": 2,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 9,
                "possession_lost": 2.674,
                "dispossessed": 1.0696,
                "duels_lost": 3,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 1,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 1,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 2,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 1,
                "ball_carries": 2,
                "total_progression": 0,
                "progressive_carries": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 20.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 2.5
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 21.8 expected minutes (appearance prob 0.74)",
              "stats": {
                "expected_goals": 0.0457,
                "goal_rate": 0.0674,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0062,
                "key_pass": 0,
                "rating": 7.2758,
                "minutes": 22,
                "total_shots": 0,
                "duels_won": 0,
                "aerial_won": 0,
                "total_pass": 1,
                "accurate_pass": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 2,
                "possession_lost": 0.648,
                "dispossessed": 1.0696,
                "duels_lost": 1,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 1,
                "ball_carries": 1,
                "total_progression": 0,
                "progressive_carries": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 20.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 2.5,
                "bench_appearance_probability": 0.743,
                "bench_expected_minutes": 21.81
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.0457,
                "goal_rate": 0.0674,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0062,
                "key_pass": 0,
                "rating": 7.2758,
                "minutes": 22,
                "total_shots": 0,
                "duels_won": 0,
                "aerial_won": 0,
                "total_pass": 1,
                "accurate_pass": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 2,
                "possession_lost": 0.648,
                "dispossessed": 1.0696,
                "duels_lost": 1,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 1,
                "ball_carries": 1,
                "total_progression": 0,
                "progressive_carries": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 20.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 2.5,
                "bench_appearance_probability": 0.743,
                "bench_expected_minutes": 21.81
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.11 (squad xG sum 1.2008, xG scale 0.9260)",
              "stats": {
                "expected_goals": 0.0423,
                "goal_rate": 0.0674,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0062,
                "key_pass": 0,
                "rating": 7.2758,
                "minutes": 22,
                "total_shots": 0,
                "duels_won": 0,
                "aerial_won": 0,
                "total_pass": 1,
                "accurate_pass": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 2,
                "possession_lost": 0.648,
                "dispossessed": 1.0696,
                "duels_lost": 1,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 1,
                "ball_carries": 1,
                "total_progression": 0,
                "progressive_carries": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 20.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 2.5,
                "bench_appearance_probability": 0.743,
                "bench_expected_minutes": 21.81,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.849,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 6, fifa_overall 78.0)",
              "stats": {
                "expected_goals": 0.0423,
                "goal_rate": 0.0674,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0062,
                "key_pass": 0,
                "rating": 7.2758,
                "minutes": 22,
                "total_shots": 0,
                "duels_won": 0,
                "aerial_won": 0,
                "total_pass": 1,
                "accurate_pass": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 2,
                "possession_lost": 0.648,
                "dispossessed": 1.0696,
                "duels_lost": 1,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 1,
                "ball_carries": 1,
                "total_progression": 0,
                "progressive_carries": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 20.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 2.5,
                "bench_appearance_probability": 0.743,
                "bench_expected_minutes": 21.81,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.849,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 78.0
              }
            }
          ]
        },
        "Beto": {
          "player_id": 987489,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 9,
          "height": 194,
          "market_value": 19300000,
          "stats": {
            "expected_goals": 0.0271,
            "goal_rate": 0.0567,
            "goals": 0,
            "shots_on_target": 0,
            "expected_assists": 0.0046,
            "key_pass": 0,
            "rating": 6.9181,
            "minutes": 21,
            "total_shots": 0,
            "duels_won": 0,
            "aerial_won": 0,
            "total_pass": 1,
            "accurate_pass": 0,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 0,
            "accurate_opp_half_passes": 0,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 2,
            "possession_lost": 0.6068,
            "dispossessed": 1.0372,
            "duels_lost": 1,
            "aerial_lost": 4,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "assists": 0,
            "shots_off_target": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "offsides": 0,
            "ball_carries": 0,
            "total_progression": 1,
            "progressive_carries": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 0.0,
            "shotConversion": 0.0,
            "minutesPct": 18.3,
            "pointsPerMatch": 2.0,
            "netGoalDifferencePer90": 2.73,
            "bench_appearance_probability": 0.734,
            "bench_expected_minutes": 21.06,
            "projected_substitution_order": 2,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 3,
            "projected_substitution_expected_count": 2.849,
            "projected_substitution_game_state_adjustment": 0,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 77.0
          },
          "latest_10_games": [
            {
              "match_id": 16363247.0,
              "match_date": "2026-08-29",
              "home_team": "Bournemouth",
              "away_team": "Everton",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Everton",
              "opponent": "Bournemouth",
              "stats": {
                "minutes": 20,
                "rating": 6.7,
                "assists": 0,
                "expected_goals": 0.0375,
                "expected_assists": 0.0045,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 2,
                "accurate_pass": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363635.0,
              "match_date": "2026-08-22",
              "home_team": "Everton",
              "away_team": "Crystal Palace",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Everton",
              "opponent": "Crystal Palace",
              "stats": {
                "minutes": 11,
                "rating": 6.5,
                "assists": 0,
                "expected_goals": 0.0484,
                "expected_assists": 0.0,
                "total_shots": 1,
                "total_pass": 4,
                "accurate_pass": 2,
                "aerial_won": 1,
                "duels_won": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 3149,
            "combined_rank_score": 1115.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 803.0,
            "sofascore_rating": 6.6194,
            "sofascore_appearances": 37.0,
            "fifa_rank": 1428.0,
            "fifa_overall": 77.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 11,
            "squad_role": "substitute",
            "projected_match_rating": 6.9181,
            "source_file": "data/player_rankings.csv",
            "player_name": "Beto",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Luciano Valente",
                  "ranking": 3144
                },
                {
                  "player_name": "Michael Keane",
                  "ranking": 3145
                },
                {
                  "player_name": "Ao Tanaka",
                  "ranking": 3146
                },
                {
                  "player_name": "Fábio Vieira",
                  "ranking": 3147
                },
                {
                  "player_name": "Emanuel Emegha",
                  "ranking": 3148
                }
              ],
              "lower": [
                {
                  "player_name": "Chemsdine Talbi",
                  "ranking": 3150
                },
                {
                  "player_name": "Nicolás Fernández",
                  "ranking": 3151
                },
                {
                  "player_name": "Michal Sadílek",
                  "ranking": 3152
                },
                {
                  "player_name": "Tammy Abraham",
                  "ranking": 3153
                },
                {
                  "player_name": "Rafa Marín",
                  "ranking": 3154
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.379,
          "history_matches": 2,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "F_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "onTargetScoringAttempt",
              "shotOffTarget",
              "bigChanceMissed",
              "expectedAssists",
              "keyPass",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "touches",
              "dispossessed",
              "wasFouled",
              "topSpeed",
              "numberOfSprints",
              "ballRecovery",
              "possessionLostCtrl",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "shot_accuracy",
              "xg_per_shot",
              "touches_p90",
              "totalShots_p90",
              "duelWon_p90",
              "ballCarriesCount_p90",
              "big_chance_conversion",
              "shot_waste_rate",
              "aerial_dominance",
              "press_resistance_fwd",
              "speed_threat",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "expectedAssists",
              "keyPass",
              "rating"
            ],
            "history_matches": 2,
            "data_confidence": 0.379,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 21.06,
            "bench_appearance_prob": 0.734,
            "market_value_adjustment": 1.0372,
            "fbref_prior_metrics": {
              "squad": "Everton",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 0.0,
              "sub_appearances": 2.0,
              "minutes_per_sub": 17.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "prior_reliability": 0.0267
            },
            "rationale": "Bench projection scaled from XGBoost F_service (2 historical appearances) to 21.1 expected mins (appearance prob 0.73); FBref playing time empirical prior: 2.0 sub appearances, 17.0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 6 target models",
              "stats": {
                "expected_goals": 0.1206,
                "goal_rate": 0.2367,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0189,
                "key_pass": 0,
                "rating": 6.6698,
                "minutes": 16,
                "total_shots": 1,
                "duels_won": 1,
                "aerial_won": 1,
                "total_pass": 3,
                "accurate_pass": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 1,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 7,
                "possession_lost": 2.5,
                "dispossessed": 1.0,
                "duels_lost": 5,
                "aerial_lost": 4,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 1,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 1,
                "total_progression": 5,
                "progressive_carries": 0
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0372, quality 0.624)",
              "stats": {
                "expected_goals": 0.1251,
                "goal_rate": 0.2455,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0196,
                "key_pass": 0,
                "rating": 6.9181,
                "minutes": 16,
                "total_shots": 2,
                "duels_won": 1,
                "aerial_won": 1,
                "total_pass": 3,
                "accurate_pass": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 1,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 7,
                "possession_lost": 2.5931,
                "dispossessed": 1.0372,
                "duels_lost": 5,
                "aerial_lost": 4,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 1,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 1,
                "total_progression": 6,
                "progressive_carries": 0
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0124)",
              "stats": {
                "expected_goals": 0.1251,
                "goal_rate": 0.2425,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0196,
                "key_pass": 0,
                "rating": 6.9181,
                "minutes": 16,
                "total_shots": 2,
                "duels_won": 1,
                "aerial_won": 1,
                "total_pass": 3,
                "accurate_pass": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 1,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 7,
                "possession_lost": 2.5931,
                "dispossessed": 1.0372,
                "duels_lost": 5,
                "aerial_lost": 4,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 1,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 1,
                "total_progression": 6,
                "progressive_carries": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 18.3,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 2.73
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 21.1 expected minutes (appearance prob 0.73)",
              "stats": {
                "expected_goals": 0.0293,
                "goal_rate": 0.0567,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0046,
                "key_pass": 0,
                "rating": 6.9181,
                "minutes": 21,
                "total_shots": 0,
                "duels_won": 0,
                "aerial_won": 0,
                "total_pass": 1,
                "accurate_pass": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 2,
                "possession_lost": 0.6068,
                "dispossessed": 1.0372,
                "duels_lost": 1,
                "aerial_lost": 4,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 0,
                "total_progression": 1,
                "progressive_carries": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 18.3,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 2.73,
                "bench_appearance_probability": 0.734,
                "bench_expected_minutes": 21.06
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.0293,
                "goal_rate": 0.0567,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0046,
                "key_pass": 0,
                "rating": 6.9181,
                "minutes": 21,
                "total_shots": 0,
                "duels_won": 0,
                "aerial_won": 0,
                "total_pass": 1,
                "accurate_pass": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 2,
                "possession_lost": 0.6068,
                "dispossessed": 1.0372,
                "duels_lost": 1,
                "aerial_lost": 4,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 0,
                "total_progression": 1,
                "progressive_carries": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 18.3,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 2.73,
                "bench_appearance_probability": 0.734,
                "bench_expected_minutes": 21.06
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.11 (squad xG sum 1.2008, xG scale 0.9260)",
              "stats": {
                "expected_goals": 0.0271,
                "goal_rate": 0.0567,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0046,
                "key_pass": 0,
                "rating": 6.9181,
                "minutes": 21,
                "total_shots": 0,
                "duels_won": 0,
                "aerial_won": 0,
                "total_pass": 1,
                "accurate_pass": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 2,
                "possession_lost": 0.6068,
                "dispossessed": 1.0372,
                "duels_lost": 1,
                "aerial_lost": 4,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 0,
                "total_progression": 1,
                "progressive_carries": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 18.3,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 2.73,
                "bench_appearance_probability": 0.734,
                "bench_expected_minutes": 21.06,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.849,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 11, fifa_overall 77.0)",
              "stats": {
                "expected_goals": 0.0271,
                "goal_rate": 0.0567,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0046,
                "key_pass": 0,
                "rating": 6.9181,
                "minutes": 21,
                "total_shots": 0,
                "duels_won": 0,
                "aerial_won": 0,
                "total_pass": 1,
                "accurate_pass": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 2,
                "possession_lost": 0.6068,
                "dispossessed": 1.0372,
                "duels_lost": 1,
                "aerial_lost": 4,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 0,
                "total_progression": 1,
                "progressive_carries": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 18.3,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 2.73,
                "bench_appearance_probability": 0.734,
                "bench_expected_minutes": 21.06,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.849,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 77.0
              }
            }
          ]
        }
      },
      "substitutes": {
        "Brennan Johnson": {
          "player_id": 1085180,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 22,
          "height": 186,
          "market_value": 32000000,
          "stats": {
            "expected_goals": 0.0423,
            "goal_rate": 0.0674,
            "goals": 0,
            "shots_on_target": 0,
            "expected_assists": 0.0062,
            "key_pass": 0,
            "rating": 7.2758,
            "minutes": 22,
            "total_shots": 0,
            "duels_won": 0,
            "aerial_won": 0,
            "total_pass": 1,
            "accurate_pass": 0,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 1,
            "accurate_opp_half_passes": 0,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 2,
            "possession_lost": 0.648,
            "dispossessed": 1.0696,
            "duels_lost": 1,
            "aerial_lost": 1,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "assists": 0,
            "shots_off_target": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 1,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "offsides": 1,
            "ball_carries": 1,
            "total_progression": 0,
            "progressive_carries": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "minutesPct": 20.0,
            "pointsPerMatch": 2.0,
            "netGoalDifferencePer90": 2.5,
            "bench_appearance_probability": 0.743,
            "bench_expected_minutes": 21.81,
            "projected_substitution_order": 1,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 3,
            "projected_substitution_expected_count": 2.849,
            "projected_substitution_game_state_adjustment": 0,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 78.0
          },
          "latest_10_games": [
            {
              "match_id": 16363259.0,
              "match_date": "2026-09-06",
              "home_team": "Everton",
              "away_team": "Manchester United",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Everton",
              "opponent": "Manchester United",
              "stats": {
                "minutes": 66,
                "rating": 6.2,
                "assists": 0,
                "expected_goals": 0.0522,
                "expected_assists": 0.0371,
                "total_shots": 1,
                "total_pass": 16,
                "accurate_pass": 14,
                "key_pass": 2,
                "tackles": 1,
                "interceptions": 2,
                "clearances": 1,
                "duels_won": 1,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363247.0,
              "match_date": "2026-08-29",
              "home_team": "Bournemouth",
              "away_team": "Everton",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Everton",
              "opponent": "Bournemouth",
              "stats": {
                "minutes": 28,
                "rating": 6.3,
                "assists": 0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "total_pass": 3,
                "accurate_pass": 1,
                "tackles": 1,
                "duels_won": 1,
                "ball_recovery": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363635.0,
              "match_date": "2026-08-22",
              "home_team": "Everton",
              "away_team": "Crystal Palace",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Everton",
              "opponent": "Crystal Palace",
              "stats": {
                "minutes": 14,
                "rating": 6.5,
                "assists": 0,
                "expected_assists": 0.0012,
                "total_shots": 0,
                "total_pass": 3,
                "accurate_pass": 2,
                "clearances": 2,
                "duels_won": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 2013,
            "combined_rank_score": 765.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 421.0,
            "sofascore_rating": 6.9222,
            "sofascore_appearances": 9.0,
            "fifa_rank": 1110.0,
            "fifa_overall": 78.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 6,
            "squad_role": "substitute",
            "projected_match_rating": 7.2758,
            "source_file": "data/player_rankings.csv",
            "player_name": "Brennan Johnson",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Saba Lobzhanidze",
                  "ranking": 2008
                },
                {
                  "player_name": "Egor Khvalko",
                  "ranking": 2009
                },
                {
                  "player_name": "Vladislav Malkevich",
                  "ranking": 2010
                },
                {
                  "player_name": "Ayoub El Kaabi",
                  "ranking": 2011
                },
                {
                  "player_name": "Viktor Tsygankov",
                  "ranking": 2012
                }
              ],
              "lower": [
                {
                  "player_name": "Dani Vivian",
                  "ranking": 2014
                },
                {
                  "player_name": "Joaquín Larrivey",
                  "ranking": 2015
                },
                {
                  "player_name": "Dominik Livaković",
                  "ranking": 2016
                },
                {
                  "player_name": "Alexander Nübel",
                  "ranking": 2017
                },
                {
                  "player_name": "Domingos Duarte",
                  "ranking": 2018
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.379,
          "history_matches": 2,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "F_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "onTargetScoringAttempt",
              "shotOffTarget",
              "bigChanceMissed",
              "expectedAssists",
              "keyPass",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "touches",
              "dispossessed",
              "wasFouled",
              "topSpeed",
              "numberOfSprints",
              "ballRecovery",
              "possessionLostCtrl",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "shot_accuracy",
              "xg_per_shot",
              "touches_p90",
              "totalShots_p90",
              "duelWon_p90",
              "ballCarriesCount_p90",
              "big_chance_conversion",
              "shot_waste_rate",
              "aerial_dominance",
              "press_resistance_fwd",
              "speed_threat",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "expectedAssists",
              "keyPass",
              "rating"
            ],
            "history_matches": 2,
            "data_confidence": 0.379,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 21.81,
            "bench_appearance_prob": 0.743,
            "market_value_adjustment": 1.0696,
            "fbref_prior_metrics": {
              "squad": "Everton",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 0.0,
              "sub_appearances": 2.0,
              "minutes_per_sub": 18.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "prior_reliability": 0.0267
            },
            "rationale": "Bench projection scaled from XGBoost F_service (2 historical appearances) to 21.8 expected mins (appearance prob 0.74); FBref playing time empirical prior: 2.0 sub appearances, 18.0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 6 target models",
              "stats": {
                "expected_goals": 0.1763,
                "goal_rate": 0.2632,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0239,
                "key_pass": 0,
                "rating": 6.8023,
                "minutes": 21,
                "total_shots": 0,
                "duels_won": 1,
                "aerial_won": 1,
                "total_pass": 3,
                "accurate_pass": 2,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 8,
                "possession_lost": 2.5,
                "dispossessed": 1.0,
                "duels_lost": 2,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 1,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 1,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 2,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 1,
                "ball_carries": 2,
                "total_progression": 0,
                "progressive_carries": 0
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0696, quality 0.732)",
              "stats": {
                "expected_goals": 0.1885,
                "goal_rate": 0.2815,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0256,
                "key_pass": 0,
                "rating": 7.2758,
                "minutes": 22,
                "total_shots": 0,
                "duels_won": 1,
                "aerial_won": 1,
                "total_pass": 3,
                "accurate_pass": 2,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 9,
                "possession_lost": 2.674,
                "dispossessed": 1.0696,
                "duels_lost": 3,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 1,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 1,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 2,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 1,
                "ball_carries": 2,
                "total_progression": 0,
                "progressive_carries": 0
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0124)",
              "stats": {
                "expected_goals": 0.1885,
                "goal_rate": 0.278,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0256,
                "key_pass": 0,
                "rating": 7.2758,
                "minutes": 22,
                "total_shots": 0,
                "duels_won": 1,
                "aerial_won": 1,
                "total_pass": 3,
                "accurate_pass": 2,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 9,
                "possession_lost": 2.674,
                "dispossessed": 1.0696,
                "duels_lost": 3,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 1,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 1,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 2,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 1,
                "ball_carries": 2,
                "total_progression": 0,
                "progressive_carries": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 20.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 2.5
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 21.8 expected minutes (appearance prob 0.74)",
              "stats": {
                "expected_goals": 0.0457,
                "goal_rate": 0.0674,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0062,
                "key_pass": 0,
                "rating": 7.2758,
                "minutes": 22,
                "total_shots": 0,
                "duels_won": 0,
                "aerial_won": 0,
                "total_pass": 1,
                "accurate_pass": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 2,
                "possession_lost": 0.648,
                "dispossessed": 1.0696,
                "duels_lost": 1,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 1,
                "ball_carries": 1,
                "total_progression": 0,
                "progressive_carries": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 20.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 2.5,
                "bench_appearance_probability": 0.743,
                "bench_expected_minutes": 21.81
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.0457,
                "goal_rate": 0.0674,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0062,
                "key_pass": 0,
                "rating": 7.2758,
                "minutes": 22,
                "total_shots": 0,
                "duels_won": 0,
                "aerial_won": 0,
                "total_pass": 1,
                "accurate_pass": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 2,
                "possession_lost": 0.648,
                "dispossessed": 1.0696,
                "duels_lost": 1,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 1,
                "ball_carries": 1,
                "total_progression": 0,
                "progressive_carries": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 20.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 2.5,
                "bench_appearance_probability": 0.743,
                "bench_expected_minutes": 21.81
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.11 (squad xG sum 1.2008, xG scale 0.9260)",
              "stats": {
                "expected_goals": 0.0423,
                "goal_rate": 0.0674,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0062,
                "key_pass": 0,
                "rating": 7.2758,
                "minutes": 22,
                "total_shots": 0,
                "duels_won": 0,
                "aerial_won": 0,
                "total_pass": 1,
                "accurate_pass": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 2,
                "possession_lost": 0.648,
                "dispossessed": 1.0696,
                "duels_lost": 1,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 1,
                "ball_carries": 1,
                "total_progression": 0,
                "progressive_carries": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 20.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 2.5,
                "bench_appearance_probability": 0.743,
                "bench_expected_minutes": 21.81,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.849,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 6, fifa_overall 78.0)",
              "stats": {
                "expected_goals": 0.0423,
                "goal_rate": 0.0674,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0062,
                "key_pass": 0,
                "rating": 7.2758,
                "minutes": 22,
                "total_shots": 0,
                "duels_won": 0,
                "aerial_won": 0,
                "total_pass": 1,
                "accurate_pass": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 2,
                "possession_lost": 0.648,
                "dispossessed": 1.0696,
                "duels_lost": 1,
                "aerial_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 1,
                "ball_carries": 1,
                "total_progression": 0,
                "progressive_carries": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 20.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 2.5,
                "bench_appearance_probability": 0.743,
                "bench_expected_minutes": 21.81,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.849,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 78.0
              }
            }
          ]
        },
        "Beto": {
          "player_id": 987489,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 9,
          "height": 194,
          "market_value": 19300000,
          "stats": {
            "expected_goals": 0.0271,
            "goal_rate": 0.0567,
            "goals": 0,
            "shots_on_target": 0,
            "expected_assists": 0.0046,
            "key_pass": 0,
            "rating": 6.9181,
            "minutes": 21,
            "total_shots": 0,
            "duels_won": 0,
            "aerial_won": 0,
            "total_pass": 1,
            "accurate_pass": 0,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 0,
            "accurate_opp_half_passes": 0,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 2,
            "possession_lost": 0.6068,
            "dispossessed": 1.0372,
            "duels_lost": 1,
            "aerial_lost": 4,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "assists": 0,
            "shots_off_target": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "offsides": 0,
            "ball_carries": 0,
            "total_progression": 1,
            "progressive_carries": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 0.0,
            "shotConversion": 0.0,
            "minutesPct": 18.3,
            "pointsPerMatch": 2.0,
            "netGoalDifferencePer90": 2.73,
            "bench_appearance_probability": 0.734,
            "bench_expected_minutes": 21.06,
            "projected_substitution_order": 2,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 3,
            "projected_substitution_expected_count": 2.849,
            "projected_substitution_game_state_adjustment": 0,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 77.0
          },
          "latest_10_games": [
            {
              "match_id": 16363247.0,
              "match_date": "2026-08-29",
              "home_team": "Bournemouth",
              "away_team": "Everton",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Everton",
              "opponent": "Bournemouth",
              "stats": {
                "minutes": 20,
                "rating": 6.7,
                "assists": 0,
                "expected_goals": 0.0375,
                "expected_assists": 0.0045,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 2,
                "accurate_pass": 2
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16363635.0,
              "match_date": "2026-08-22",
              "home_team": "Everton",
              "away_team": "Crystal Palace",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Everton",
              "opponent": "Crystal Palace",
              "stats": {
                "minutes": 11,
                "rating": 6.5,
                "assists": 0,
                "expected_goals": 0.0484,
                "expected_assists": 0.0,
                "total_shots": 1,
                "total_pass": 4,
                "accurate_pass": 2,
                "aerial_won": 1,
                "duels_won": 1
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 3149,
            "combined_rank_score": 1115.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 803.0,
            "sofascore_rating": 6.6194,
            "sofascore_appearances": 37.0,
            "fifa_rank": 1428.0,
            "fifa_overall": 77.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 11,
            "squad_role": "substitute",
            "projected_match_rating": 6.9181,
            "source_file": "data/player_rankings.csv",
            "player_name": "Beto",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Luciano Valente",
                  "ranking": 3144
                },
                {
                  "player_name": "Michael Keane",
                  "ranking": 3145
                },
                {
                  "player_name": "Ao Tanaka",
                  "ranking": 3146
                },
                {
                  "player_name": "Fábio Vieira",
                  "ranking": 3147
                },
                {
                  "player_name": "Emanuel Emegha",
                  "ranking": 3148
                }
              ],
              "lower": [
                {
                  "player_name": "Chemsdine Talbi",
                  "ranking": 3150
                },
                {
                  "player_name": "Nicolás Fernández",
                  "ranking": 3151
                },
                {
                  "player_name": "Michal Sadílek",
                  "ranking": 3152
                },
                {
                  "player_name": "Tammy Abraham",
                  "ranking": 3153
                },
                {
                  "player_name": "Rafa Marín",
                  "ranking": 3154
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.379,
          "history_matches": 2,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "F_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "onTargetScoringAttempt",
              "shotOffTarget",
              "bigChanceMissed",
              "expectedAssists",
              "keyPass",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "touches",
              "dispossessed",
              "wasFouled",
              "topSpeed",
              "numberOfSprints",
              "ballRecovery",
              "possessionLostCtrl",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "shot_accuracy",
              "xg_per_shot",
              "touches_p90",
              "totalShots_p90",
              "duelWon_p90",
              "ballCarriesCount_p90",
              "big_chance_conversion",
              "shot_waste_rate",
              "aerial_dominance",
              "press_resistance_fwd",
              "speed_threat",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "expectedAssists",
              "keyPass",
              "rating"
            ],
            "history_matches": 2,
            "data_confidence": 0.379,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 21.06,
            "bench_appearance_prob": 0.734,
            "market_value_adjustment": 1.0372,
            "fbref_prior_metrics": {
              "squad": "Everton",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 0.0,
              "sub_appearances": 2.0,
              "minutes_per_sub": 17.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "prior_reliability": 0.0267
            },
            "rationale": "Bench projection scaled from XGBoost F_service (2 historical appearances) to 21.1 expected mins (appearance prob 0.73); FBref playing time empirical prior: 2.0 sub appearances, 17.0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 6 target models",
              "stats": {
                "expected_goals": 0.1206,
                "goal_rate": 0.2367,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0189,
                "key_pass": 0,
                "rating": 6.6698,
                "minutes": 16,
                "total_shots": 1,
                "duels_won": 1,
                "aerial_won": 1,
                "total_pass": 3,
                "accurate_pass": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 1,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 7,
                "possession_lost": 2.5,
                "dispossessed": 1.0,
                "duels_lost": 5,
                "aerial_lost": 4,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 1,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 1,
                "total_progression": 5,
                "progressive_carries": 0
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0372, quality 0.624)",
              "stats": {
                "expected_goals": 0.1251,
                "goal_rate": 0.2455,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0196,
                "key_pass": 0,
                "rating": 6.9181,
                "minutes": 16,
                "total_shots": 2,
                "duels_won": 1,
                "aerial_won": 1,
                "total_pass": 3,
                "accurate_pass": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 1,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 7,
                "possession_lost": 2.5931,
                "dispossessed": 1.0372,
                "duels_lost": 5,
                "aerial_lost": 4,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 1,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 1,
                "total_progression": 6,
                "progressive_carries": 0
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0124)",
              "stats": {
                "expected_goals": 0.1251,
                "goal_rate": 0.2425,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0196,
                "key_pass": 0,
                "rating": 6.9181,
                "minutes": 16,
                "total_shots": 2,
                "duels_won": 1,
                "aerial_won": 1,
                "total_pass": 3,
                "accurate_pass": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 1,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 7,
                "possession_lost": 2.5931,
                "dispossessed": 1.0372,
                "duels_lost": 5,
                "aerial_lost": 4,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 1,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 1,
                "total_progression": 6,
                "progressive_carries": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 18.3,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 2.73
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 21.1 expected minutes (appearance prob 0.73)",
              "stats": {
                "expected_goals": 0.0293,
                "goal_rate": 0.0567,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0046,
                "key_pass": 0,
                "rating": 6.9181,
                "minutes": 21,
                "total_shots": 0,
                "duels_won": 0,
                "aerial_won": 0,
                "total_pass": 1,
                "accurate_pass": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 2,
                "possession_lost": 0.6068,
                "dispossessed": 1.0372,
                "duels_lost": 1,
                "aerial_lost": 4,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 0,
                "total_progression": 1,
                "progressive_carries": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 18.3,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 2.73,
                "bench_appearance_probability": 0.734,
                "bench_expected_minutes": 21.06
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.0293,
                "goal_rate": 0.0567,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0046,
                "key_pass": 0,
                "rating": 6.9181,
                "minutes": 21,
                "total_shots": 0,
                "duels_won": 0,
                "aerial_won": 0,
                "total_pass": 1,
                "accurate_pass": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 2,
                "possession_lost": 0.6068,
                "dispossessed": 1.0372,
                "duels_lost": 1,
                "aerial_lost": 4,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 0,
                "total_progression": 1,
                "progressive_carries": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 18.3,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 2.73,
                "bench_appearance_probability": 0.734,
                "bench_expected_minutes": 21.06
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.11 (squad xG sum 1.2008, xG scale 0.9260)",
              "stats": {
                "expected_goals": 0.0271,
                "goal_rate": 0.0567,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0046,
                "key_pass": 0,
                "rating": 6.9181,
                "minutes": 21,
                "total_shots": 0,
                "duels_won": 0,
                "aerial_won": 0,
                "total_pass": 1,
                "accurate_pass": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 2,
                "possession_lost": 0.6068,
                "dispossessed": 1.0372,
                "duels_lost": 1,
                "aerial_lost": 4,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 0,
                "total_progression": 1,
                "progressive_carries": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 18.3,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 2.73,
                "bench_appearance_probability": 0.734,
                "bench_expected_minutes": 21.06,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.849,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 11, fifa_overall 77.0)",
              "stats": {
                "expected_goals": 0.0271,
                "goal_rate": 0.0567,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0046,
                "key_pass": 0,
                "rating": 6.9181,
                "minutes": 21,
                "total_shots": 0,
                "duels_won": 0,
                "aerial_won": 0,
                "total_pass": 1,
                "accurate_pass": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 2,
                "possession_lost": 0.6068,
                "dispossessed": 1.0372,
                "duels_lost": 1,
                "aerial_lost": 4,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 0,
                "total_progression": 1,
                "progressive_carries": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 18.3,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 2.73,
                "bench_appearance_probability": 0.734,
                "bench_expected_minutes": 21.06,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.849,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 77.0
              }
            }
          ]
        },
        "Tim Iroegbunam": {
          "player_id": 1085950,
          "position": "M",
          "position_depth": "M_BENCH",
          "is_starter": false,
          "shirt_number": 42,
          "height": 182,
          "market_value": 18500000,
          "stats": {
            "key_pass": 0,
            "expected_assists": 0.0068,
            "assists": 0,
            "expected_goals": 0.005,
            "rating": 6.814,
            "minutes": 13,
            "total_pass": 7,
            "accurate_pass": 5,
            "ball_recovery": 0,
            "duels_won": 1,
            "total_shots": 0,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_own_half_passes": 0,
            "accurate_own_half_passes": 0,
            "total_opp_half_passes": 0,
            "accurate_opp_half_passes": 0,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 0,
            "possession_lost": 0.0,
            "dispossessed": 0.0,
            "duels_lost": 0,
            "aerial_won": 0,
            "aerial_lost": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "total_contest": 0,
            "won_contest": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "ball_carries": 0,
            "total_progression": 0,
            "progressive_carries": 0,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "minutesPct": 2.8,
            "pointsPerMatch": 1.0,
            "netGoalDifferencePer90": 18.0,
            "bench_appearance_probability": 0.706,
            "bench_expected_minutes": 12.96,
            "projected_substitution_order": 3,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 3,
            "projected_substitution_expected_count": 2.849,
            "projected_substitution_game_state_adjustment": 0,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 76.0
          },
          "latest_10_games": [
            {
              "match_id": 16363247.0,
              "match_date": "2026-08-29",
              "home_team": "Bournemouth",
              "away_team": "Everton",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Everton",
              "opponent": "Bournemouth",
              "stats": {
                "minutes": 8,
                "rating": 6.5,
                "assists": 0,
                "expected_assists": 0.0002,
                "total_shots": 0
              },
              "has_player_stats": true,
              "league_name": "Premier League",
              "league_id": "17.0",
              "league_slug": "premier-league",
              "league_country": "England",
              "season_id": "96668.0",
              "season_name": "Premier League 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 3277,
            "combined_rank_score": 1220.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 640.0,
            "sofascore_rating": 6.7519,
            "sofascore_appearances": 29.0,
            "fifa_rank": 1801.0,
            "fifa_overall": 76.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 12,
            "squad_role": "substitute",
            "projected_match_rating": 6.814,
            "source_file": "data/player_rankings.csv",
            "player_name": "Tim Iroegbunam",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Marco Reus",
                  "ranking": 3272
                },
                {
                  "player_name": "Santiago Bueno",
                  "ranking": 3273
                },
                {
                  "player_name": "Hany Mukhtar",
                  "ranking": 3274
                },
                {
                  "player_name": "Aleksey Miranchuk",
                  "ranking": 3275
                },
                {
                  "player_name": "Alfonso Herrero",
                  "ranking": 3276
                }
              ],
              "lower": [
                {
                  "player_name": "Jaminton Campaz",
                  "ranking": 3278
                },
                {
                  "player_name": "Miguel Merentiel",
                  "ranking": 3279
                },
                {
                  "player_name": "Pep Biel",
                  "ranking": 3280
                },
                {
                  "player_name": "Beñat Prados",
                  "ranking": 3281
                },
                {
                  "player_name": "Zlatko Tripić",
                  "ranking": 3282
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.314,
          "history_matches": 1,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "M_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "keyPass",
              "expectedAssists",
              "totalCross",
              "accurateCross",
              "duelWon",
              "duelLost",
              "aerialWon",
              "ballRecovery",
              "touches",
              "interceptionWon",
              "wonTackle",
              "possessionLostCtrl",
              "dispossessed",
              "numberOfSprints",
              "kilometersCovered",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "creative_index",
              "touches_p90",
              "totalPass_p90",
              "keyPass_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "ballCarriesCount_p90",
              "creative_efficiency",
              "cross_accuracy",
              "cross_creative_contribution",
              "defensive_midfield_actions",
              "press_vulnerability",
              "progressive_carries_p90",
              "intensity_index",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "rating"
            ],
            "history_matches": 1,
            "data_confidence": 0.314,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 12.96,
            "bench_appearance_prob": 0.706,
            "market_value_adjustment": 1.0348,
            "fbref_prior_metrics": {
              "squad": "Everton",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 1.0,
              "starts": 0.0,
              "sub_appearances": 1.0,
              "minutes_per_sub": 5.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "prior_reliability": 0.0067
            },
            "rationale": "Bench projection scaled from XGBoost M_service (1 historical appearances) to 13.0 expected mins (appearance prob 0.71); FBref playing time empirical prior: 1.0 sub appearances, 5.0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 5 target models",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0455,
                "assists": 0,
                "expected_goals": 0.0362,
                "rating": 6.5847,
                "minutes": 8,
                "total_pass": 45,
                "accurate_pass": 36,
                "ball_recovery": 3,
                "duels_won": 4,
                "total_shots": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 1,
                "possession_lost": 0.0,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0348, quality 0.616)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.047,
                "assists": 0,
                "expected_goals": 0.0375,
                "rating": 6.814,
                "minutes": 8,
                "total_pass": 47,
                "accurate_pass": 37,
                "ball_recovery": 3,
                "duels_won": 4,
                "total_shots": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 1,
                "possession_lost": 0.0,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0036)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.047,
                "assists": 0,
                "expected_goals": 0.0375,
                "rating": 6.814,
                "minutes": 8,
                "total_pass": 47,
                "accurate_pass": 37,
                "ball_recovery": 3,
                "duels_won": 4,
                "total_shots": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 1,
                "possession_lost": 0.0,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 2.8,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 18.0
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 13.0 expected minutes (appearance prob 0.71)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0068,
                "assists": 0,
                "expected_goals": 0.0054,
                "rating": 6.814,
                "minutes": 13,
                "total_pass": 7,
                "accurate_pass": 5,
                "ball_recovery": 0,
                "duels_won": 1,
                "total_shots": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 0,
                "possession_lost": 0.0,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 2.8,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 18.0,
                "bench_appearance_probability": 0.706,
                "bench_expected_minutes": 12.96
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0068,
                "assists": 0,
                "expected_goals": 0.0054,
                "rating": 6.814,
                "minutes": 13,
                "total_pass": 7,
                "accurate_pass": 5,
                "ball_recovery": 0,
                "duels_won": 1,
                "total_shots": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 0,
                "possession_lost": 0.0,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 2.8,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 18.0,
                "bench_appearance_probability": 0.706,
                "bench_expected_minutes": 12.96
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.11 (squad xG sum 1.2008, xG scale 0.9260)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0068,
                "assists": 0,
                "expected_goals": 0.005,
                "rating": 6.814,
                "minutes": 13,
                "total_pass": 7,
                "accurate_pass": 5,
                "ball_recovery": 0,
                "duels_won": 1,
                "total_shots": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 0,
                "possession_lost": 0.0,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 2.8,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 18.0,
                "bench_appearance_probability": 0.706,
                "bench_expected_minutes": 12.96,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.849,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 12, fifa_overall 76.0)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0068,
                "assists": 0,
                "expected_goals": 0.005,
                "rating": 6.814,
                "minutes": 13,
                "total_pass": 7,
                "accurate_pass": 5,
                "ball_recovery": 0,
                "duels_won": 1,
                "total_shots": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 0,
                "possession_lost": 0.0,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 2.8,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 18.0,
                "bench_appearance_probability": 0.706,
                "bench_expected_minutes": 12.96,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 3,
                "projected_substitution_expected_count": 2.849,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 76.0
              }
            }
          ]
        }
      },
      "team_totals": {
        "projected_goals": 1,
        "expected_goals": 1.11,
        "expected_assists": 0.72,
        "total_shots": 18,
        "shots_on_target": 8,
        "total_passes": 376,
        "interceptions": 6,
        "tackles": 18,
        "avg_rating": 7.18,
        "possession_estimated_pct": 49.3,
        "pressing_actions_per_90": 7.8
      }
    }
  },
  "antagonist_report": {
    "home_attacking_duels": [
      {
        "attacker": "Mateus Fernandes",
        "attacker_role": "LW",
        "attacker_market_value": 49000000,
        "attacker_height": 178,
        "attacker_skill_quality": 0.821,
        "defenders": [
          "Jordan Pickford"
        ],
        "defender_roles": [
          "GK"
        ],
        "def_skill_quality_avg": 0.567,
        "duel_zone": "Left Wing vs Right Back — Flank Battle",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.506,
        "xg_contribution": 0.0565,
        "shots_in_zone": 2.0,
        "dribbles_attempted": 4,
        "dribbles_successful": 1.8,
        "aerial_duels": 2,
        "aerial_won": 1.0,
        "crosses_in_zone": 2.6,
        "fouls_drawn": 1.3,
        "pressing_intensity_on_attacker": "LOW",
        "defender_stats": [
          {
            "player": "Jordan Pickford",
            "role": "GK",
            "market_value": 13900000,
            "tackles_attempted": 2.0,
            "tackles_won": 1.6,
            "fouls_committed": 0.5,
            "interceptions_in_zone": 0.9,
            "clearances_in_zone": 0.8,
            "aerial_duels_won": 1.0,
            "defensive_success_rate": 0.494
          }
        ],
        "duel_analysis": "Mateus Fernandes (LW) is slightly favored against Jordan Pickford in a direct 1v1 contest. Duel win probability: 51%. The quality gap is significant (€49M vs €14M avg). Projected xG contribution: 0.057 — creating consistent moderate threat."
      },
      {
        "attacker": "Sávio",
        "attacker_role": "CAM",
        "attacker_market_value": 37000000,
        "attacker_height": 176,
        "attacker_skill_quality": 0.764,
        "defenders": [
          "James Garner",
          "Merlin Röhl"
        ],
        "defender_roles": [
          "CDM",
          "CDM"
        ],
        "def_skill_quality_avg": 0.696,
        "duel_zone": "Attacking Mid vs Double Pivot — Tight Space Battle",
        "numerical_situation": "1v2",
        "duel_win_rate": 0.228,
        "xg_contribution": 0.1145,
        "shots_in_zone": 1.6,
        "dribbles_attempted": 3,
        "dribbles_successful": 0.6,
        "aerial_duels": 2,
        "aerial_won": 0.9,
        "crosses_in_zone": 0.0,
        "fouls_drawn": 1.7,
        "pressing_intensity_on_attacker": "MEDIUM",
        "defender_stats": [
          {
            "player": "James Garner",
            "role": "CDM",
            "market_value": 48000000,
            "tackles_attempted": 1.1,
            "tackles_won": 1.2,
            "fouls_committed": 0.4,
            "interceptions_in_zone": 1.3,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 0.5,
            "defensive_success_rate": 0.772
          },
          {
            "player": "Merlin Röhl",
            "role": "CDM",
            "market_value": 14700000,
            "tackles_attempted": 1.0,
            "tackles_won": 1.1,
            "fouls_committed": 0.5,
            "interceptions_in_zone": 0.9,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 0.5,
            "defensive_success_rate": 0.772
          }
        ],
        "duel_analysis": "Sávio (CAM) is heavily outmatched defensively against James Garner and Merlin Röhl in a 2-defender block. Duel win probability: 23%.  Projected xG contribution: 0.114 — with very limited chance creation expected."
      },
      {
        "attacker": "Omar Marmoush",
        "attacker_role": "ST",
        "attacker_market_value": 55000000,
        "attacker_height": 183,
        "attacker_skill_quality": 0.84,
        "defenders": [
          "Vitaliy Mykolenko",
          "Jarrad Branthwaite"
        ],
        "defender_roles": [
          "CB",
          "CB"
        ],
        "def_skill_quality_avg": 0.736,
        "duel_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "numerical_situation": "1v2",
        "duel_win_rate": 0.229,
        "xg_contribution": 0.2299,
        "shots_in_zone": 2.2,
        "dribbles_attempted": 2,
        "dribbles_successful": 0.4,
        "aerial_duels": 3,
        "aerial_won": 1.7,
        "crosses_in_zone": 0.0,
        "fouls_drawn": 1.8,
        "pressing_intensity_on_attacker": "HIGH",
        "defender_stats": [
          {
            "player": "Vitaliy Mykolenko",
            "role": "CB",
            "market_value": 26000000,
            "tackles_attempted": 1.1,
            "tackles_won": 1.1,
            "fouls_committed": 0.5,
            "interceptions_in_zone": 1.1,
            "clearances_in_zone": 1.0,
            "aerial_duels_won": 0.7,
            "defensive_success_rate": 0.771
          },
          {
            "player": "Jarrad Branthwaite",
            "role": "CB",
            "market_value": 41000000,
            "tackles_attempted": 1.1,
            "tackles_won": 1.2,
            "fouls_committed": 0.4,
            "interceptions_in_zone": 1.3,
            "clearances_in_zone": 1.1,
            "aerial_duels_won": 0.7,
            "defensive_success_rate": 0.771
          }
        ],
        "duel_analysis": "Omar Marmoush (ST) is heavily outmatched defensively against Vitaliy Mykolenko and Jarrad Branthwaite in a 2-defender block. Duel win probability: 23%. The quality gap is significant (€55M vs €34M avg). Projected xG contribution: 0.230 — with very limited chance creation expected."
      },
      {
        "attacker": "Sandro Tonali",
        "attacker_role": "CDM",
        "attacker_market_value": 74000000,
        "attacker_height": 181,
        "attacker_skill_quality": 0.876,
        "defenders": [
          "James Garner"
        ],
        "defender_roles": [
          "CDM"
        ],
        "def_skill_quality_avg": 0.817,
        "duel_zone": "CDM vs CDM",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.443,
        "xg_contribution": 0.0831,
        "shots_in_zone": 1.0,
        "dribbles_attempted": 2,
        "dribbles_successful": 0.8,
        "aerial_duels": 2,
        "aerial_won": 1.1,
        "crosses_in_zone": 0.0,
        "fouls_drawn": 1.4,
        "pressing_intensity_on_attacker": "ULTRA_HIGH",
        "defender_stats": [
          {
            "player": "James Garner",
            "role": "CDM",
            "market_value": 48000000,
            "tackles_attempted": 2.3,
            "tackles_won": 1.9,
            "fouls_committed": 0.4,
            "interceptions_in_zone": 1.3,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 0.9,
            "defensive_success_rate": 0.557
          }
        ],
        "duel_analysis": "Sandro Tonali (CDM) is evenly matched against James Garner in a direct 1v1 contest. Duel win probability: 44%. The quality gap is significant (€74M vs €48M avg). Projected xG contribution: 0.083 — with neither side clearly dominant."
      }
    ],
    "away_attacking_duels": [
      {
        "attacker": "Kiernan Dewsbury-Hall",
        "attacker_role": "LW",
        "attacker_market_value": 38000000,
        "attacker_height": 178,
        "attacker_skill_quality": 0.77,
        "defenders": [
          "Pedro Porro"
        ],
        "defender_roles": [
          "RB"
        ],
        "def_skill_quality_avg": 0.791,
        "duel_zone": "Left Wing vs Right Back — Flank Battle",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.491,
        "xg_contribution": 0.1924,
        "shots_in_zone": 2.0,
        "dribbles_attempted": 4,
        "dribbles_successful": 1.7,
        "aerial_duels": 2,
        "aerial_won": 1.0,
        "crosses_in_zone": 2.5,
        "fouls_drawn": 1.3,
        "pressing_intensity_on_attacker": "HIGH",
        "defender_stats": [
          {
            "player": "Pedro Porro",
            "role": "RB",
            "market_value": 42000000,
            "tackles_attempted": 2.2,
            "tackles_won": 1.8,
            "fouls_committed": 0.4,
            "interceptions_in_zone": 1.3,
            "clearances_in_zone": 1.1,
            "aerial_duels_won": 1.0,
            "defensive_success_rate": 0.509
          }
        ],
        "duel_analysis": "Kiernan Dewsbury-Hall (LW) is evenly matched against Pedro Porro in a direct 1v1 contest. Duel win probability: 49%.  Projected xG contribution: 0.192 — with neither side clearly dominant."
      },
      {
        "attacker": "Hayden Hackney",
        "attacker_role": "RW",
        "attacker_market_value": 35000000,
        "attacker_height": 178,
        "attacker_skill_quality": 0.752,
        "defenders": [
          "Destiny Udogie"
        ],
        "defender_roles": [
          "LB"
        ],
        "def_skill_quality_avg": 0.702,
        "duel_zone": "Right Wing vs Left Back — Flank Battle",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.47,
        "xg_contribution": 0.0609,
        "shots_in_zone": 1.9,
        "dribbles_attempted": 4,
        "dribbles_successful": 1.7,
        "aerial_duels": 2,
        "aerial_won": 1.0,
        "crosses_in_zone": 2.4,
        "fouls_drawn": 1.3,
        "pressing_intensity_on_attacker": "MEDIUM",
        "defender_stats": [
          {
            "player": "Destiny Udogie",
            "role": "LB",
            "market_value": 28000000,
            "tackles_attempted": 2.2,
            "tackles_won": 1.8,
            "fouls_committed": 0.4,
            "interceptions_in_zone": 1.1,
            "clearances_in_zone": 1.0,
            "aerial_duels_won": 1.0,
            "defensive_success_rate": 0.53
          }
        ],
        "duel_analysis": "Hayden Hackney (RW) is evenly matched against Destiny Udogie in a direct 1v1 contest. Duel win probability: 47%.  Projected xG contribution: 0.061 — with neither side clearly dominant."
      },
      {
        "attacker": "Jack Grealish",
        "attacker_role": "CAM",
        "attacker_market_value": 21000000,
        "attacker_height": 180,
        "attacker_skill_quality": 0.641,
        "defenders": [
          "Sandro Tonali",
          "Rodrigo Bentancur"
        ],
        "defender_roles": [
          "CDM",
          "CDM"
        ],
        "def_skill_quality_avg": 0.75,
        "duel_zone": "Attacking Mid vs Double Pivot — Tight Space Battle",
        "numerical_situation": "1v2",
        "duel_win_rate": 0.18,
        "xg_contribution": 0.0414,
        "shots_in_zone": 1.5,
        "dribbles_attempted": 3,
        "dribbles_successful": 0.5,
        "aerial_duels": 2,
        "aerial_won": 1.1,
        "crosses_in_zone": 0.0,
        "fouls_drawn": 1.7,
        "pressing_intensity_on_attacker": "HIGH",
        "defender_stats": [
          {
            "player": "Sandro Tonali",
            "role": "CDM",
            "market_value": 74000000,
            "tackles_attempted": 1.2,
            "tackles_won": 1.3,
            "fouls_committed": 0.4,
            "interceptions_in_zone": 1.4,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 0.5,
            "defensive_success_rate": 0.82
          },
          {
            "player": "Rodrigo Bentancur",
            "role": "CDM",
            "market_value": 19300000,
            "tackles_attempted": 1.0,
            "tackles_won": 1.2,
            "fouls_committed": 0.5,
            "interceptions_in_zone": 1.0,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 0.5,
            "defensive_success_rate": 0.82
          }
        ],
        "duel_analysis": "Jack Grealish (CAM) is heavily outmatched defensively against Sandro Tonali and Rodrigo Bentancur in a 2-defender block. Duel win probability: 18%. The quality gap is significant (€21M vs €47M avg). Projected xG contribution: 0.041 — with very limited chance creation expected."
      },
      {
        "attacker": "Thierno Barry",
        "attacker_role": "ST",
        "attacker_market_value": 31000000,
        "attacker_height": 195,
        "attacker_skill_quality": 0.725,
        "defenders": [
          "Micky van de Ven",
          "Jan Paul van Hecke"
        ],
        "defender_roles": [
          "CB",
          "CB"
        ],
        "def_skill_quality_avg": 0.842,
        "duel_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "numerical_situation": "1v2",
        "duel_win_rate": 0.18,
        "xg_contribution": 0.2358,
        "shots_in_zone": 2.0,
        "dribbles_attempted": 2,
        "dribbles_successful": 0.3,
        "aerial_duels": 3,
        "aerial_won": 2.1,
        "crosses_in_zone": 0.0,
        "fouls_drawn": 1.7,
        "pressing_intensity_on_attacker": "ULTRA_HIGH",
        "defender_stats": [
          {
            "player": "Micky van de Ven",
            "role": "CB",
            "market_value": 49000000,
            "tackles_attempted": 1.1,
            "tackles_won": 1.3,
            "fouls_committed": 0.4,
            "interceptions_in_zone": 1.3,
            "clearances_in_zone": 1.1,
            "aerial_duels_won": 0.4,
            "defensive_success_rate": 0.82
          },
          {
            "player": "Jan Paul van Hecke",
            "role": "CB",
            "market_value": 65000000,
            "tackles_attempted": 1.1,
            "tackles_won": 1.3,
            "fouls_committed": 0.4,
            "interceptions_in_zone": 1.4,
            "clearances_in_zone": 1.2,
            "aerial_duels_won": 0.4,
            "defensive_success_rate": 0.82
          }
        ],
        "duel_analysis": "Thierno Barry (ST) is heavily outmatched defensively against Micky van de Ven and Jan Paul van Hecke in a 2-defender block. Duel win probability: 18%. The quality gap is significant (€31M vs €57M avg). Projected xG contribution: 0.236 — with very limited chance creation expected."
      },
      {
        "attacker": "James Garner",
        "attacker_role": "CDM",
        "attacker_market_value": 48000000,
        "attacker_height": 182,
        "attacker_skill_quality": 0.817,
        "defenders": [
          "Sandro Tonali"
        ],
        "defender_roles": [
          "CDM"
        ],
        "def_skill_quality_avg": 0.876,
        "duel_zone": "CDM vs CDM",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.397,
        "xg_contribution": 0.0468,
        "shots_in_zone": 1.0,
        "dribbles_attempted": 2,
        "dribbles_successful": 0.7,
        "aerial_duels": 2,
        "aerial_won": 1.1,
        "crosses_in_zone": 0.0,
        "fouls_drawn": 1.5,
        "pressing_intensity_on_attacker": "ULTRA_HIGH",
        "defender_stats": [
          {
            "player": "Sandro Tonali",
            "role": "CDM",
            "market_value": 74000000,
            "tackles_attempted": 2.3,
            "tackles_won": 2.1,
            "fouls_committed": 0.4,
            "interceptions_in_zone": 1.4,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 0.9,
            "defensive_success_rate": 0.603
          }
        ],
        "duel_analysis": "James Garner (CDM) faces tough defensive resistance against Sandro Tonali in a direct 1v1 contest. Duel win probability: 40%. The quality gap is significant (€48M vs €74M avg). Projected xG contribution: 0.047 — and is restricted in space and time on the ball."
      }
    ],
    "midfield_battle": {
      "home_midfield_power": 0.796,
      "away_midfield_power": 0.761,
      "home_creative_power": 0.702,
      "away_creative_power": 0.685,
      "home_defensive_power": 0.745,
      "away_defensive_power": 0.626,
      "home_dominance_ratio": 0.511,
      "home_midfield_count": 4,
      "away_midfield_count": 5,
      "home_midfield_players": [
        "Sávio",
        "Sandro Tonali",
        "Rodrigo Bentancur",
        "Mateus Fernandes"
      ],
      "away_midfield_players": [
        "Jack Grealish",
        "Kiernan Dewsbury-Hall",
        "James Garner",
        "Hayden Hackney",
        "Merlin Röhl"
      ],
      "possession_advantage": "neutral",
      "estimated_possession_home_pct": 50.7,
      "estimated_possession_away_pct": 49.3,
      "home_pressing_actions_per_90": 8.4,
      "away_pressing_actions_per_90": 7.8,
      "home_key_passes_projected": 5.7,
      "away_key_passes_projected": 5.6,
      "home_throughball_threat": 2.7,
      "away_throughball_threat": 2.7,
      "key_personal_duel": "Sandro Tonali vs James Garner",
      "midfield_lambda_factor_home": 1.006,
      "midfield_lambda_factor_away": 0.995
    },
    "formation_analysis": {
      "home_formation": "4-2-3-1",
      "away_formation": "4-2-3-1",
      "home_tactical_bonus": 0.0,
      "away_tactical_bonus": 0.0,
      "formation_verdict": "Tactical parity between 4-2-3-1 and 4-2-3-1. Match outcome driven primarily by individual player quality."
    },
    "home_lambda": 1.02,
    "away_lambda": 1.112,
    "home_top_threat_zones": [
      "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
      "Attacking Mid vs Double Pivot — Tight Space Battle"
    ],
    "away_top_threat_zones": [
      "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
      "Left Wing vs Right Back — Flank Battle"
    ],
    "home_player_antagonists": {
      "Mateus Fernandes": {
        "opponents": [
          "Jordan Pickford",
          "Kiernan Dewsbury-Hall"
        ],
        "primary_zone": "Left Wing vs Right Back — Flank Battle",
        "source": "attacking_duel, midfield_pairing"
      },
      "Sávio": {
        "opponents": [
          "James Garner",
          "Merlin Röhl",
          "Jack Grealish",
          "Hayden Hackney"
        ],
        "primary_zone": "Attacking Mid vs Double Pivot — Tight Space Battle",
        "source": "attacking_duel, midfield_pairing"
      },
      "Omar Marmoush": {
        "opponents": [
          "Vitaliy Mykolenko",
          "Jarrad Branthwaite"
        ],
        "primary_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "source": "attacking_duel"
      },
      "Sandro Tonali": {
        "opponents": [
          "James Garner",
          "Jack Grealish"
        ],
        "primary_zone": "CDM vs CDM",
        "source": "attacking_duel, defensive_duel, midfield_pairing"
      },
      "Pedro Porro": {
        "opponents": [
          "Kiernan Dewsbury-Hall"
        ],
        "primary_zone": "Left Wing vs Right Back — Flank Battle",
        "source": "defensive_duel"
      },
      "Destiny Udogie": {
        "opponents": [
          "Hayden Hackney"
        ],
        "primary_zone": "Right Wing vs Left Back — Flank Battle",
        "source": "defensive_duel"
      },
      "Rodrigo Bentancur": {
        "opponents": [
          "Jack Grealish",
          "Merlin Röhl"
        ],
        "primary_zone": "Attacking Mid vs Double Pivot — Tight Space Battle",
        "source": "defensive_duel, midfield_pairing"
      },
      "Micky van de Ven": {
        "opponents": [
          "Thierno Barry"
        ],
        "primary_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "source": "defensive_duel"
      },
      "Jan Paul van Hecke": {
        "opponents": [
          "Thierno Barry"
        ],
        "primary_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "source": "defensive_duel"
      },
      "Antonín Kinský": {
        "opponents": [
          "Tyrique George",
          "Thierno Barry"
        ],
        "primary_zone": "Shape fallback",
        "source": "formation_fallback"
      },
      "Mathys Tel": {
        "opponents": [
          "James Tarkowski",
          "Jarrad Branthwaite"
        ],
        "primary_zone": "Shape fallback",
        "source": "formation_fallback"
      }
    },
    "away_player_antagonists": {
      "Jordan Pickford": {
        "opponents": [
          "Mateus Fernandes"
        ],
        "primary_zone": "Left Wing vs Right Back — Flank Battle",
        "source": "defensive_duel"
      },
      "James Garner": {
        "opponents": [
          "Sávio",
          "Sandro Tonali"
        ],
        "primary_zone": "Attacking Mid vs Double Pivot — Tight Space Battle",
        "source": "defensive_duel, attacking_duel, midfield_pairing"
      },
      "Merlin Röhl": {
        "opponents": [
          "Sávio",
          "Rodrigo Bentancur"
        ],
        "primary_zone": "Attacking Mid vs Double Pivot — Tight Space Battle",
        "source": "defensive_duel, midfield_pairing"
      },
      "Vitaliy Mykolenko": {
        "opponents": [
          "Omar Marmoush"
        ],
        "primary_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "source": "defensive_duel"
      },
      "Jarrad Branthwaite": {
        "opponents": [
          "Omar Marmoush"
        ],
        "primary_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "source": "defensive_duel"
      },
      "Kiernan Dewsbury-Hall": {
        "opponents": [
          "Pedro Porro",
          "Mateus Fernandes"
        ],
        "primary_zone": "Left Wing vs Right Back — Flank Battle",
        "source": "attacking_duel, midfield_pairing"
      },
      "Hayden Hackney": {
        "opponents": [
          "Destiny Udogie",
          "Sávio"
        ],
        "primary_zone": "Right Wing vs Left Back — Flank Battle",
        "source": "attacking_duel, midfield_pairing"
      },
      "Jack Grealish": {
        "opponents": [
          "Sandro Tonali",
          "Rodrigo Bentancur",
          "Sávio"
        ],
        "primary_zone": "Attacking Mid vs Double Pivot — Tight Space Battle",
        "source": "attacking_duel, midfield_pairing"
      },
      "Thierno Barry": {
        "opponents": [
          "Micky van de Ven",
          "Jan Paul van Hecke"
        ],
        "primary_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "source": "attacking_duel"
      },
      "James Tarkowski": {
        "opponents": [
          "Mathys Tel"
        ],
        "primary_zone": "Shape fallback",
        "source": "formation_fallback"
      },
      "Tyrique George": {
        "opponents": [
          "Jan Paul van Hecke",
          "Micky van de Ven"
        ],
        "primary_zone": "Shape fallback",
        "source": "formation_fallback"
      }
    },
    "key_tactical_insight": "Midfield is evenly contested — Sandro Tonali vs James Garner will be the pivotal duel. Total antagonist xG — Home: 0.48, Away: 0.58. Home danger zone: Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle. Away danger zone: Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle.",
    "lambda_factors": {
      "home_gk_opposition_factor": 0.9575,
      "away_gk_opposition_factor": 0.9494,
      "home_set_piece_bonus": 0.1471,
      "away_set_piece_bonus": 0.18,
      "home_defensive_solidity_vs": 0.9355,
      "away_defensive_solidity_vs": 0.88,
      "home_midfield_factor": 1.006,
      "away_midfield_factor": 0.995,
      "stage_discount": 1.0,
      "quality_gap_applied": true,
      "home_avg_quality": 0.776,
      "away_avg_quality": 0.6857,
      "avg_quality_gap": 0.0903,
      "squad_value_gap_log": 0.4392,
      "top5_value_gap_log": 0.3972,
      "attack_value_gap_log": 0.2007,
      "elite_count_gap": 4,
      "combined_quality_gap": 0.1834,
      "stronger_lambda_boost": 0.1009,
      "weaker_lambda_suppression": 0.0587,
      "home_bench_lambda_bonus": 0.0963,
      "away_bench_lambda_bonus": 0.0781,
      "home_bench_players_modelled": 7,
      "away_bench_players_modelled": 7,
      "mismatch_score_pressure_applied": false,
      "competitive_underdog_floor_applied": true,
      "competitive_underdog_floor": 1.02,
      "pre_competitive_floor_home_lambda": 1.011,
      "pre_competitive_floor_away_lambda": 1.112,
      "pre_calibration_home_lambda": 1.0113,
      "pre_calibration_away_lambda": 1.1121,
      "competition_calibration_applied": false,
      "competition_calibration_reason": "no_sofascore_matches_data",
      "competition_calibration_samples": 0,
      "competition_observed_total_goals": 0.0,
      "competition_calibration_scale": 1.0,
      "neutral_share_preserved": false,
      "final_home_lambda": 1.02,
      "final_away_lambda": 1.112
    }
  },
  "home_standing": {
    "available": true,
    "team_position": 17,
    "opponent_position": 8,
    "standing_lambda_multiplier": 0.8219,
    "attack_index": 1.0,
    "defense_concede_index": 0.625,
    "form_multiplier": 0.948,
    "team_attack_rate_contextual": 0.0,
    "opp_defense_rate_contextual": 0.75,
    "team_ppg": 0.33,
    "opponent_ppg": 1.67
  },
  "away_standing": {
    "available": true,
    "team_position": 8,
    "opponent_position": 17,
    "standing_lambda_multiplier": 1.3884,
    "attack_index": 1.041,
    "defense_concede_index": 2.082,
    "form_multiplier": 1.052,
    "team_attack_rate_contextual": 1.25,
    "opp_defense_rate_contextual": 2.5,
    "team_ppg": 1.67,
    "opponent_ppg": 0.33
  },
  "xgboost_reasoning": {
    "summary": "Antagonist + XGBoost match analysis for Tottenham vs Everton. Player statistics regressed using position-specific XGBoost models (G, D, M, F) with 2026-2027 FBref priors. Micro-duels resolved across 4-2-3-1 vs 4-2-3-1 (duel lambdas: Home 1.011, Away 1.112). Final calibrated Poisson lambdas: Home 1.020, Away 1.112 (most likely score 0-1).",
    "competition": "Premier League",
    "model_coverage": {
      "home_starters_count": 11,
      "home_xgboost_players": 10,
      "home_fbref_players": 9,
      "away_starters_count": 11,
      "away_xgboost_players": 9,
      "away_fbref_players": 11,
      "home_bench_modelled": 7,
      "away_bench_modelled": 7
    },
    "team_priors": {
      "applied": false,
      "reason": "Non-target league or squad priors not found"
    },
    "pipeline_stages": [
      "1. XGBoost player regressions for volume & event rates with market-value quality scaling",
      "2. Multi-source prior blending (FBref 2026-2027 tables + Sofascore season history)",
      "3. Antagonist formation duel matrix resolving 1v1 and zonal matchups",
      "4. Team-level prior calibration (FBref possession and attack/defense efficiencies)",
      "5. Bivariate Poisson matrix with Dixon-Coles low-score correction"
    ],
    "final_lambdas": {
      "home_lambda": 1.02,
      "away_lambda": 1.112,
      "micro_duel_home_lambda": 1.011,
      "micro_duel_away_lambda": 1.112
    },
    "calibration_and_pressure": {
      "competition_calibration_applied": false,
      "competition_calibration_scale": 1.0,
      "mismatch_pressure_applied": false,
      "underdog_floor_applied": true
    }
  },
  "timestamp": "2026-09-12T13:30:50Z"
}