{
  "match_info": {
    "home_team": "Liverpool",
    "away_team": "Fulham",
    "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": "2-0",
    "home_goals": 2,
    "away_goals": 0,
    "most_likely_score_probability": 0.0952,
    "match_resolution": "regulation",
    "predicted_winner": "Liverpool",
    "tiebreaker": {
      "applies": false,
      "method": "none",
      "regulation_draw_probability": 0.1533,
      "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": "2-0",
        "probability": 0.0952
      },
      {
        "score": "2-1",
        "probability": 0.0909
      },
      {
        "score": "3-0",
        "probability": 0.0846
      },
      {
        "score": "3-1",
        "probability": 0.0807
      },
      {
        "score": "1-0",
        "probability": 0.0712
      }
    ],
    "scoreline_probabilities": {
      "0-0": 0.0271,
      "0-1": 0.0253,
      "0-2": 0.0122,
      "0-3": 0.0039,
      "0-4": 0.0009,
      "1-0": 0.0712,
      "1-1": 0.0685,
      "1-2": 0.0325,
      "1-3": 0.0103,
      "1-4": 0.0025,
      "2-0": 0.0952,
      "2-1": 0.0909,
      "2-2": 0.0433,
      "2-3": 0.0138,
      "2-4": 0.0033,
      "2-5": 0.0006,
      "3-0": 0.0846,
      "3-1": 0.0807,
      "3-2": 0.0385,
      "3-3": 0.0122,
      "3-4": 0.0029,
      "3-5": 0.0006,
      "4-0": 0.0564,
      "4-1": 0.0538,
      "4-2": 0.0257,
      "4-3": 0.0082,
      "4-4": 0.0019,
      "5-0": 0.03,
      "5-1": 0.0287,
      "5-2": 0.0137,
      "5-3": 0.0043,
      "5-4": 0.001,
      "6-0": 0.0133,
      "6-1": 0.0127,
      "6-2": 0.0061,
      "6-3": 0.0019,
      "7-0": 0.0051,
      "7-1": 0.0048,
      "7-2": 0.0023,
      "7-3": 0.0007,
      "8-0": 0.0017,
      "8-1": 0.0016,
      "8-2": 0.0008,
      "9-0": 0.0005
    },
    "outcome": {
      "home_win": 0.7364,
      "draw": 0.1533,
      "away_win": 0.1103
    },
    "markets": {
      "over_2_5_goals": 0.7005,
      "under_2_5_goals": 0.2995,
      "btts_yes": 0.5723,
      "btts_no": 0.4277,
      "home_clean_sheet": 0.3852,
      "away_clean_sheet": 0.0696
    },
    "home_ratings": {
      "DR": 7.15,
      "MCR": 7.72,
      "ATR": 7.68,
      "GK": 7.23
    },
    "away_ratings": {
      "DR": 7.07,
      "MCR": 7.22,
      "ATR": 7.25,
      "GK": 6.7
    },
    "insights": {
      "summary": "Antagonist matchup analysis for Liverpool vs Fulham. Most likely scoreline: 2-0. Lambdas derived from 3 home and 5 away individual player duels.",
      "key_player": "Projected scorer(s): Alexander Isak, Dominik Szoboszlai",
      "tactical_analysis": "Tactical parity between 4-2-3-1 and 4-2-3-1. Match outcome driven primarily by individual player quality. Home midfield dominates with ~53% possession expected (Florian Wirtz vs Oscar Bobb). Total antagonist xG — Home: 0.75, Away: 0.67. Home danger zone: Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle. Away danger zone: Right Wing vs Left Back — Flank Battle."
    },
    "confidence": 0.73,
    "home_lambda": 2.665,
    "away_lambda": 0.954,
    "modal_scoreline": null,
    "modal_scoreline_probability": null,
    "headline_policy": null
  },
  "pregame_baseline": {
    "fair_win_probability": {
      "home_win": 0.7364,
      "draw": 0.1533,
      "away_win": 0.1103
    },
    "favorite": "Liverpool",
    "favorite_win_probability": 0.7364,
    "fair_spread": 1.711,
    "fair_total": 3.619,
    "prop_estimates": [
      {
        "market": "team_total_goals",
        "selection": "Liverpool",
        "estimate": 2.665,
        "probability": null,
        "unit": "goals"
      },
      {
        "market": "team_total_goals",
        "selection": "Fulham",
        "estimate": 0.954,
        "probability": null,
        "unit": "goals"
      },
      {
        "market": "over_2_5_goals",
        "selection": "yes",
        "estimate": 2.5,
        "probability": 0.7005,
        "unit": "probability"
      },
      {
        "market": "both_teams_to_score",
        "selection": "yes",
        "estimate": 1.0,
        "probability": 0.5723,
        "unit": "probability"
      },
      {
        "market": "clean_sheet",
        "selection": "Liverpool",
        "estimate": 1.0,
        "probability": 0.3852,
        "unit": "probability"
      },
      {
        "market": "clean_sheet",
        "selection": "Fulham",
        "estimate": 1.0,
        "probability": 0.0696,
        "unit": "probability"
      },
      {
        "market": "anytime_goal",
        "selection": "Alexander Isak (Liverpool)",
        "estimate": 0.7029,
        "probability": 0.612,
        "unit": "xG"
      },
      {
        "market": "anytime_goal",
        "selection": "Timothy Castagne (Fulham)",
        "estimate": 0.2334,
        "probability": 0.0,
        "unit": "xG"
      },
      {
        "market": "assist",
        "selection": "Dominik Szoboszlai (Liverpool)",
        "estimate": 0.1076,
        "probability": 0.22,
        "unit": "xA"
      },
      {
        "market": "assist",
        "selection": "Oscar Bobb (Fulham)",
        "estimate": 0.1505,
        "probability": 0.0,
        "unit": "xA"
      }
    ],
    "expected_pace": {
      "tempo": "high",
      "expected_total_goals": 3.619,
      "expected_total_shots": 35,
      "expected_total_passes": 1063,
      "expected_pressing_actions_per_90": 16.2,
      "possession_home_pct": 52.6,
      "possession_away_pct": 47.4,
      "notes": "Liverpool projects to control midfield possession"
    },
    "expected_game_script": {
      "favorite": "Liverpool",
      "favorite_win_probability": 0.7364,
      "script": "Liverpool is the fair winner side, but the baseline remains favorite-led: fair spread +1.71 goals and fair total 3.62.",
      "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; Fulham must keep the match inside one goal.",
      "late_game": "A Liverpool lead likely shifts toward control and counters; a draw state keeps set pieces and transition chances live."
    },
    "key_matchup_thesis": "Liverpool chance creation leans on Alexander Isak against Calvin Bassey, Joachim Andersen in Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle; Liverpool projects to control midfield possession.",
    "expected_rotation_usage_behavior": [
      "Liverpool: starters carry the main goal usage through Alexander Isak, Dominik Szoboszlai; bench watchlist: Hugo Ekitiké, Rio Ngumoha.",
      "Fulham: starters carry the main goal usage through the highest xG attackers; bench watchlist: Hugo Larsson, Rodrigo Muniz, Ryan Sessegnon.",
      "Assist usage should flow through Dominik Szoboszlai; late lineup changes should re-score these allocations."
    ],
    "pregame_play_by_play": [
      "0-15: Liverpool 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.81 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 Fulham 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 Liverpool.",
      "Fulham 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": {
    "Liverpool": {
      "formation": "4-2-3-1",
      "players": {
        "Alexander Isak": {
          "player_id": 823941,
          "position": "F",
          "position_depth": "F",
          "is_starter": true,
          "shirt_number": 9,
          "height": 193,
          "market_value": 88000000,
          "stats": {
            "expected_goals": 0.7029,
            "goal_rate": 0.8702,
            "goals": 1,
            "shots_on_target": 1,
            "expected_assists": 0.0401,
            "key_pass": 1,
            "rating": 8.2562,
            "minutes": 91,
            "total_shots": 3,
            "duels_won": 3,
            "aerial_won": 2,
            "total_pass": 13,
            "accurate_pass": 11,
            "total_long_balls": 2,
            "accurate_long_balls": 2,
            "total_opp_half_passes": 12,
            "accurate_opp_half_passes": 10,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 26,
            "possession_lost": 7.0666,
            "dispossessed": 1.1164,
            "duels_lost": 3,
            "aerial_lost": 1,
            "total_contest": 3,
            "won_contest": 2,
            "ball_recovery": 2,
            "challenges_lost": 0,
            "fouls": 1,
            "fouls_drawn": 2,
            "assists": 0,
            "shots_off_target": 1,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 1,
            "clearances": 1,
            "blocks": 1,
            "big_chances_created": 0,
            "big_chances_missed": 2,
            "xgot": 0.8819,
            "offsides": 1,
            "ball_carries": 5,
            "total_progression": 21,
            "progressive_carries": 1,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 42.9,
            "shotConversion": 0.14,
            "minutesPct": 100.0,
            "pointsPerMatch": 1.0,
            "netGoalDifferencePer90": 0.0,
            "dribbles_attempted": 2,
            "dribbles_successful": 0.6,
            "crosses_attempted": 0.0,
            "duel_win_rate": 0.318,
            "pressing_faced": "MEDIUM",
            "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
            "numerical_situation": "1v2",
            "opponent_defenders": "Calvin Bassey, Joachim Andersen",
            "opponent_faced": "Calvin Bassey, Joachim Andersen",
            "antagonist_source": "attacking_duel",
            "projected_goals": 1,
            "goal_probability": 0.612,
            "projected_assists": 0,
            "assist_probability": 0.0935,
            "fifa_overall": 86.0
          },
          "latest_10_games": [
            {
              "match_id": 16363261.0,
              "match_date": "2026-09-04",
              "home_team": "Ipswich Town",
              "away_team": "Liverpool FC",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Liverpool FC",
              "opponent": "Ipswich Town",
              "stats": {
                "minutes": 64,
                "rating": 8.7,
                "goal_rate": 2.0,
                "goals": 2,
                "assists": 0,
                "expected_goals": 0.2098,
                "expected_assists": 0.0504,
                "total_shots": 2,
                "shots_on_target": 2,
                "total_pass": 19,
                "accurate_pass": 18,
                "clearances": 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": 16363254.0,
              "match_date": "2026-08-29",
              "home_team": "Liverpool FC",
              "away_team": "Nottingham Forest",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Liverpool FC",
              "opponent": "Nottingham Forest",
              "stats": {
                "minutes": 90,
                "rating": 7.2,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.9922,
                "expected_assists": 0.002,
                "total_shots": 3,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 4,
                "accurate_pass": 2,
                "key_pass": 1,
                "tackles": 1,
                "aerial_won": 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"
            },
            {
              "match_id": 16363246.0,
              "match_date": "2026-08-23",
              "home_team": "Newcastle United",
              "away_team": "Liverpool FC",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Liverpool FC",
              "opponent": "Newcastle United",
              "stats": {
                "minutes": 90,
                "rating": 7.0,
                "assists": 0,
                "expected_goals": 1.0868,
                "expected_assists": 0.0074,
                "total_shots": 4,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "total_pass": 13,
                "accurate_pass": 10,
                "key_pass": 1,
                "aerial_won": 3,
                "duels_won": 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": 236,
            "combined_rank_score": 174.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 257.0,
            "sofascore_rating": 7.1,
            "sofascore_appearances": 2.0,
            "fifa_rank": 92.0,
            "fifa_overall": 86.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 3,
            "squad_role": "starter",
            "projected_match_rating": 8.2562,
            "source_file": "data/player_rankings.csv",
            "player_name": "Alexander Isak",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Min Junyeong",
                  "ranking": 231
                },
                {
                  "player_name": "William Saliba",
                  "ranking": 232
                },
                {
                  "player_name": "Elliot Anderson",
                  "ranking": 233
                },
                {
                  "player_name": "Nikolai Ivanov",
                  "ranking": 234
                },
                {
                  "player_name": "Francisco Trincão",
                  "ranking": 235
                }
              ],
              "lower": [
                {
                  "player_name": "Aleix García",
                  "ranking": 237
                },
                {
                  "player_name": "Gerson",
                  "ranking": 238
                },
                {
                  "player_name": "Federico Botti",
                  "ranking": 239
                },
                {
                  "player_name": "Jeisson Vargas",
                  "ranking": 240
                },
                {
                  "player_name": "Léo Pereira",
                  "ranking": 241
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.457,
          "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.457,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.1164,
            "fbref_prior_metrics": {
              "squad": "Liverpool",
              "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": 3.5,
              "shots_on_target_pct": 42.9,
              "prior_reliability": 0.1333
            },
            "rationale": "XGBoost regressor (F_service) evaluated 3 historical appearances across 6 target models; FBref 2026-2027 prior blended (Premier League, Liverpool, rel: 0.13, gls/90: 0.5, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 6 target models",
              "stats": {
                "expected_goals": 0.4103,
                "goal_rate": 0.7985,
                "goals": 1,
                "shots_on_target": 1,
                "expected_assists": 0.0359,
                "key_pass": 1,
                "rating": 7.3956,
                "minutes": 81,
                "total_shots": 3,
                "duels_won": 3,
                "aerial_won": 2,
                "total_pass": 12,
                "accurate_pass": 10,
                "total_long_balls": 2,
                "accurate_long_balls": 2,
                "total_opp_half_passes": 11,
                "accurate_opp_half_passes": 9,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 24,
                "possession_lost": 6.33,
                "dispossessed": 1.0,
                "duels_lost": 3,
                "aerial_lost": 1,
                "total_contest": 3,
                "won_contest": 2,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 2,
                "assists": 0,
                "shots_off_target": 1,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 1,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 2,
                "xgot": 0.79,
                "offsides": 1,
                "ball_carries": 4,
                "total_progression": 18,
                "progressive_carries": 1
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.1164, quality 0.888)",
              "stats": {
                "expected_goals": 0.4581,
                "goal_rate": 0.8914,
                "goals": 1,
                "shots_on_target": 1,
                "expected_assists": 0.0401,
                "key_pass": 1,
                "rating": 8.2562,
                "minutes": 91,
                "total_shots": 3,
                "duels_won": 3,
                "aerial_won": 2,
                "total_pass": 13,
                "accurate_pass": 11,
                "total_long_balls": 2,
                "accurate_long_balls": 2,
                "total_opp_half_passes": 12,
                "accurate_opp_half_passes": 10,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 26,
                "possession_lost": 7.0666,
                "dispossessed": 1.1164,
                "duels_lost": 3,
                "aerial_lost": 1,
                "total_contest": 3,
                "won_contest": 2,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 2,
                "assists": 0,
                "shots_off_target": 1,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 1,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 2,
                "xgot": 0.8819,
                "offsides": 1,
                "ball_carries": 5,
                "total_progression": 21,
                "progressive_carries": 1
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0542)",
              "stats": {
                "expected_goals": 0.4581,
                "goal_rate": 0.8702,
                "goals": 1,
                "shots_on_target": 1,
                "expected_assists": 0.0401,
                "key_pass": 1,
                "rating": 8.2562,
                "minutes": 91,
                "total_shots": 3,
                "duels_won": 3,
                "aerial_won": 2,
                "total_pass": 13,
                "accurate_pass": 11,
                "total_long_balls": 2,
                "accurate_long_balls": 2,
                "total_opp_half_passes": 12,
                "accurate_opp_half_passes": 10,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 26,
                "possession_lost": 7.0666,
                "dispossessed": 1.1164,
                "duels_lost": 3,
                "aerial_lost": 1,
                "total_contest": 3,
                "won_contest": 2,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 2,
                "assists": 0,
                "shots_off_target": 1,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 1,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 2,
                "xgot": 0.8819,
                "offsides": 1,
                "ball_carries": 5,
                "total_progression": 21,
                "progressive_carries": 1,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 42.9,
                "shotConversion": 0.14,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.4581,
                "goal_rate": 0.8702,
                "goals": 1,
                "shots_on_target": 1,
                "expected_assists": 0.0401,
                "key_pass": 1,
                "rating": 8.2562,
                "minutes": 91,
                "total_shots": 3,
                "duels_won": 3,
                "aerial_won": 2,
                "total_pass": 13,
                "accurate_pass": 11,
                "total_long_balls": 2,
                "accurate_long_balls": 2,
                "total_opp_half_passes": 12,
                "accurate_opp_half_passes": 10,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 26,
                "possession_lost": 7.0666,
                "dispossessed": 1.1164,
                "duels_lost": 3,
                "aerial_lost": 1,
                "total_contest": 3,
                "won_contest": 2,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 2,
                "assists": 0,
                "shots_off_target": 1,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 1,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 2,
                "xgot": 0.8819,
                "offsides": 1,
                "ball_carries": 5,
                "total_progression": 21,
                "progressive_carries": 1,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 42.9,
                "shotConversion": 0.14,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "expected_goals": 0.388,
                "goal_rate": 0.8702,
                "goals": 1,
                "shots_on_target": 1,
                "expected_assists": 0.0401,
                "key_pass": 1,
                "rating": 8.2562,
                "minutes": 91,
                "total_shots": 3,
                "duels_won": 3,
                "aerial_won": 2,
                "total_pass": 13,
                "accurate_pass": 11,
                "total_long_balls": 2,
                "accurate_long_balls": 2,
                "total_opp_half_passes": 12,
                "accurate_opp_half_passes": 10,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 26,
                "possession_lost": 7.0666,
                "dispossessed": 1.1164,
                "duels_lost": 3,
                "aerial_lost": 1,
                "total_contest": 3,
                "won_contest": 2,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 2,
                "assists": 0,
                "shots_off_target": 1,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 1,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 2,
                "xgot": 0.8819,
                "offsides": 1,
                "ball_carries": 5,
                "total_progression": 21,
                "progressive_carries": 1,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 42.9,
                "shotConversion": 0.14,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.6,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.318,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Calvin Bassey, Joachim Andersen",
                "opponent_faced": "Calvin Bassey, Joachim Andersen",
                "antagonist_source": "attacking_duel"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 2.67 (squad xG sum 1.4710, xG scale 1.8117)",
              "stats": {
                "expected_goals": 0.7029,
                "goal_rate": 0.8702,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0401,
                "key_pass": 1,
                "rating": 8.2562,
                "minutes": 91,
                "total_shots": 3,
                "duels_won": 3,
                "aerial_won": 2,
                "total_pass": 13,
                "accurate_pass": 11,
                "total_long_balls": 2,
                "accurate_long_balls": 2,
                "total_opp_half_passes": 12,
                "accurate_opp_half_passes": 10,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 26,
                "possession_lost": 7.0666,
                "dispossessed": 1.1164,
                "duels_lost": 3,
                "aerial_lost": 1,
                "total_contest": 3,
                "won_contest": 2,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 2,
                "assists": 0,
                "shots_off_target": 1,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 1,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 2,
                "xgot": 0.8819,
                "offsides": 1,
                "ball_carries": 5,
                "total_progression": 21,
                "progressive_carries": 1,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 42.9,
                "shotConversion": 0.14,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.6,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.318,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Calvin Bassey, Joachim Andersen",
                "opponent_faced": "Calvin Bassey, Joachim Andersen",
                "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 86.0)",
              "stats": {
                "expected_goals": 0.7029,
                "goal_rate": 0.8702,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0401,
                "key_pass": 1,
                "rating": 8.2562,
                "minutes": 91,
                "total_shots": 3,
                "duels_won": 3,
                "aerial_won": 2,
                "total_pass": 13,
                "accurate_pass": 11,
                "total_long_balls": 2,
                "accurate_long_balls": 2,
                "total_opp_half_passes": 12,
                "accurate_opp_half_passes": 10,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 26,
                "possession_lost": 7.0666,
                "dispossessed": 1.1164,
                "duels_lost": 3,
                "aerial_lost": 1,
                "total_contest": 3,
                "won_contest": 2,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 2,
                "assists": 0,
                "shots_off_target": 1,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 1,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 2,
                "xgot": 0.8819,
                "offsides": 1,
                "ball_carries": 5,
                "total_progression": 21,
                "progressive_carries": 1,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 42.9,
                "shotConversion": 0.14,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.6,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.318,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Calvin Bassey, Joachim Andersen",
                "opponent_faced": "Calvin Bassey, Joachim Andersen",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 86.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 2 projected goals distributed by scorer weight",
              "stats": {
                "expected_goals": 0.7029,
                "goal_rate": 0.8702,
                "goals": 1,
                "shots_on_target": 1,
                "expected_assists": 0.0401,
                "key_pass": 1,
                "rating": 8.2562,
                "minutes": 91,
                "total_shots": 3,
                "duels_won": 3,
                "aerial_won": 2,
                "total_pass": 13,
                "accurate_pass": 11,
                "total_long_balls": 2,
                "accurate_long_balls": 2,
                "total_opp_half_passes": 12,
                "accurate_opp_half_passes": 10,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 26,
                "possession_lost": 7.0666,
                "dispossessed": 1.1164,
                "duels_lost": 3,
                "aerial_lost": 1,
                "total_contest": 3,
                "won_contest": 2,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 2,
                "assists": 0,
                "shots_off_target": 1,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 1,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 2,
                "xgot": 0.8819,
                "offsides": 1,
                "ball_carries": 5,
                "total_progression": 21,
                "progressive_carries": 1,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 42.9,
                "shotConversion": 0.14,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.6,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.318,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Calvin Bassey, Joachim Andersen",
                "opponent_faced": "Calvin Bassey, Joachim Andersen",
                "antagonist_source": "attacking_duel",
                "projected_goals": 1,
                "goal_probability": 0.612,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 86.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight",
              "stats": {
                "expected_goals": 0.7029,
                "goal_rate": 0.8702,
                "goals": 1,
                "shots_on_target": 1,
                "expected_assists": 0.0401,
                "key_pass": 1,
                "rating": 8.2562,
                "minutes": 91,
                "total_shots": 3,
                "duels_won": 3,
                "aerial_won": 2,
                "total_pass": 13,
                "accurate_pass": 11,
                "total_long_balls": 2,
                "accurate_long_balls": 2,
                "total_opp_half_passes": 12,
                "accurate_opp_half_passes": 10,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 26,
                "possession_lost": 7.0666,
                "dispossessed": 1.1164,
                "duels_lost": 3,
                "aerial_lost": 1,
                "total_contest": 3,
                "won_contest": 2,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 2,
                "assists": 0,
                "shots_off_target": 1,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 1,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 2,
                "xgot": 0.8819,
                "offsides": 1,
                "ball_carries": 5,
                "total_progression": 21,
                "progressive_carries": 1,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 42.9,
                "shotConversion": 0.14,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.6,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.318,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Calvin Bassey, Joachim Andersen",
                "opponent_faced": "Calvin Bassey, Joachim Andersen",
                "antagonist_source": "attacking_duel",
                "projected_goals": 1,
                "goal_probability": 0.612,
                "projected_assists": 0,
                "assist_probability": 0.0935,
                "fifa_overall": 86.0
              }
            }
          ]
        },
        "Bradley Barcola": {
          "player_id": 996952,
          "position": "F",
          "position_depth": "F",
          "is_starter": true,
          "shirt_number": 29,
          "height": 182,
          "market_value": 87000000,
          "stats": {
            "expected_goals": 0.2761,
            "goal_rate": 0.196,
            "goals": 0,
            "shots_on_target": 1,
            "expected_assists": 0.0678,
            "key_pass": 1,
            "rating": 7.6029,
            "minutes": 29,
            "total_shots": 1,
            "duels_won": 1,
            "aerial_won": 1,
            "total_pass": 8,
            "accurate_pass": 6,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 4,
            "accurate_opp_half_passes": 2,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 15,
            "possession_lost": 3.3485,
            "dispossessed": 0.0,
            "duels_lost": 1,
            "aerial_lost": 0,
            "total_contest": 2,
            "won_contest": 1,
            "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": 6,
            "total_progression": 20,
            "progressive_carries": 1,
            "opponent_faced": "Timothy Castagne, Calvin Bassey",
            "matchup_zone": "Shape fallback",
            "antagonist_source": "formation_fallback",
            "projected_goals": 0,
            "goal_probability": 0.2161,
            "projected_assists": 0,
            "assist_probability": 0.1049,
            "fifa_overall": 85.0
          },
          "latest_10_games": [
            {
              "match_id": 16363261.0,
              "match_date": "2026-09-04",
              "home_team": "Ipswich Town",
              "away_team": "Liverpool FC",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Liverpool FC",
              "opponent": "Ipswich Town",
              "stats": {
                "minutes": 26,
                "rating": 6.6,
                "assists": 0,
                "expected_assists": 0.0684,
                "total_shots": 0,
                "total_pass": 7,
                "accurate_pass": 5,
                "key_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": 706,
            "combined_rank_score": 340.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 578.0,
            "sofascore_rating": 6.8,
            "sofascore_appearances": 16.0,
            "fifa_rank": 103.0,
            "fifa_overall": 85.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 4,
            "squad_role": "starter",
            "projected_match_rating": 7.6029,
            "source_file": "data/player_rankings.csv",
            "player_name": "Bradley Barcola",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Robin Le Normand",
                  "ranking": 701
                },
                {
                  "player_name": "Jonathan Villagra",
                  "ranking": 702
                },
                {
                  "player_name": "Bo-seob Kim",
                  "ranking": 703
                },
                {
                  "player_name": "Mateo Retegui",
                  "ranking": 704
                },
                {
                  "player_name": "Abdukodir Khusanov",
                  "ranking": 705
                }
              ],
              "lower": [
                {
                  "player_name": "Luka Jovanovic",
                  "ranking": 707
                },
                {
                  "player_name": "Jung-won Choi",
                  "ranking": 708
                },
                {
                  "player_name": "Cristhofer Mesías",
                  "ranking": 709
                },
                {
                  "player_name": "Luis Javier Suárez",
                  "ranking": 710
                },
                {
                  "player_name": "Iñigo Ruiz de Galarreta",
                  "ranking": 711
                }
              ]
            }
          },
          "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"
            ],
            "market_value_adjustment": 1.1162,
            "fbref_prior_metrics": null,
            "rationale": "XGBoost regressor (F_service) evaluated 1 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.1365,
                "goal_rate": 0.1756,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0607,
                "key_pass": 1,
                "rating": 6.8116,
                "minutes": 26,
                "total_shots": 1,
                "duels_won": 1,
                "aerial_won": 1,
                "total_pass": 7,
                "accurate_pass": 5,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 4,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 13,
                "possession_lost": 3.0,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 0,
                "total_contest": 2,
                "won_contest": 1,
                "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": 5,
                "total_progression": 18,
                "progressive_carries": 1
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.1162, quality 0.887)",
              "stats": {
                "expected_goals": 0.1524,
                "goal_rate": 0.196,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0678,
                "key_pass": 1,
                "rating": 7.6029,
                "minutes": 29,
                "total_shots": 1,
                "duels_won": 1,
                "aerial_won": 1,
                "total_pass": 8,
                "accurate_pass": 6,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 4,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 15,
                "possession_lost": 3.3485,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 0,
                "total_contest": 2,
                "won_contest": 1,
                "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": 6,
                "total_progression": 20,
                "progressive_carries": 1
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.1524,
                "goal_rate": 0.196,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0678,
                "key_pass": 1,
                "rating": 7.6029,
                "minutes": 29,
                "total_shots": 1,
                "duels_won": 1,
                "aerial_won": 1,
                "total_pass": 8,
                "accurate_pass": 6,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 4,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 15,
                "possession_lost": 3.3485,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 0,
                "total_contest": 2,
                "won_contest": 1,
                "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": 6,
                "total_progression": 20,
                "progressive_carries": 1
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "expected_goals": 0.1524,
                "goal_rate": 0.196,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0678,
                "key_pass": 1,
                "rating": 7.6029,
                "minutes": 29,
                "total_shots": 1,
                "duels_won": 1,
                "aerial_won": 1,
                "total_pass": 8,
                "accurate_pass": 6,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 4,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 15,
                "possession_lost": 3.3485,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 0,
                "total_contest": 2,
                "won_contest": 1,
                "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": 6,
                "total_progression": 20,
                "progressive_carries": 1,
                "opponent_faced": "Timothy Castagne, Calvin Bassey",
                "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 2.67 (squad xG sum 1.4710, xG scale 1.8117)",
              "stats": {
                "expected_goals": 0.2761,
                "goal_rate": 0.196,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0678,
                "key_pass": 1,
                "rating": 7.6029,
                "minutes": 29,
                "total_shots": 1,
                "duels_won": 1,
                "aerial_won": 1,
                "total_pass": 8,
                "accurate_pass": 6,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 4,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 15,
                "possession_lost": 3.3485,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 0,
                "total_contest": 2,
                "won_contest": 1,
                "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": 6,
                "total_progression": 20,
                "progressive_carries": 1,
                "opponent_faced": "Timothy Castagne, Calvin Bassey",
                "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 4, fifa_overall 85.0)",
              "stats": {
                "expected_goals": 0.2761,
                "goal_rate": 0.196,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0678,
                "key_pass": 1,
                "rating": 7.6029,
                "minutes": 29,
                "total_shots": 1,
                "duels_won": 1,
                "aerial_won": 1,
                "total_pass": 8,
                "accurate_pass": 6,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 4,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 15,
                "possession_lost": 3.3485,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 0,
                "total_contest": 2,
                "won_contest": 1,
                "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": 6,
                "total_progression": 20,
                "progressive_carries": 1,
                "opponent_faced": "Timothy Castagne, Calvin Bassey",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "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: 2 projected goals distributed by scorer weight",
              "stats": {
                "expected_goals": 0.2761,
                "goal_rate": 0.196,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0678,
                "key_pass": 1,
                "rating": 7.6029,
                "minutes": 29,
                "total_shots": 1,
                "duels_won": 1,
                "aerial_won": 1,
                "total_pass": 8,
                "accurate_pass": 6,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 4,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 15,
                "possession_lost": 3.3485,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 0,
                "total_contest": 2,
                "won_contest": 1,
                "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": 6,
                "total_progression": 20,
                "progressive_carries": 1,
                "opponent_faced": "Timothy Castagne, Calvin Bassey",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.2161,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 85.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight",
              "stats": {
                "expected_goals": 0.2761,
                "goal_rate": 0.196,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0678,
                "key_pass": 1,
                "rating": 7.6029,
                "minutes": 29,
                "total_shots": 1,
                "duels_won": 1,
                "aerial_won": 1,
                "total_pass": 8,
                "accurate_pass": 6,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 4,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 15,
                "possession_lost": 3.3485,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 0,
                "total_contest": 2,
                "won_contest": 1,
                "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": 6,
                "total_progression": 20,
                "progressive_carries": 1,
                "opponent_faced": "Timothy Castagne, Calvin Bassey",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.2161,
                "projected_assists": 0,
                "assist_probability": 0.1049,
                "fifa_overall": 85.0
              }
            }
          ]
        },
        "Florian Wirtz": {
          "player_id": 1019322,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 7,
          "height": 175,
          "market_value": 95000000,
          "stats": {
            "key_pass": 1,
            "expected_assists": 0.0814,
            "assists": 0,
            "expected_goals": 0.3247,
            "rating": 7.7838,
            "minutes": 90,
            "total_pass": 50,
            "accurate_pass": 41,
            "ball_recovery": 6,
            "duels_won": 5,
            "total_shots": 1,
            "total_long_balls": 3,
            "accurate_long_balls": 1,
            "total_own_half_passes": 13,
            "accurate_own_half_passes": 13,
            "total_opp_half_passes": 38,
            "accurate_opp_half_passes": 29,
            "crosses_total": 1,
            "crosses_accurate": 0,
            "touches": 71,
            "possession_lost": 19.7449,
            "dispossessed": 2.2349,
            "duels_lost": 6,
            "aerial_won": 1,
            "aerial_lost": 1,
            "interceptions": 0,
            "tackles_won": 2,
            "tackles": 2,
            "clearances": 0,
            "total_contest": 4,
            "won_contest": 2,
            "challenges_lost": 1,
            "fouls": 3,
            "fouls_drawn": 1,
            "goal_rate": 0.0,
            "goals": 0,
            "shots_on_target": 1,
            "shots_off_target": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.2458,
            "ball_carries": 17,
            "total_progression": 35,
            "progressive_carries": 1,
            "offsides": 0,
            "yellowCards": 0.5882,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 40.0,
            "shotConversion": 0.0,
            "minutesPct": 84.4,
            "pointsPerMatch": 1.0,
            "netGoalDifferencePer90": 0.0,
            "dribbles_attempted": 2,
            "dribbles_successful": 0.9,
            "crosses_attempted": 0.0,
            "duel_win_rate": 0.501,
            "pressing_faced": "MEDIUM",
            "matchup_zone": "CDM vs CDM",
            "numerical_situation": "1v1",
            "opponent_defenders": "Alex Iwobi",
            "opponent_faced": "Alex Iwobi",
            "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing",
            "projected_goals": 0,
            "goal_probability": 0.1192,
            "projected_assists": 0,
            "assist_probability": 0.1959,
            "fifa_overall": 86.0
          },
          "latest_10_games": [
            {
              "match_id": 16363261.0,
              "match_date": "2026-09-04",
              "home_team": "Ipswich Town",
              "away_team": "Liverpool FC",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Liverpool FC",
              "opponent": "Ipswich Town",
              "stats": {
                "minutes": 89,
                "rating": 5.9,
                "assists": 0,
                "expected_goals": 0.1779,
                "expected_assists": 0.0508,
                "total_shots": 2,
                "shots_on_target": 1,
                "total_pass": 49,
                "accurate_pass": 40,
                "key_pass": 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": 16363254.0,
              "match_date": "2026-08-29",
              "home_team": "Liverpool FC",
              "away_team": "Nottingham Forest",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Liverpool FC",
              "opponent": "Nottingham Forest",
              "stats": {
                "minutes": 90,
                "rating": 6.4,
                "assists": 1,
                "expected_goals": 0.2259,
                "expected_assists": 0.2023,
                "total_shots": 2,
                "shots_on_target": 1,
                "total_pass": 53,
                "accurate_pass": 42,
                "key_pass": 1,
                "tackles": 3,
                "tackles_won": 2,
                "aerial_won": 1,
                "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": 16363246.0,
              "match_date": "2026-08-23",
              "home_team": "Newcastle United",
              "away_team": "Liverpool FC",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Liverpool FC",
              "opponent": "Newcastle United",
              "stats": {
                "minutes": 63,
                "rating": 7.0,
                "assists": 0,
                "expected_goals": 0.2566,
                "expected_assists": 0.0354,
                "total_shots": 3,
                "shots_on_target": 1,
                "total_pass": 33,
                "accurate_pass": 29,
                "key_pass": 1,
                "tackles": 1,
                "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"
            }
          ],
          "ranking": {
            "global_player_rank": 53,
            "combined_rank_score": 65.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 31.0,
            "sofascore_rating": 7.9833,
            "sofascore_appearances": 6.0,
            "fifa_rank": 99.0,
            "fifa_overall": 86.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 1,
            "squad_role": "starter",
            "projected_match_rating": 7.7838,
            "source_file": "data/player_rankings.csv",
            "player_name": "Florian Wirtz",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Giorgian de Arrascaeta",
                  "ranking": 48
                },
                {
                  "player_name": "Rayan Cherki",
                  "ranking": 49
                },
                {
                  "player_name": "Rodri",
                  "ranking": 50
                },
                {
                  "player_name": "Matheus Serafim",
                  "ranking": 51
                },
                {
                  "player_name": "Matheus Frizzo",
                  "ranking": 52
                }
              ],
              "lower": [
                {
                  "player_name": "Martín Zubimendi",
                  "ranking": 54
                },
                {
                  "player_name": "Luan Dias",
                  "ranking": 55
                },
                {
                  "player_name": "César Yanis",
                  "ranking": 56
                },
                {
                  "player_name": "Pau Cubarsí",
                  "ranking": 57
                },
                {
                  "player_name": "Declan Rice",
                  "ranking": 58
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.454,
          "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.454,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.1174,
            "fbref_prior_metrics": {
              "squad": "Liverpool",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 2.0,
              "minutes": 152.0,
              "goals_per90": 0.0,
              "assists_per90": 0.5882352941176471,
              "shots_per90": 2.96,
              "shots_on_target_pct": 40.0,
              "prior_reliability": 0.1133
            },
            "rationale": "XGBoost regressor (M_service) evaluated 3 historical appearances across 5 target models; FBref 2026-2027 prior blended (Premier League, Liverpool, rel: 0.11, gls/90: 0.0, ast/90: 0.5882352941176471)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 5 target models",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0729,
                "assists": 0,
                "expected_goals": 0.1604,
                "rating": 6.9658,
                "minutes": 81,
                "total_pass": 45,
                "accurate_pass": 37,
                "ball_recovery": 5,
                "duels_won": 5,
                "total_shots": 2,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 11,
                "accurate_own_half_passes": 11,
                "total_opp_half_passes": 34,
                "accurate_opp_half_passes": 26,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 63,
                "possession_lost": 17.67,
                "dispossessed": 2.0,
                "duels_lost": 6,
                "aerial_won": 2,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 0,
                "total_contest": 3,
                "won_contest": 2,
                "challenges_lost": 1,
                "fouls": 3,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.22,
                "ball_carries": 15,
                "total_progression": 31,
                "progressive_carries": 1
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.1174, quality 0.891)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0814,
                "assists": 0,
                "expected_goals": 0.1792,
                "rating": 7.7838,
                "minutes": 90,
                "total_pass": 50,
                "accurate_pass": 41,
                "ball_recovery": 6,
                "duels_won": 5,
                "total_shots": 3,
                "total_long_balls": 3,
                "accurate_long_balls": 1,
                "total_own_half_passes": 13,
                "accurate_own_half_passes": 13,
                "total_opp_half_passes": 38,
                "accurate_opp_half_passes": 29,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 71,
                "possession_lost": 19.7449,
                "dispossessed": 2.2349,
                "duels_lost": 6,
                "aerial_won": 2,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 0,
                "total_contest": 4,
                "won_contest": 2,
                "challenges_lost": 1,
                "fouls": 3,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.2458,
                "ball_carries": 17,
                "total_progression": 35,
                "progressive_carries": 1
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0460)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0814,
                "assists": 0,
                "expected_goals": 0.1792,
                "rating": 7.7838,
                "minutes": 90,
                "total_pass": 50,
                "accurate_pass": 41,
                "ball_recovery": 6,
                "duels_won": 5,
                "total_shots": 3,
                "total_long_balls": 3,
                "accurate_long_balls": 1,
                "total_own_half_passes": 13,
                "accurate_own_half_passes": 13,
                "total_opp_half_passes": 38,
                "accurate_opp_half_passes": 29,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 71,
                "possession_lost": 19.7449,
                "dispossessed": 2.2349,
                "duels_lost": 6,
                "aerial_won": 2,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 0,
                "total_contest": 4,
                "won_contest": 2,
                "challenges_lost": 1,
                "fouls": 3,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.2458,
                "ball_carries": 17,
                "total_progression": 35,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 0.5882,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 40.0,
                "shotConversion": 0.0,
                "minutesPct": 84.4,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": -0.59
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0814,
                "assists": 0,
                "expected_goals": 0.1792,
                "rating": 7.7838,
                "minutes": 90,
                "total_pass": 50,
                "accurate_pass": 41,
                "ball_recovery": 6,
                "duels_won": 5,
                "total_shots": 3,
                "total_long_balls": 3,
                "accurate_long_balls": 1,
                "total_own_half_passes": 13,
                "accurate_own_half_passes": 13,
                "total_opp_half_passes": 38,
                "accurate_opp_half_passes": 29,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 71,
                "possession_lost": 19.7449,
                "dispossessed": 2.2349,
                "duels_lost": 6,
                "aerial_won": 2,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 0,
                "total_contest": 4,
                "won_contest": 2,
                "challenges_lost": 1,
                "fouls": 3,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.2458,
                "ball_carries": 17,
                "total_progression": 35,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 0.5882,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 40.0,
                "shotConversion": 0.0,
                "minutesPct": 84.4,
                "pointsPerMatch": 1.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.0814,
                "assists": 0,
                "expected_goals": 0.1792,
                "rating": 7.7838,
                "minutes": 90,
                "total_pass": 50,
                "accurate_pass": 41,
                "ball_recovery": 6,
                "duels_won": 5,
                "total_shots": 1,
                "total_long_balls": 3,
                "accurate_long_balls": 1,
                "total_own_half_passes": 13,
                "accurate_own_half_passes": 13,
                "total_opp_half_passes": 38,
                "accurate_opp_half_passes": 29,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 71,
                "possession_lost": 19.7449,
                "dispossessed": 2.2349,
                "duels_lost": 6,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 0,
                "total_contest": 4,
                "won_contest": 2,
                "challenges_lost": 1,
                "fouls": 3,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.2458,
                "ball_carries": 17,
                "total_progression": 35,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 0.5882,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 40.0,
                "shotConversion": 0.0,
                "minutesPct": 84.4,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.9,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.501,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Alex Iwobi",
                "opponent_faced": "Alex Iwobi",
                "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 2.67 (squad xG sum 1.4710, xG scale 1.8117)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0814,
                "assists": 0,
                "expected_goals": 0.3247,
                "rating": 7.7838,
                "minutes": 90,
                "total_pass": 50,
                "accurate_pass": 41,
                "ball_recovery": 6,
                "duels_won": 5,
                "total_shots": 1,
                "total_long_balls": 3,
                "accurate_long_balls": 1,
                "total_own_half_passes": 13,
                "accurate_own_half_passes": 13,
                "total_opp_half_passes": 38,
                "accurate_opp_half_passes": 29,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 71,
                "possession_lost": 19.7449,
                "dispossessed": 2.2349,
                "duels_lost": 6,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 0,
                "total_contest": 4,
                "won_contest": 2,
                "challenges_lost": 1,
                "fouls": 3,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.2458,
                "ball_carries": 17,
                "total_progression": 35,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 0.5882,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 40.0,
                "shotConversion": 0.0,
                "minutesPct": 84.4,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.9,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.501,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Alex Iwobi",
                "opponent_faced": "Alex Iwobi",
                "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 86.0)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0814,
                "assists": 0,
                "expected_goals": 0.3247,
                "rating": 7.7838,
                "minutes": 90,
                "total_pass": 50,
                "accurate_pass": 41,
                "ball_recovery": 6,
                "duels_won": 5,
                "total_shots": 1,
                "total_long_balls": 3,
                "accurate_long_balls": 1,
                "total_own_half_passes": 13,
                "accurate_own_half_passes": 13,
                "total_opp_half_passes": 38,
                "accurate_opp_half_passes": 29,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 71,
                "possession_lost": 19.7449,
                "dispossessed": 2.2349,
                "duels_lost": 6,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 0,
                "total_contest": 4,
                "won_contest": 2,
                "challenges_lost": 1,
                "fouls": 3,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.2458,
                "ball_carries": 17,
                "total_progression": 35,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 0.5882,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 40.0,
                "shotConversion": 0.0,
                "minutesPct": 84.4,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.9,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.501,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Alex Iwobi",
                "opponent_faced": "Alex Iwobi",
                "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 86.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 2 projected goals distributed by scorer weight",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0814,
                "assists": 0,
                "expected_goals": 0.3247,
                "rating": 7.7838,
                "minutes": 90,
                "total_pass": 50,
                "accurate_pass": 41,
                "ball_recovery": 6,
                "duels_won": 5,
                "total_shots": 1,
                "total_long_balls": 3,
                "accurate_long_balls": 1,
                "total_own_half_passes": 13,
                "accurate_own_half_passes": 13,
                "total_opp_half_passes": 38,
                "accurate_opp_half_passes": 29,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 71,
                "possession_lost": 19.7449,
                "dispossessed": 2.2349,
                "duels_lost": 6,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 0,
                "total_contest": 4,
                "won_contest": 2,
                "challenges_lost": 1,
                "fouls": 3,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.2458,
                "ball_carries": 17,
                "total_progression": 35,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 0.5882,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 40.0,
                "shotConversion": 0.0,
                "minutesPct": 84.4,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.9,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.501,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Alex Iwobi",
                "opponent_faced": "Alex Iwobi",
                "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.1192,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 86.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0814,
                "assists": 0,
                "expected_goals": 0.3247,
                "rating": 7.7838,
                "minutes": 90,
                "total_pass": 50,
                "accurate_pass": 41,
                "ball_recovery": 6,
                "duels_won": 5,
                "total_shots": 1,
                "total_long_balls": 3,
                "accurate_long_balls": 1,
                "total_own_half_passes": 13,
                "accurate_own_half_passes": 13,
                "total_opp_half_passes": 38,
                "accurate_opp_half_passes": 29,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 71,
                "possession_lost": 19.7449,
                "dispossessed": 2.2349,
                "duels_lost": 6,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 0,
                "total_contest": 4,
                "won_contest": 2,
                "challenges_lost": 1,
                "fouls": 3,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.2458,
                "ball_carries": 17,
                "total_progression": 35,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 0.5882,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 40.0,
                "shotConversion": 0.0,
                "minutesPct": 84.4,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.9,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.501,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Alex Iwobi",
                "opponent_faced": "Alex Iwobi",
                "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.1192,
                "projected_assists": 0,
                "assist_probability": 0.1959,
                "fifa_overall": 86.0
              }
            }
          ]
        },
        "Víctor Muñoz": {
          "player_id": 1145642,
          "position": "F",
          "position_depth": "F",
          "is_starter": true,
          "shirt_number": 23,
          "height": 173,
          "market_value": 29000000,
          "stats": {
            "expected_goals": 0.2723,
            "goal_rate": 0.1828,
            "goals": 0,
            "shots_on_target": 1,
            "expected_assists": 0.0308,
            "key_pass": 1,
            "rating": 7.1751,
            "minutes": 29,
            "total_shots": 2,
            "duels_won": 1,
            "aerial_won": 1,
            "total_pass": 6,
            "accurate_pass": 5,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 6,
            "accurate_opp_half_passes": 5,
            "crosses_total": 4,
            "crosses_accurate": 2,
            "touches": 17,
            "possession_lost": 5.315,
            "dispossessed": 0.0,
            "duels_lost": 0,
            "aerial_lost": 0,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 1,
            "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": 5,
            "total_progression": 36,
            "progressive_carries": 1,
            "yellowCards": 0.7692,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 16.7,
            "shotConversion": 0.17,
            "minutesPct": 65.6,
            "pointsPerMatch": 1.0,
            "netGoalDifferencePer90": 0.76,
            "opponent_faced": "Antonee Robinson, Joachim Andersen",
            "matchup_zone": "Shape fallback",
            "antagonist_source": "formation_fallback",
            "projected_goals": 0,
            "goal_probability": 0.2179,
            "projected_assists": 0,
            "assist_probability": 0.0852,
            "fifa_overall": 79.0
          },
          "latest_10_games": [
            {
              "match_id": 16363261.0,
              "match_date": "2026-09-04",
              "home_team": "Ipswich Town",
              "away_team": "Liverpool FC",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Liverpool FC",
              "opponent": "Ipswich Town",
              "stats": {
                "minutes": 64,
                "rating": 6.3,
                "assists": 0,
                "expected_assists": 0.0209,
                "total_shots": 0,
                "total_pass": 26,
                "accurate_pass": 23,
                "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": 16363254.0,
              "match_date": "2026-08-29",
              "home_team": "Liverpool FC",
              "away_team": "Nottingham Forest",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Liverpool FC",
              "opponent": "Nottingham Forest",
              "stats": {
                "minutes": 90,
                "rating": 7.4,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.3228,
                "expected_assists": 0.1902,
                "total_shots": 4,
                "shots_on_target": 1,
                "shots_off_target": 2,
                "total_pass": 20,
                "accurate_pass": 15,
                "key_pass": 1,
                "tackles": 2,
                "interceptions": 3,
                "duels_won": 6,
                "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": 16363246.0,
              "match_date": "2026-08-23",
              "home_team": "Newcastle United",
              "away_team": "Liverpool FC",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Liverpool FC",
              "opponent": "Newcastle United",
              "stats": {
                "minutes": 27,
                "rating": 7.3,
                "assists": 0,
                "expected_goals": 0.095,
                "expected_assists": 0.0413,
                "total_shots": 2,
                "total_pass": 6,
                "accurate_pass": 5,
                "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": 1096,
            "combined_rank_score": 492.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 138.0,
            "sofascore_rating": 7.35,
            "sofascore_appearances": 2.0,
            "fifa_rank": 847.0,
            "fifa_overall": 79.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 13,
            "squad_role": "starter",
            "projected_match_rating": 7.1751,
            "source_file": "data/player_rankings.csv",
            "player_name": "Víctor Muñoz",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Ethan Britto",
                  "ranking": 1091
                },
                {
                  "player_name": "Shi-yeong Lee",
                  "ranking": 1092
                },
                {
                  "player_name": "Min-ho Yun",
                  "ranking": 1093
                },
                {
                  "player_name": "Andreas Schjelderup",
                  "ranking": 1094
                },
                {
                  "player_name": "Abbos Otakhonov",
                  "ranking": 1095
                }
              ],
              "lower": [
                {
                  "player_name": "Merih Demiral",
                  "ranking": 1097
                },
                {
                  "player_name": "César Azpilicueta",
                  "ranking": 1098
                },
                {
                  "player_name": "Sardor Mirzayev",
                  "ranking": 1099
                },
                {
                  "player_name": "Mukhammadkodir Khamraliev",
                  "ranking": 1100
                },
                {
                  "player_name": "Pascal Groß",
                  "ranking": 1101
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.326,
          "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.326,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.063,
            "fbref_prior_metrics": {
              "squad": "Liverpool",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 1.0,
              "minutes": 118.0,
              "goals_per90": 0.7692307692307692,
              "assists_per90": 0.0,
              "shots_per90": 4.58,
              "shots_on_target_pct": 16.7,
              "prior_reliability": 0.0867
            },
            "rationale": "XGBoost regressor (F_service) evaluated 1 historical appearances across 6 target models; FBref 2026-2027 prior blended (Premier League, Liverpool, rel: 0.09, gls/90: 0.7692307692307692, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 6 target models",
              "stats": {
                "expected_goals": 0.1414,
                "goal_rate": 0.1447,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.029,
                "key_pass": 1,
                "rating": 6.7498,
                "minutes": 27,
                "total_shots": 2,
                "duels_won": 1,
                "aerial_won": 1,
                "total_pass": 6,
                "accurate_pass": 5,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 5,
                "crosses_total": 4,
                "crosses_accurate": 2,
                "touches": 16,
                "possession_lost": 5.0,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "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": 5,
                "total_progression": 34,
                "progressive_carries": 1
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0630, quality 0.710)",
              "stats": {
                "expected_goals": 0.1503,
                "goal_rate": 0.1539,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0308,
                "key_pass": 1,
                "rating": 7.1751,
                "minutes": 29,
                "total_shots": 2,
                "duels_won": 1,
                "aerial_won": 1,
                "total_pass": 6,
                "accurate_pass": 5,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 5,
                "crosses_total": 4,
                "crosses_accurate": 2,
                "touches": 17,
                "possession_lost": 5.315,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "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": 5,
                "total_progression": 36,
                "progressive_carries": 1
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0470)",
              "stats": {
                "expected_goals": 0.1503,
                "goal_rate": 0.1828,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0308,
                "key_pass": 1,
                "rating": 7.1751,
                "minutes": 29,
                "total_shots": 2,
                "duels_won": 1,
                "aerial_won": 1,
                "total_pass": 6,
                "accurate_pass": 5,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 5,
                "crosses_total": 4,
                "crosses_accurate": 2,
                "touches": 17,
                "possession_lost": 5.315,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "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": 5,
                "total_progression": 36,
                "progressive_carries": 1,
                "yellowCards": 0.7692,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 16.7,
                "shotConversion": 0.17,
                "minutesPct": 65.6,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.76
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.1503,
                "goal_rate": 0.1828,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0308,
                "key_pass": 1,
                "rating": 7.1751,
                "minutes": 29,
                "total_shots": 2,
                "duels_won": 1,
                "aerial_won": 1,
                "total_pass": 6,
                "accurate_pass": 5,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 5,
                "crosses_total": 4,
                "crosses_accurate": 2,
                "touches": 17,
                "possession_lost": 5.315,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "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": 5,
                "total_progression": 36,
                "progressive_carries": 1,
                "yellowCards": 0.7692,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 16.7,
                "shotConversion": 0.17,
                "minutesPct": 65.6,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.76
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "expected_goals": 0.1503,
                "goal_rate": 0.1828,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0308,
                "key_pass": 1,
                "rating": 7.1751,
                "minutes": 29,
                "total_shots": 2,
                "duels_won": 1,
                "aerial_won": 1,
                "total_pass": 6,
                "accurate_pass": 5,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 5,
                "crosses_total": 4,
                "crosses_accurate": 2,
                "touches": 17,
                "possession_lost": 5.315,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "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": 5,
                "total_progression": 36,
                "progressive_carries": 1,
                "yellowCards": 0.7692,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 16.7,
                "shotConversion": 0.17,
                "minutesPct": 65.6,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.76,
                "opponent_faced": "Antonee Robinson, Joachim Andersen",
                "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 2.67 (squad xG sum 1.4710, xG scale 1.8117)",
              "stats": {
                "expected_goals": 0.2723,
                "goal_rate": 0.1828,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0308,
                "key_pass": 1,
                "rating": 7.1751,
                "minutes": 29,
                "total_shots": 2,
                "duels_won": 1,
                "aerial_won": 1,
                "total_pass": 6,
                "accurate_pass": 5,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 5,
                "crosses_total": 4,
                "crosses_accurate": 2,
                "touches": 17,
                "possession_lost": 5.315,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "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": 5,
                "total_progression": 36,
                "progressive_carries": 1,
                "yellowCards": 0.7692,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 16.7,
                "shotConversion": 0.17,
                "minutesPct": 65.6,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.76,
                "opponent_faced": "Antonee Robinson, Joachim Andersen",
                "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 79.0)",
              "stats": {
                "expected_goals": 0.2723,
                "goal_rate": 0.1828,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0308,
                "key_pass": 1,
                "rating": 7.1751,
                "minutes": 29,
                "total_shots": 2,
                "duels_won": 1,
                "aerial_won": 1,
                "total_pass": 6,
                "accurate_pass": 5,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 5,
                "crosses_total": 4,
                "crosses_accurate": 2,
                "touches": 17,
                "possession_lost": 5.315,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "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": 5,
                "total_progression": 36,
                "progressive_carries": 1,
                "yellowCards": 0.7692,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 16.7,
                "shotConversion": 0.17,
                "minutesPct": 65.6,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.76,
                "opponent_faced": "Antonee Robinson, Joachim Andersen",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "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: 2 projected goals distributed by scorer weight",
              "stats": {
                "expected_goals": 0.2723,
                "goal_rate": 0.1828,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0308,
                "key_pass": 1,
                "rating": 7.1751,
                "minutes": 29,
                "total_shots": 2,
                "duels_won": 1,
                "aerial_won": 1,
                "total_pass": 6,
                "accurate_pass": 5,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 5,
                "crosses_total": 4,
                "crosses_accurate": 2,
                "touches": 17,
                "possession_lost": 5.315,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "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": 5,
                "total_progression": 36,
                "progressive_carries": 1,
                "yellowCards": 0.7692,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 16.7,
                "shotConversion": 0.17,
                "minutesPct": 65.6,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.76,
                "opponent_faced": "Antonee Robinson, Joachim Andersen",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.2179,
                "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": {
                "expected_goals": 0.2723,
                "goal_rate": 0.1828,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0308,
                "key_pass": 1,
                "rating": 7.1751,
                "minutes": 29,
                "total_shots": 2,
                "duels_won": 1,
                "aerial_won": 1,
                "total_pass": 6,
                "accurate_pass": 5,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 5,
                "crosses_total": 4,
                "crosses_accurate": 2,
                "touches": 17,
                "possession_lost": 5.315,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 1,
                "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": 5,
                "total_progression": 36,
                "progressive_carries": 1,
                "yellowCards": 0.7692,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 16.7,
                "shotConversion": 0.17,
                "minutesPct": 65.6,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.76,
                "opponent_faced": "Antonee Robinson, Joachim Andersen",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.2179,
                "projected_assists": 0,
                "assist_probability": 0.0852,
                "fifa_overall": 79.0
              }
            }
          ]
        },
        "Alexis Mac Allister": {
          "player_id": 895324,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 10,
          "height": 176,
          "market_value": 77000000,
          "stats": {
            "key_pass": 1,
            "expected_assists": 0.0545,
            "assists": 0,
            "expected_goals": 0.077,
            "rating": 7.6717,
            "minutes": 70,
            "total_pass": 42,
            "accurate_pass": 37,
            "ball_recovery": 4,
            "duels_won": 5,
            "total_shots": 2,
            "total_long_balls": 7,
            "accurate_long_balls": 4,
            "total_own_half_passes": 15,
            "accurate_own_half_passes": 14,
            "total_opp_half_passes": 27,
            "accurate_opp_half_passes": 23,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 55,
            "possession_lost": 8.1638,
            "dispossessed": 1.1137,
            "duels_lost": 6,
            "aerial_won": 1,
            "aerial_lost": 4,
            "interceptions": 1,
            "tackles_won": 2,
            "tackles": 3,
            "clearances": 2,
            "total_contest": 2,
            "won_contest": 1,
            "challenges_lost": 1,
            "fouls": 2,
            "fouls_drawn": 2,
            "goal_rate": 0.0,
            "goals": 0,
            "shots_on_target": 1,
            "shots_off_target": 1,
            "blocks": 1,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0445,
            "ball_carries": 10,
            "total_progression": 31,
            "progressive_carries": 0,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "minutesPct": 57.8,
            "pointsPerMatch": 1.0,
            "netGoalDifferencePer90": 0.0,
            "opponent_faced": "Joshua King, Alex Iwobi, Oscar Bobb",
            "matchup_zone": "Attacking Mid vs Double Pivot — Tight Space Battle",
            "antagonist_source": "defensive_duel, midfield_pairing",
            "projected_goals": 0,
            "goal_probability": 0.0587,
            "projected_assists": 0,
            "assist_probability": 0.1749,
            "fifa_overall": 84.0
          },
          "latest_10_games": [
            {
              "match_id": 16363261.0,
              "match_date": "2026-09-04",
              "home_team": "Ipswich Town",
              "away_team": "Liverpool FC",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Liverpool FC",
              "opponent": "Ipswich Town",
              "stats": {
                "minutes": 84,
                "rating": 6.8,
                "assists": 0,
                "expected_goals": 0.0795,
                "expected_assists": 0.0246,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 42,
                "accurate_pass": 37,
                "key_pass": 1,
                "tackles": 3,
                "tackles_won": 2,
                "interceptions": 1,
                "clearances": 1,
                "duels_won": 3,
                "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": 16363254.0,
              "match_date": "2026-08-29",
              "home_team": "Liverpool FC",
              "away_team": "Nottingham Forest",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Liverpool FC",
              "opponent": "Nottingham Forest",
              "stats": {
                "minutes": 77,
                "rating": 7.2,
                "assists": 0,
                "expected_assists": 0.387,
                "total_shots": 0,
                "total_pass": 59,
                "accurate_pass": 52,
                "tackles": 3,
                "clearances": 2,
                "aerial_won": 1,
                "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": 16363246.0,
              "match_date": "2026-08-23",
              "home_team": "Newcastle United",
              "away_team": "Liverpool FC",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Liverpool FC",
              "opponent": "Newcastle United",
              "stats": {
                "minutes": 27,
                "rating": 6.9,
                "assists": 0,
                "expected_assists": 0.0084,
                "total_shots": 0,
                "total_pass": 12,
                "accurate_pass": 11,
                "tackles": 2,
                "tackles_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"
            }
          ],
          "ranking": {
            "global_player_rank": 253,
            "combined_rank_score": 188.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 176.0,
            "sofascore_rating": 7.24,
            "sofascore_appearances": 5.0,
            "fifa_rank": 200.0,
            "fifa_overall": 84.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 6,
            "squad_role": "starter",
            "projected_match_rating": 7.6717,
            "source_file": "data/player_rankings.csv",
            "player_name": "Alexis Mac Allister",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Leonard Pllana",
                  "ranking": 248
                },
                {
                  "player_name": "Eldor Adhamov",
                  "ranking": 249
                },
                {
                  "player_name": "Arda Güler",
                  "ranking": 250
                },
                {
                  "player_name": "David Raum",
                  "ranking": 251
                },
                {
                  "player_name": "Bryan Carvallo",
                  "ranking": 252
                }
              ],
              "lower": [
                {
                  "player_name": "Maximilian Mittelstädt",
                  "ranking": 254
                },
                {
                  "player_name": "Seong-Jin Kang",
                  "ranking": 255
                },
                {
                  "player_name": "Mujaid Sadick",
                  "ranking": 256
                },
                {
                  "player_name": "Tijjani Reijnders",
                  "ranking": 257
                },
                {
                  "player_name": "Nicolás Vargas",
                  "ranking": 258
                }
              ]
            }
          },
          "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.1137,
            "fbref_prior_metrics": {
              "squad": "Liverpool",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 1.0,
              "minutes": 104.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 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, Liverpool, 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.0489,
                "assists": 0,
                "expected_goals": 0.0382,
                "rating": 6.8882,
                "minutes": 63,
                "total_pass": 38,
                "accurate_pass": 33,
                "ball_recovery": 4,
                "duels_won": 4,
                "total_shots": 2,
                "total_long_balls": 6,
                "accurate_long_balls": 4,
                "total_own_half_passes": 13,
                "accurate_own_half_passes": 12,
                "total_opp_half_passes": 24,
                "accurate_opp_half_passes": 21,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 49,
                "possession_lost": 7.33,
                "dispossessed": 1.0,
                "duels_lost": 5,
                "aerial_won": 1,
                "aerial_lost": 4,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 3,
                "clearances": 2,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.04,
                "ball_carries": 9,
                "total_progression": 28,
                "progressive_carries": 0
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.1137, quality 0.879)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0545,
                "assists": 0,
                "expected_goals": 0.0425,
                "rating": 7.6717,
                "minutes": 70,
                "total_pass": 42,
                "accurate_pass": 37,
                "ball_recovery": 4,
                "duels_won": 5,
                "total_shots": 2,
                "total_long_balls": 7,
                "accurate_long_balls": 4,
                "total_own_half_passes": 15,
                "accurate_own_half_passes": 14,
                "total_opp_half_passes": 27,
                "accurate_opp_half_passes": 23,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 55,
                "possession_lost": 8.1638,
                "dispossessed": 1.1137,
                "duels_lost": 6,
                "aerial_won": 1,
                "aerial_lost": 4,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 3,
                "clearances": 2,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0445,
                "ball_carries": 10,
                "total_progression": 31,
                "progressive_carries": 0
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0325)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0545,
                "assists": 0,
                "expected_goals": 0.0425,
                "rating": 7.6717,
                "minutes": 70,
                "total_pass": 42,
                "accurate_pass": 37,
                "ball_recovery": 4,
                "duels_won": 5,
                "total_shots": 2,
                "total_long_balls": 7,
                "accurate_long_balls": 4,
                "total_own_half_passes": 15,
                "accurate_own_half_passes": 14,
                "total_opp_half_passes": 27,
                "accurate_opp_half_passes": 23,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 55,
                "possession_lost": 8.1638,
                "dispossessed": 1.1137,
                "duels_lost": 6,
                "aerial_won": 1,
                "aerial_lost": 4,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 3,
                "clearances": 2,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0445,
                "ball_carries": 10,
                "total_progression": 31,
                "progressive_carries": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 57.8,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0545,
                "assists": 0,
                "expected_goals": 0.0425,
                "rating": 7.6717,
                "minutes": 70,
                "total_pass": 42,
                "accurate_pass": 37,
                "ball_recovery": 4,
                "duels_won": 5,
                "total_shots": 2,
                "total_long_balls": 7,
                "accurate_long_balls": 4,
                "total_own_half_passes": 15,
                "accurate_own_half_passes": 14,
                "total_opp_half_passes": 27,
                "accurate_opp_half_passes": 23,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 55,
                "possession_lost": 8.1638,
                "dispossessed": 1.1137,
                "duels_lost": 6,
                "aerial_won": 1,
                "aerial_lost": 4,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 3,
                "clearances": 2,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0445,
                "ball_carries": 10,
                "total_progression": 31,
                "progressive_carries": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 57.8,
                "pointsPerMatch": 1.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.0545,
                "assists": 0,
                "expected_goals": 0.0425,
                "rating": 7.6717,
                "minutes": 70,
                "total_pass": 42,
                "accurate_pass": 37,
                "ball_recovery": 4,
                "duels_won": 5,
                "total_shots": 2,
                "total_long_balls": 7,
                "accurate_long_balls": 4,
                "total_own_half_passes": 15,
                "accurate_own_half_passes": 14,
                "total_opp_half_passes": 27,
                "accurate_opp_half_passes": 23,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 55,
                "possession_lost": 8.1638,
                "dispossessed": 1.1137,
                "duels_lost": 6,
                "aerial_won": 1,
                "aerial_lost": 4,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 3,
                "clearances": 2,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0445,
                "ball_carries": 10,
                "total_progression": 31,
                "progressive_carries": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 57.8,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "opponent_faced": "Joshua King, Alex Iwobi, Oscar Bobb",
                "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 2.67 (squad xG sum 1.4710, xG scale 1.8117)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0545,
                "assists": 0,
                "expected_goals": 0.077,
                "rating": 7.6717,
                "minutes": 70,
                "total_pass": 42,
                "accurate_pass": 37,
                "ball_recovery": 4,
                "duels_won": 5,
                "total_shots": 2,
                "total_long_balls": 7,
                "accurate_long_balls": 4,
                "total_own_half_passes": 15,
                "accurate_own_half_passes": 14,
                "total_opp_half_passes": 27,
                "accurate_opp_half_passes": 23,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 55,
                "possession_lost": 8.1638,
                "dispossessed": 1.1137,
                "duels_lost": 6,
                "aerial_won": 1,
                "aerial_lost": 4,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 3,
                "clearances": 2,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0445,
                "ball_carries": 10,
                "total_progression": 31,
                "progressive_carries": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 57.8,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "opponent_faced": "Joshua King, Alex Iwobi, Oscar Bobb",
                "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 6, fifa_overall 84.0)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0545,
                "assists": 0,
                "expected_goals": 0.077,
                "rating": 7.6717,
                "minutes": 70,
                "total_pass": 42,
                "accurate_pass": 37,
                "ball_recovery": 4,
                "duels_won": 5,
                "total_shots": 2,
                "total_long_balls": 7,
                "accurate_long_balls": 4,
                "total_own_half_passes": 15,
                "accurate_own_half_passes": 14,
                "total_opp_half_passes": 27,
                "accurate_opp_half_passes": 23,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 55,
                "possession_lost": 8.1638,
                "dispossessed": 1.1137,
                "duels_lost": 6,
                "aerial_won": 1,
                "aerial_lost": 4,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 3,
                "clearances": 2,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0445,
                "ball_carries": 10,
                "total_progression": 31,
                "progressive_carries": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 57.8,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "opponent_faced": "Joshua King, Alex Iwobi, Oscar Bobb",
                "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": 84.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 2 projected goals distributed by scorer weight",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0545,
                "assists": 0,
                "expected_goals": 0.077,
                "rating": 7.6717,
                "minutes": 70,
                "total_pass": 42,
                "accurate_pass": 37,
                "ball_recovery": 4,
                "duels_won": 5,
                "total_shots": 2,
                "total_long_balls": 7,
                "accurate_long_balls": 4,
                "total_own_half_passes": 15,
                "accurate_own_half_passes": 14,
                "total_opp_half_passes": 27,
                "accurate_opp_half_passes": 23,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 55,
                "possession_lost": 8.1638,
                "dispossessed": 1.1137,
                "duels_lost": 6,
                "aerial_won": 1,
                "aerial_lost": 4,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 3,
                "clearances": 2,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0445,
                "ball_carries": 10,
                "total_progression": 31,
                "progressive_carries": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 57.8,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "opponent_faced": "Joshua King, Alex Iwobi, Oscar Bobb",
                "matchup_zone": "Attacking Mid vs Double Pivot — Tight Space Battle",
                "antagonist_source": "defensive_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0587,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 84.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0545,
                "assists": 0,
                "expected_goals": 0.077,
                "rating": 7.6717,
                "minutes": 70,
                "total_pass": 42,
                "accurate_pass": 37,
                "ball_recovery": 4,
                "duels_won": 5,
                "total_shots": 2,
                "total_long_balls": 7,
                "accurate_long_balls": 4,
                "total_own_half_passes": 15,
                "accurate_own_half_passes": 14,
                "total_opp_half_passes": 27,
                "accurate_opp_half_passes": 23,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 55,
                "possession_lost": 8.1638,
                "dispossessed": 1.1137,
                "duels_lost": 6,
                "aerial_won": 1,
                "aerial_lost": 4,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 3,
                "clearances": 2,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0445,
                "ball_carries": 10,
                "total_progression": 31,
                "progressive_carries": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 57.8,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "opponent_faced": "Joshua King, Alex Iwobi, Oscar Bobb",
                "matchup_zone": "Attacking Mid vs Double Pivot — Tight Space Battle",
                "antagonist_source": "defensive_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0587,
                "projected_assists": 0,
                "assist_probability": 0.1749,
                "fifa_overall": 84.0
              }
            }
          ]
        },
        "Dominik Szoboszlai": {
          "player_id": 869856,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 8,
          "height": 187,
          "market_value": 91000000,
          "stats": {
            "key_pass": 1,
            "expected_assists": 0.1076,
            "assists": 1,
            "expected_goals": 0.2266,
            "rating": 7.6945,
            "minutes": 95,
            "total_pass": 75,
            "accurate_pass": 66,
            "ball_recovery": 6,
            "duels_won": 4,
            "total_shots": 4,
            "total_long_balls": 5,
            "accurate_long_balls": 4,
            "total_own_half_passes": 31,
            "accurate_own_half_passes": 28,
            "total_opp_half_passes": 44,
            "accurate_opp_half_passes": 38,
            "crosses_total": 9,
            "crosses_accurate": 3,
            "touches": 106,
            "possession_lost": 18.6181,
            "dispossessed": 1.1169,
            "duels_lost": 6,
            "aerial_won": 1,
            "aerial_lost": 3,
            "interceptions": 1,
            "tackles_won": 3,
            "tackles": 2,
            "clearances": 1,
            "total_contest": 2,
            "won_contest": 1,
            "challenges_lost": 1,
            "fouls": 1,
            "fouls_drawn": 1,
            "goal_rate": 1.0835,
            "goals": 1,
            "shots_on_target": 2,
            "shots_off_target": 2,
            "blocks": 1,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 1.2621,
            "ball_carries": 20,
            "total_progression": 82,
            "progressive_carries": 1,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 16.7,
            "shotConversion": 0.17,
            "minutesPct": 100.0,
            "pointsPerMatch": 1.0,
            "netGoalDifferencePer90": 0.0,
            "dribbles_attempted": 4,
            "dribbles_successful": 2.1,
            "crosses_attempted": 2.7,
            "duel_win_rate": 0.595,
            "pressing_faced": "MEDIUM",
            "matchup_zone": "Left Wing vs Right Back — Flank Battle",
            "numerical_situation": "1v1",
            "opponent_defenders": "Antonee Robinson",
            "opponent_faced": "Antonee Robinson",
            "antagonist_source": "attacking_duel, midfield_pairing",
            "projected_goals": 1,
            "goal_probability": 0.3377,
            "projected_assists": 1,
            "assist_probability": 0.22,
            "fifa_overall": 86.0
          },
          "latest_10_games": [
            {
              "match_id": 16363261.0,
              "match_date": "2026-09-04",
              "home_team": "Ipswich Town",
              "away_team": "Liverpool FC",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Liverpool FC",
              "opponent": "Ipswich Town",
              "stats": {
                "minutes": 90,
                "rating": 7.5,
                "assists": 0,
                "expected_goals": 0.1554,
                "expected_assists": 0.0759,
                "total_shots": 3,
                "shots_on_target": 3,
                "total_pass": 64,
                "accurate_pass": 58,
                "key_pass": 2,
                "interceptions": 1,
                "clearances": 1,
                "aerial_won": 2,
                "duels_won": 2,
                "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": 16363254.0,
              "match_date": "2026-08-29",
              "home_team": "Liverpool FC",
              "away_team": "Nottingham Forest",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Liverpool FC",
              "opponent": "Nottingham Forest",
              "stats": {
                "minutes": 90,
                "rating": 7.1,
                "assists": 0,
                "expected_goals": 0.1648,
                "expected_assists": 0.1321,
                "total_shots": 3,
                "shots_off_target": 2,
                "total_pass": 80,
                "accurate_pass": 73,
                "key_pass": 2,
                "tackles": 3,
                "tackles_won": 3,
                "interceptions": 1,
                "clearances": 1,
                "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": 16363246.0,
              "match_date": "2026-08-23",
              "home_team": "Newcastle United",
              "away_team": "Liverpool FC",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Liverpool FC",
              "opponent": "Newcastle United",
              "stats": {
                "minutes": 90,
                "rating": 7.1,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.8497,
                "expected_assists": 0.2704,
                "total_shots": 3,
                "shots_on_target": 1,
                "total_pass": 58,
                "accurate_pass": 47,
                "key_pass": 3,
                "tackles": 1,
                "interceptions": 1,
                "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"
            }
          ],
          "ranking": {
            "global_player_rank": 78,
            "combined_rank_score": 84.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 85.0,
            "sofascore_rating": 7.5333,
            "sofascore_appearances": 12.0,
            "fifa_rank": 83.0,
            "fifa_overall": 86.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 2,
            "squad_role": "starter",
            "projected_match_rating": 7.6945,
            "source_file": "data/player_rankings.csv",
            "player_name": "Dominik Szoboszlai",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Silva Denisson",
                  "ranking": 73
                },
                {
                  "player_name": "Désiré Doué",
                  "ranking": 74
                },
                {
                  "player_name": "Chema Andrés",
                  "ranking": 75
                },
                {
                  "player_name": "Youri Tielemans",
                  "ranking": 76
                },
                {
                  "player_name": "Marc Cucurella",
                  "ranking": 77
                }
              ],
              "lower": [
                {
                  "player_name": "Thibaut Courtois",
                  "ranking": 79
                },
                {
                  "player_name": "Otávio Costa",
                  "ranking": 80
                },
                {
                  "player_name": "Marc Guéhi",
                  "ranking": 81
                },
                {
                  "player_name": "Jaden Philogene-Bidace",
                  "ranking": 82
                },
                {
                  "player_name": "Valdívia",
                  "ranking": 83
                }
              ]
            }
          },
          "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.1169,
            "fbref_prior_metrics": {
              "squad": "Liverpool",
              "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": 3.0,
              "shots_on_target_pct": 16.7,
              "prior_reliability": 0.1333
            },
            "rationale": "XGBoost regressor (M_service) evaluated 3 historical appearances across 5 target models; FBref 2026-2027 prior blended (Premier League, Liverpool, 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.0963,
                "assists": 0,
                "expected_goals": 0.112,
                "rating": 6.8894,
                "minutes": 90,
                "total_pass": 67,
                "accurate_pass": 59,
                "ball_recovery": 6,
                "duels_won": 3,
                "total_shots": 4,
                "total_long_balls": 4,
                "accurate_long_balls": 4,
                "total_own_half_passes": 28,
                "accurate_own_half_passes": 25,
                "total_opp_half_passes": 40,
                "accurate_opp_half_passes": 34,
                "crosses_total": 8,
                "crosses_accurate": 2,
                "touches": 95,
                "possession_lost": 16.67,
                "dispossessed": 1.0,
                "duels_lost": 5,
                "aerial_won": 2,
                "aerial_lost": 2,
                "interceptions": 1,
                "tackles_won": 3,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 1.0,
                "goals": 1,
                "shots_on_target": 2,
                "shots_off_target": 2,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 1.13,
                "ball_carries": 18,
                "total_progression": 73,
                "progressive_carries": 1
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.1169, quality 0.890)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.1076,
                "assists": 0,
                "expected_goals": 0.1251,
                "rating": 7.6945,
                "minutes": 95,
                "total_pass": 75,
                "accurate_pass": 66,
                "ball_recovery": 6,
                "duels_won": 4,
                "total_shots": 4,
                "total_long_balls": 5,
                "accurate_long_balls": 4,
                "total_own_half_passes": 31,
                "accurate_own_half_passes": 28,
                "total_opp_half_passes": 44,
                "accurate_opp_half_passes": 38,
                "crosses_total": 9,
                "crosses_accurate": 3,
                "touches": 106,
                "possession_lost": 18.6181,
                "dispossessed": 1.1169,
                "duels_lost": 6,
                "aerial_won": 2,
                "aerial_lost": 3,
                "interceptions": 1,
                "tackles_won": 3,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 1.1169,
                "goals": 1,
                "shots_on_target": 2,
                "shots_off_target": 2,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 1.2621,
                "ball_carries": 20,
                "total_progression": 82,
                "progressive_carries": 1
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0542)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.1076,
                "assists": 0,
                "expected_goals": 0.1251,
                "rating": 7.6945,
                "minutes": 95,
                "total_pass": 75,
                "accurate_pass": 66,
                "ball_recovery": 6,
                "duels_won": 4,
                "total_shots": 4,
                "total_long_balls": 5,
                "accurate_long_balls": 4,
                "total_own_half_passes": 31,
                "accurate_own_half_passes": 28,
                "total_opp_half_passes": 44,
                "accurate_opp_half_passes": 38,
                "crosses_total": 9,
                "crosses_accurate": 3,
                "touches": 106,
                "possession_lost": 18.6181,
                "dispossessed": 1.1169,
                "duels_lost": 6,
                "aerial_won": 2,
                "aerial_lost": 3,
                "interceptions": 1,
                "tackles_won": 3,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 1.0835,
                "goals": 1,
                "shots_on_target": 2,
                "shots_off_target": 2,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 1.2621,
                "ball_carries": 20,
                "total_progression": 82,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 16.7,
                "shotConversion": 0.17,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.1076,
                "assists": 0,
                "expected_goals": 0.1251,
                "rating": 7.6945,
                "minutes": 95,
                "total_pass": 75,
                "accurate_pass": 66,
                "ball_recovery": 6,
                "duels_won": 4,
                "total_shots": 4,
                "total_long_balls": 5,
                "accurate_long_balls": 4,
                "total_own_half_passes": 31,
                "accurate_own_half_passes": 28,
                "total_opp_half_passes": 44,
                "accurate_opp_half_passes": 38,
                "crosses_total": 9,
                "crosses_accurate": 3,
                "touches": 106,
                "possession_lost": 18.6181,
                "dispossessed": 1.1169,
                "duels_lost": 6,
                "aerial_won": 2,
                "aerial_lost": 3,
                "interceptions": 1,
                "tackles_won": 3,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 1.0835,
                "goals": 1,
                "shots_on_target": 2,
                "shots_off_target": 2,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 1.2621,
                "ball_carries": 20,
                "total_progression": 82,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 16.7,
                "shotConversion": 0.17,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.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.1076,
                "assists": 0,
                "expected_goals": 0.1251,
                "rating": 7.6945,
                "minutes": 95,
                "total_pass": 75,
                "accurate_pass": 66,
                "ball_recovery": 6,
                "duels_won": 4,
                "total_shots": 4,
                "total_long_balls": 5,
                "accurate_long_balls": 4,
                "total_own_half_passes": 31,
                "accurate_own_half_passes": 28,
                "total_opp_half_passes": 44,
                "accurate_opp_half_passes": 38,
                "crosses_total": 9,
                "crosses_accurate": 3,
                "touches": 106,
                "possession_lost": 18.6181,
                "dispossessed": 1.1169,
                "duels_lost": 6,
                "aerial_won": 1,
                "aerial_lost": 3,
                "interceptions": 1,
                "tackles_won": 3,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 1.0835,
                "goals": 1,
                "shots_on_target": 2,
                "shots_off_target": 2,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 1.2621,
                "ball_carries": 20,
                "total_progression": 82,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 16.7,
                "shotConversion": 0.17,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 4,
                "dribbles_successful": 2.1,
                "crosses_attempted": 2.7,
                "duel_win_rate": 0.595,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Antonee Robinson",
                "opponent_faced": "Antonee Robinson",
                "antagonist_source": "attacking_duel, midfield_pairing"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 2.67 (squad xG sum 1.4710, xG scale 1.8117)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.1076,
                "assists": 0,
                "expected_goals": 0.2266,
                "rating": 7.6945,
                "minutes": 95,
                "total_pass": 75,
                "accurate_pass": 66,
                "ball_recovery": 6,
                "duels_won": 4,
                "total_shots": 4,
                "total_long_balls": 5,
                "accurate_long_balls": 4,
                "total_own_half_passes": 31,
                "accurate_own_half_passes": 28,
                "total_opp_half_passes": 44,
                "accurate_opp_half_passes": 38,
                "crosses_total": 9,
                "crosses_accurate": 3,
                "touches": 106,
                "possession_lost": 18.6181,
                "dispossessed": 1.1169,
                "duels_lost": 6,
                "aerial_won": 1,
                "aerial_lost": 3,
                "interceptions": 1,
                "tackles_won": 3,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 1.0835,
                "goals": 0,
                "shots_on_target": 2,
                "shots_off_target": 2,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 1.2621,
                "ball_carries": 20,
                "total_progression": 82,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 16.7,
                "shotConversion": 0.17,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 4,
                "dribbles_successful": 2.1,
                "crosses_attempted": 2.7,
                "duel_win_rate": 0.595,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Antonee Robinson",
                "opponent_faced": "Antonee Robinson",
                "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 2, fifa_overall 86.0)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.1076,
                "assists": 0,
                "expected_goals": 0.2266,
                "rating": 7.6945,
                "minutes": 95,
                "total_pass": 75,
                "accurate_pass": 66,
                "ball_recovery": 6,
                "duels_won": 4,
                "total_shots": 4,
                "total_long_balls": 5,
                "accurate_long_balls": 4,
                "total_own_half_passes": 31,
                "accurate_own_half_passes": 28,
                "total_opp_half_passes": 44,
                "accurate_opp_half_passes": 38,
                "crosses_total": 9,
                "crosses_accurate": 3,
                "touches": 106,
                "possession_lost": 18.6181,
                "dispossessed": 1.1169,
                "duels_lost": 6,
                "aerial_won": 1,
                "aerial_lost": 3,
                "interceptions": 1,
                "tackles_won": 3,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 1.0835,
                "goals": 0,
                "shots_on_target": 2,
                "shots_off_target": 2,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 1.2621,
                "ball_carries": 20,
                "total_progression": 82,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 16.7,
                "shotConversion": 0.17,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 4,
                "dribbles_successful": 2.1,
                "crosses_attempted": 2.7,
                "duel_win_rate": 0.595,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Antonee Robinson",
                "opponent_faced": "Antonee Robinson",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 86.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 2 projected goals distributed by scorer weight",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.1076,
                "assists": 0,
                "expected_goals": 0.2266,
                "rating": 7.6945,
                "minutes": 95,
                "total_pass": 75,
                "accurate_pass": 66,
                "ball_recovery": 6,
                "duels_won": 4,
                "total_shots": 4,
                "total_long_balls": 5,
                "accurate_long_balls": 4,
                "total_own_half_passes": 31,
                "accurate_own_half_passes": 28,
                "total_opp_half_passes": 44,
                "accurate_opp_half_passes": 38,
                "crosses_total": 9,
                "crosses_accurate": 3,
                "touches": 106,
                "possession_lost": 18.6181,
                "dispossessed": 1.1169,
                "duels_lost": 6,
                "aerial_won": 1,
                "aerial_lost": 3,
                "interceptions": 1,
                "tackles_won": 3,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 1.0835,
                "goals": 1,
                "shots_on_target": 2,
                "shots_off_target": 2,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 1.2621,
                "ball_carries": 20,
                "total_progression": 82,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 16.7,
                "shotConversion": 0.17,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 4,
                "dribbles_successful": 2.1,
                "crosses_attempted": 2.7,
                "duel_win_rate": 0.595,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Antonee Robinson",
                "opponent_faced": "Antonee Robinson",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 1,
                "goal_probability": 0.3377,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 86.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.1076,
                "assists": 1,
                "expected_goals": 0.2266,
                "rating": 7.6945,
                "minutes": 95,
                "total_pass": 75,
                "accurate_pass": 66,
                "ball_recovery": 6,
                "duels_won": 4,
                "total_shots": 4,
                "total_long_balls": 5,
                "accurate_long_balls": 4,
                "total_own_half_passes": 31,
                "accurate_own_half_passes": 28,
                "total_opp_half_passes": 44,
                "accurate_opp_half_passes": 38,
                "crosses_total": 9,
                "crosses_accurate": 3,
                "touches": 106,
                "possession_lost": 18.6181,
                "dispossessed": 1.1169,
                "duels_lost": 6,
                "aerial_won": 1,
                "aerial_lost": 3,
                "interceptions": 1,
                "tackles_won": 3,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 2,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 1.0835,
                "goals": 1,
                "shots_on_target": 2,
                "shots_off_target": 2,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 1.2621,
                "ball_carries": 20,
                "total_progression": 82,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 16.7,
                "shotConversion": 0.17,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 4,
                "dribbles_successful": 2.1,
                "crosses_attempted": 2.7,
                "duel_win_rate": 0.595,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Antonee Robinson",
                "opponent_faced": "Antonee Robinson",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 1,
                "goal_probability": 0.3377,
                "projected_assists": 1,
                "assist_probability": 0.22,
                "fifa_overall": 86.0
              }
            }
          ]
        },
        "Miloš Kerkez": {
          "player_id": 1097425,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 6,
          "height": 180,
          "market_value": 36000000,
          "stats": {
            "interceptions": 1,
            "tackles": 2,
            "tackles_won": 1,
            "clearances": 3,
            "aerial_won": 1,
            "rating": 7.1168,
            "minutes": 90,
            "total_pass": 41,
            "accurate_pass": 34,
            "duels_won": 5,
            "total_long_balls": 4,
            "accurate_long_balls": 3,
            "total_own_half_passes": 13,
            "accurate_own_half_passes": 11,
            "total_opp_half_passes": 28,
            "accurate_opp_half_passes": 22,
            "crosses_total": 3,
            "crosses_accurate": 2,
            "touches": 62,
            "possession_lost": 13.6512,
            "dispossessed": 2.1549,
            "duels_lost": 6,
            "aerial_lost": 1,
            "total_contest": 1,
            "won_contest": 0,
            "ball_recovery": 3,
            "challenges_lost": 1,
            "fouls": 3,
            "fouls_drawn": 1,
            "blocks": 2,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.039,
            "expected_assists": 0.0215,
            "total_shots": 2,
            "shots_on_target": 1,
            "shots_off_target": 1,
            "big_chances_created": 0,
            "xgot": 0.0431,
            "ball_carries": 9,
            "total_progression": 35,
            "progressive_carries": 1,
            "key_pass": 1,
            "offsides": 0,
            "yellowCards": 0.5556,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 50.0,
            "shotConversion": 0.0,
            "minutesPct": 88.9,
            "pointsPerMatch": 1.0,
            "netGoalDifferencePer90": 0.0,
            "tackles_in_zone": 2.2,
            "tackles_won_in_zone": 1.9,
            "interceptions_in_zone": 1.2,
            "clearances_in_zone": 1.1,
            "aerial_duels_won": 1.1,
            "defensive_success_rate": 0.573,
            "opponent_faced": "Oscar Bobb",
            "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.0329,
            "projected_assists": 0,
            "assist_probability": 0.0452,
            "fifa_overall": 81.0
          },
          "latest_10_games": [
            {
              "match_id": 16363261.0,
              "match_date": "2026-09-04",
              "home_team": "Ipswich Town",
              "away_team": "Liverpool FC",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Liverpool FC",
              "opponent": "Ipswich Town",
              "stats": {
                "minutes": 90,
                "rating": 6.8,
                "assists": 0,
                "expected_assists": 0.0262,
                "total_shots": 0,
                "total_pass": 34,
                "accurate_pass": 29,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "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": 16363254.0,
              "match_date": "2026-08-29",
              "home_team": "Liverpool FC",
              "away_team": "Nottingham Forest",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Liverpool FC",
              "opponent": "Nottingham Forest",
              "stats": {
                "minutes": 71,
                "rating": 6.5,
                "assists": 0,
                "expected_assists": 0.0123,
                "total_shots": 0,
                "total_pass": 38,
                "accurate_pass": 32,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 4,
                "aerial_won": 1,
                "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": 16363246.0,
              "match_date": "2026-08-23",
              "home_team": "Newcastle United",
              "away_team": "Liverpool FC",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Liverpool FC",
              "opponent": "Newcastle United",
              "stats": {
                "minutes": 90,
                "rating": 6.0,
                "assists": 0,
                "expected_goals": 0.0243,
                "expected_assists": 0.0237,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 41,
                "accurate_pass": 33,
                "key_pass": 1,
                "tackles": 3,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 2,
                "aerial_won": 2,
                "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": 1468,
            "combined_rank_score": 606.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 688.0,
            "sofascore_rating": 6.7111,
            "sofascore_appearances": 9.0,
            "fifa_rank": 524.0,
            "fifa_overall": 81.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 11,
            "squad_role": "starter",
            "projected_match_rating": 7.1168,
            "source_file": "data/player_rankings.csv",
            "player_name": "Miloš Kerkez",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Nicolás Palma",
                  "ranking": 1463
                },
                {
                  "player_name": "Ahmadullo Muqimjonov",
                  "ranking": 1464
                },
                {
                  "player_name": "Kirill Pechenin",
                  "ranking": 1465
                },
                {
                  "player_name": "Paulinho",
                  "ranking": 1466
                },
                {
                  "player_name": "Andrey Santos",
                  "ranking": 1467
                }
              ],
              "lower": [
                {
                  "player_name": "Misael Llantén",
                  "ranking": 1469
                },
                {
                  "player_name": "Gabriel Graciani",
                  "ranking": 1470
                },
                {
                  "player_name": "Hyeong-won Kim",
                  "ranking": 1471
                },
                {
                  "player_name": "Matías Fernández-Pardo",
                  "ranking": 1472
                },
                {
                  "player_name": "Vitaly Janelt",
                  "ranking": 1473
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.456,
          "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.456,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.0774,
            "fbref_prior_metrics": {
              "squad": "Liverpool",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 2.0,
              "minutes": 160.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 1.13,
              "shots_on_target_pct": 50.0,
              "prior_reliability": 0.12
            },
            "rationale": "XGBoost regressor (D_service) evaluated 3 historical appearances across 6 target models; FBref 2026-2027 prior blended (Premier League, Liverpool, rel: 0.12, 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.6053,
                "minutes": 84,
                "total_pass": 38,
                "accurate_pass": 31,
                "duels_won": 4,
                "total_long_balls": 4,
                "accurate_long_balls": 2,
                "total_own_half_passes": 12,
                "accurate_own_half_passes": 11,
                "total_opp_half_passes": 26,
                "accurate_opp_half_passes": 21,
                "crosses_total": 3,
                "crosses_accurate": 2,
                "touches": 58,
                "possession_lost": 12.67,
                "dispossessed": 2.0,
                "duels_lost": 5,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 1,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.02,
                "expected_assists": 0.02,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "big_chances_created": 0,
                "xgot": 0.04,
                "ball_carries": 8,
                "total_progression": 32,
                "progressive_carries": 1,
                "key_pass": 1
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0774, quality 0.758)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "rating": 7.1168,
                "minutes": 90,
                "total_pass": 41,
                "accurate_pass": 34,
                "duels_won": 5,
                "total_long_balls": 4,
                "accurate_long_balls": 3,
                "total_own_half_passes": 13,
                "accurate_own_half_passes": 11,
                "total_opp_half_passes": 28,
                "accurate_opp_half_passes": 22,
                "crosses_total": 3,
                "crosses_accurate": 2,
                "touches": 62,
                "possession_lost": 13.6512,
                "dispossessed": 2.1549,
                "duels_lost": 6,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 3,
                "fouls_drawn": 1,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0215,
                "expected_assists": 0.0215,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "big_chances_created": 0,
                "xgot": 0.0431,
                "ball_carries": 9,
                "total_progression": 35,
                "progressive_carries": 1,
                "key_pass": 1
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0488)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "rating": 7.1168,
                "minutes": 90,
                "total_pass": 41,
                "accurate_pass": 34,
                "duels_won": 5,
                "total_long_balls": 4,
                "accurate_long_balls": 3,
                "total_own_half_passes": 13,
                "accurate_own_half_passes": 11,
                "total_opp_half_passes": 28,
                "accurate_opp_half_passes": 22,
                "crosses_total": 3,
                "crosses_accurate": 2,
                "touches": 62,
                "possession_lost": 13.6512,
                "dispossessed": 2.1549,
                "duels_lost": 6,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 3,
                "fouls_drawn": 1,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0215,
                "expected_assists": 0.0215,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "big_chances_created": 0,
                "xgot": 0.0431,
                "ball_carries": 9,
                "total_progression": 35,
                "progressive_carries": 1,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.5556,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 50.0,
                "shotConversion": 0.0,
                "minutesPct": 88.9,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": -0.56
              }
            },
            {
              "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.1168,
                "minutes": 90,
                "total_pass": 41,
                "accurate_pass": 34,
                "duels_won": 5,
                "total_long_balls": 4,
                "accurate_long_balls": 3,
                "total_own_half_passes": 13,
                "accurate_own_half_passes": 11,
                "total_opp_half_passes": 28,
                "accurate_opp_half_passes": 22,
                "crosses_total": 3,
                "crosses_accurate": 2,
                "touches": 62,
                "possession_lost": 13.6512,
                "dispossessed": 2.1549,
                "duels_lost": 6,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 3,
                "fouls_drawn": 1,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0215,
                "expected_assists": 0.0215,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "big_chances_created": 0,
                "xgot": 0.0431,
                "ball_carries": 9,
                "total_progression": 35,
                "progressive_carries": 1,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.5556,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 50.0,
                "shotConversion": 0.0,
                "minutesPct": 88.9,
                "pointsPerMatch": 1.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.1168,
                "minutes": 90,
                "total_pass": 41,
                "accurate_pass": 34,
                "duels_won": 5,
                "total_long_balls": 4,
                "accurate_long_balls": 3,
                "total_own_half_passes": 13,
                "accurate_own_half_passes": 11,
                "total_opp_half_passes": 28,
                "accurate_opp_half_passes": 22,
                "crosses_total": 3,
                "crosses_accurate": 2,
                "touches": 62,
                "possession_lost": 13.6512,
                "dispossessed": 2.1549,
                "duels_lost": 6,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 3,
                "fouls_drawn": 1,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0215,
                "expected_assists": 0.0215,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "big_chances_created": 0,
                "xgot": 0.0431,
                "ball_carries": 9,
                "total_progression": 35,
                "progressive_carries": 1,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.5556,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 50.0,
                "shotConversion": 0.0,
                "minutesPct": 88.9,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 2.2,
                "tackles_won_in_zone": 1.9,
                "interceptions_in_zone": 1.2,
                "clearances_in_zone": 1.1,
                "aerial_duels_won": 1.1,
                "defensive_success_rate": 0.573,
                "opponent_faced": "Oscar Bobb",
                "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 2.67 (squad xG sum 1.4710, xG scale 1.8117)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "rating": 7.1168,
                "minutes": 90,
                "total_pass": 41,
                "accurate_pass": 34,
                "duels_won": 5,
                "total_long_balls": 4,
                "accurate_long_balls": 3,
                "total_own_half_passes": 13,
                "accurate_own_half_passes": 11,
                "total_opp_half_passes": 28,
                "accurate_opp_half_passes": 22,
                "crosses_total": 3,
                "crosses_accurate": 2,
                "touches": 62,
                "possession_lost": 13.6512,
                "dispossessed": 2.1549,
                "duels_lost": 6,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 3,
                "fouls_drawn": 1,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.039,
                "expected_assists": 0.0215,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "big_chances_created": 0,
                "xgot": 0.0431,
                "ball_carries": 9,
                "total_progression": 35,
                "progressive_carries": 1,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.5556,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 50.0,
                "shotConversion": 0.0,
                "minutesPct": 88.9,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 2.2,
                "tackles_won_in_zone": 1.9,
                "interceptions_in_zone": 1.2,
                "clearances_in_zone": 1.1,
                "aerial_duels_won": 1.1,
                "defensive_success_rate": 0.573,
                "opponent_faced": "Oscar Bobb",
                "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 81.0)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "rating": 7.1168,
                "minutes": 90,
                "total_pass": 41,
                "accurate_pass": 34,
                "duels_won": 5,
                "total_long_balls": 4,
                "accurate_long_balls": 3,
                "total_own_half_passes": 13,
                "accurate_own_half_passes": 11,
                "total_opp_half_passes": 28,
                "accurate_opp_half_passes": 22,
                "crosses_total": 3,
                "crosses_accurate": 2,
                "touches": 62,
                "possession_lost": 13.6512,
                "dispossessed": 2.1549,
                "duels_lost": 6,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 3,
                "fouls_drawn": 1,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.039,
                "expected_assists": 0.0215,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "big_chances_created": 0,
                "xgot": 0.0431,
                "ball_carries": 9,
                "total_progression": 35,
                "progressive_carries": 1,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.5556,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 50.0,
                "shotConversion": 0.0,
                "minutesPct": 88.9,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 2.2,
                "tackles_won_in_zone": 1.9,
                "interceptions_in_zone": 1.2,
                "clearances_in_zone": 1.1,
                "aerial_duels_won": 1.1,
                "defensive_success_rate": 0.573,
                "opponent_faced": "Oscar Bobb",
                "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": 81.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 2 projected goals distributed by scorer weight",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "rating": 7.1168,
                "minutes": 90,
                "total_pass": 41,
                "accurate_pass": 34,
                "duels_won": 5,
                "total_long_balls": 4,
                "accurate_long_balls": 3,
                "total_own_half_passes": 13,
                "accurate_own_half_passes": 11,
                "total_opp_half_passes": 28,
                "accurate_opp_half_passes": 22,
                "crosses_total": 3,
                "crosses_accurate": 2,
                "touches": 62,
                "possession_lost": 13.6512,
                "dispossessed": 2.1549,
                "duels_lost": 6,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 3,
                "fouls_drawn": 1,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.039,
                "expected_assists": 0.0215,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "big_chances_created": 0,
                "xgot": 0.0431,
                "ball_carries": 9,
                "total_progression": 35,
                "progressive_carries": 1,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.5556,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 50.0,
                "shotConversion": 0.0,
                "minutesPct": 88.9,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 2.2,
                "tackles_won_in_zone": 1.9,
                "interceptions_in_zone": 1.2,
                "clearances_in_zone": 1.1,
                "aerial_duels_won": 1.1,
                "defensive_success_rate": 0.573,
                "opponent_faced": "Oscar Bobb",
                "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.0329,
                "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": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "rating": 7.1168,
                "minutes": 90,
                "total_pass": 41,
                "accurate_pass": 34,
                "duels_won": 5,
                "total_long_balls": 4,
                "accurate_long_balls": 3,
                "total_own_half_passes": 13,
                "accurate_own_half_passes": 11,
                "total_opp_half_passes": 28,
                "accurate_opp_half_passes": 22,
                "crosses_total": 3,
                "crosses_accurate": 2,
                "touches": 62,
                "possession_lost": 13.6512,
                "dispossessed": 2.1549,
                "duels_lost": 6,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 3,
                "fouls_drawn": 1,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.039,
                "expected_assists": 0.0215,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "big_chances_created": 0,
                "xgot": 0.0431,
                "ball_carries": 9,
                "total_progression": 35,
                "progressive_carries": 1,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.5556,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 50.0,
                "shotConversion": 0.0,
                "minutesPct": 88.9,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 2.2,
                "tackles_won_in_zone": 1.9,
                "interceptions_in_zone": 1.2,
                "clearances_in_zone": 1.1,
                "aerial_duels_won": 1.1,
                "defensive_success_rate": 0.573,
                "opponent_faced": "Oscar Bobb",
                "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.0329,
                "projected_assists": 0,
                "assist_probability": 0.0452,
                "fifa_overall": 81.0
              }
            }
          ]
        },
        "Virgil van Dijk": {
          "player_id": 151545,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 4,
          "height": 195,
          "market_value": 15500000,
          "stats": {
            "interceptions": 1,
            "tackles": 1,
            "tackles_won": 1,
            "clearances": 3,
            "aerial_won": 2,
            "rating": 7.2093,
            "minutes": 92,
            "total_pass": 91,
            "accurate_pass": 81,
            "duels_won": 5,
            "total_long_balls": 13,
            "accurate_long_balls": 7,
            "total_own_half_passes": 43,
            "accurate_own_half_passes": 42,
            "total_opp_half_passes": 47,
            "accurate_opp_half_passes": 39,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 102,
            "possession_lost": 9.9154,
            "dispossessed": 0.0,
            "duels_lost": 2,
            "aerial_lost": 2,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 5,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "blocks": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.4643,
            "expected_assists": 0.0205,
            "total_shots": 1,
            "shots_on_target": 1,
            "shots_off_target": 0,
            "big_chances_created": 0,
            "xgot": 0.1743,
            "ball_carries": 25,
            "total_progression": 127,
            "progressive_carries": 1,
            "key_pass": 0,
            "offsides": 0,
            "yellowCards": 0.5,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 50.0,
            "shotConversion": 0.0,
            "minutesPct": 100.0,
            "pointsPerMatch": 1.0,
            "netGoalDifferencePer90": 0.0,
            "tackles_in_zone": 1.0,
            "tackles_won_in_zone": 1.2,
            "interceptions_in_zone": 0.9,
            "clearances_in_zone": 0.8,
            "aerial_duels_won": 0.7,
            "defensive_success_rate": 0.82,
            "opponent_faced": "Gonzalo García",
            "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.1199,
            "projected_assists": 0,
            "assist_probability": 0.0159,
            "fifa_overall": 88.0
          },
          "latest_10_games": [
            {
              "match_id": 16363261.0,
              "match_date": "2026-09-04",
              "home_team": "Ipswich Town",
              "away_team": "Liverpool FC",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Liverpool FC",
              "opponent": "Ipswich Town",
              "stats": {
                "minutes": 90,
                "rating": 8.0,
                "assists": 0,
                "expected_assists": 0.0234,
                "total_shots": 0,
                "total_pass": 93,
                "accurate_pass": 85,
                "tackles": 3,
                "tackles_won": 3,
                "interceptions": 1,
                "clearances": 3,
                "aerial_won": 2,
                "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": 16363254.0,
              "match_date": "2026-08-29",
              "home_team": "Liverpool FC",
              "away_team": "Nottingham Forest",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Liverpool FC",
              "opponent": "Nottingham Forest",
              "stats": {
                "minutes": 90,
                "rating": 7.2,
                "assists": 0,
                "expected_assists": 0.032,
                "total_shots": 0,
                "total_pass": 114,
                "accurate_pass": 102,
                "interceptions": 1,
                "clearances": 6,
                "aerial_won": 5,
                "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": 16363246.0,
              "match_date": "2026-08-23",
              "home_team": "Newcastle United",
              "away_team": "Liverpool FC",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Liverpool FC",
              "opponent": "Newcastle United",
              "stats": {
                "minutes": 90,
                "rating": 6.7,
                "assists": 0,
                "expected_goals": 0.2493,
                "expected_assists": 0.013,
                "total_shots": 2,
                "shots_on_target": 1,
                "total_pass": 58,
                "accurate_pass": 50,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 9,
                "aerial_won": 3,
                "duels_won": 5,
                "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"
            }
          ],
          "ranking": {
            "global_player_rank": 35,
            "combined_rank_score": 47.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 52.0,
            "sofascore_rating": 7.7,
            "sofascore_appearances": 8.0,
            "fifa_rank": 43.0,
            "fifa_overall": 88.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 18,
            "squad_role": "starter",
            "projected_match_rating": 7.2093,
            "source_file": "data/player_rankings.csv",
            "player_name": "Virgil van Dijk",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Marko Arnautović",
                  "ranking": 30
                },
                {
                  "player_name": "Mikel Oyarzabal",
                  "ranking": 31
                },
                {
                  "player_name": "Vitinha",
                  "ranking": 32
                },
                {
                  "player_name": "Fermín López",
                  "ranking": 33
                },
                {
                  "player_name": "Bianneider Tamayo",
                  "ranking": 34
                }
              ],
              "lower": [
                {
                  "player_name": "Remo Freuler",
                  "ranking": 36
                },
                {
                  "player_name": "Pablo Cunat Campos",
                  "ranking": 37
                },
                {
                  "player_name": "Pablo Cuñat",
                  "ranking": 38
                },
                {
                  "player_name": "Mike Maignan",
                  "ranking": 39
                },
                {
                  "player_name": "Martin Ødegaard",
                  "ranking": 40
                }
              ]
            }
          },
          "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.0254,
            "fbref_prior_metrics": {
              "squad": "Liverpool",
              "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": 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, Liverpool, 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": 3,
                "aerial_won": 2,
                "rating": 7.0308,
                "minutes": 90,
                "total_pass": 88,
                "accurate_pass": 79,
                "duels_won": 5,
                "total_long_balls": 13,
                "accurate_long_balls": 7,
                "total_own_half_passes": 42,
                "accurate_own_half_passes": 41,
                "total_opp_half_passes": 46,
                "accurate_opp_half_passes": 38,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 99,
                "possession_lost": 9.67,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 5,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.25,
                "expected_assists": 0.02,
                "total_shots": 1,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.17,
                "ball_carries": 24,
                "total_progression": 124,
                "progressive_carries": 1,
                "key_pass": 0
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0254, quality 0.585)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 2,
                "rating": 7.2093,
                "minutes": 92,
                "total_pass": 91,
                "accurate_pass": 81,
                "duels_won": 5,
                "total_long_balls": 13,
                "accurate_long_balls": 7,
                "total_own_half_passes": 43,
                "accurate_own_half_passes": 42,
                "total_opp_half_passes": 47,
                "accurate_opp_half_passes": 39,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 102,
                "possession_lost": 9.9154,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 5,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.2563,
                "expected_assists": 0.0205,
                "total_shots": 1,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.1743,
                "ball_carries": 25,
                "total_progression": 127,
                "progressive_carries": 1,
                "key_pass": 0
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0542)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 2,
                "rating": 7.2093,
                "minutes": 92,
                "total_pass": 91,
                "accurate_pass": 81,
                "duels_won": 5,
                "total_long_balls": 13,
                "accurate_long_balls": 7,
                "total_own_half_passes": 43,
                "accurate_own_half_passes": 42,
                "total_opp_half_passes": 47,
                "accurate_opp_half_passes": 39,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 102,
                "possession_lost": 9.9154,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 5,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.2563,
                "expected_assists": 0.0205,
                "total_shots": 1,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.1743,
                "ball_carries": 25,
                "total_progression": 127,
                "progressive_carries": 1,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.5,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 50.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0
              }
            },
            {
              "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": 2,
                "rating": 7.2093,
                "minutes": 92,
                "total_pass": 91,
                "accurate_pass": 81,
                "duels_won": 5,
                "total_long_balls": 13,
                "accurate_long_balls": 7,
                "total_own_half_passes": 43,
                "accurate_own_half_passes": 42,
                "total_opp_half_passes": 47,
                "accurate_opp_half_passes": 39,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 102,
                "possession_lost": 9.9154,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 5,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.2563,
                "expected_assists": 0.0205,
                "total_shots": 1,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.1743,
                "ball_carries": 25,
                "total_progression": 127,
                "progressive_carries": 1,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.5,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 50.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.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": 2,
                "rating": 7.2093,
                "minutes": 92,
                "total_pass": 91,
                "accurate_pass": 81,
                "duels_won": 5,
                "total_long_balls": 13,
                "accurate_long_balls": 7,
                "total_own_half_passes": 43,
                "accurate_own_half_passes": 42,
                "total_opp_half_passes": 47,
                "accurate_opp_half_passes": 39,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 102,
                "possession_lost": 9.9154,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 5,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.2563,
                "expected_assists": 0.0205,
                "total_shots": 1,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.1743,
                "ball_carries": 25,
                "total_progression": 127,
                "progressive_carries": 1,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.5,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 50.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 1.2,
                "interceptions_in_zone": 0.9,
                "clearances_in_zone": 0.8,
                "aerial_duels_won": 0.7,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Gonzalo García",
                "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 2.67 (squad xG sum 1.4710, xG scale 1.8117)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 2,
                "rating": 7.2093,
                "minutes": 92,
                "total_pass": 91,
                "accurate_pass": 81,
                "duels_won": 5,
                "total_long_balls": 13,
                "accurate_long_balls": 7,
                "total_own_half_passes": 43,
                "accurate_own_half_passes": 42,
                "total_opp_half_passes": 47,
                "accurate_opp_half_passes": 39,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 102,
                "possession_lost": 9.9154,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 5,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.4643,
                "expected_assists": 0.0205,
                "total_shots": 1,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.1743,
                "ball_carries": 25,
                "total_progression": 127,
                "progressive_carries": 1,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.5,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 50.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 1.2,
                "interceptions_in_zone": 0.9,
                "clearances_in_zone": 0.8,
                "aerial_duels_won": 0.7,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Gonzalo García",
                "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 18, fifa_overall 88.0)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 2,
                "rating": 7.2093,
                "minutes": 92,
                "total_pass": 91,
                "accurate_pass": 81,
                "duels_won": 5,
                "total_long_balls": 13,
                "accurate_long_balls": 7,
                "total_own_half_passes": 43,
                "accurate_own_half_passes": 42,
                "total_opp_half_passes": 47,
                "accurate_opp_half_passes": 39,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 102,
                "possession_lost": 9.9154,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 5,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.4643,
                "expected_assists": 0.0205,
                "total_shots": 1,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.1743,
                "ball_carries": 25,
                "total_progression": 127,
                "progressive_carries": 1,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.5,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 50.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 1.2,
                "interceptions_in_zone": 0.9,
                "clearances_in_zone": 0.8,
                "aerial_duels_won": 0.7,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Gonzalo García",
                "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": 88.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 2 projected goals distributed by scorer weight",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 2,
                "rating": 7.2093,
                "minutes": 92,
                "total_pass": 91,
                "accurate_pass": 81,
                "duels_won": 5,
                "total_long_balls": 13,
                "accurate_long_balls": 7,
                "total_own_half_passes": 43,
                "accurate_own_half_passes": 42,
                "total_opp_half_passes": 47,
                "accurate_opp_half_passes": 39,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 102,
                "possession_lost": 9.9154,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 5,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.4643,
                "expected_assists": 0.0205,
                "total_shots": 1,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.1743,
                "ball_carries": 25,
                "total_progression": 127,
                "progressive_carries": 1,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.5,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 50.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 1.2,
                "interceptions_in_zone": 0.9,
                "clearances_in_zone": 0.8,
                "aerial_duels_won": 0.7,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Gonzalo García",
                "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.1199,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 88.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 2,
                "rating": 7.2093,
                "minutes": 92,
                "total_pass": 91,
                "accurate_pass": 81,
                "duels_won": 5,
                "total_long_balls": 13,
                "accurate_long_balls": 7,
                "total_own_half_passes": 43,
                "accurate_own_half_passes": 42,
                "total_opp_half_passes": 47,
                "accurate_opp_half_passes": 39,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 102,
                "possession_lost": 9.9154,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 5,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.4643,
                "expected_assists": 0.0205,
                "total_shots": 1,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.1743,
                "ball_carries": 25,
                "total_progression": 127,
                "progressive_carries": 1,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.5,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 50.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 1.2,
                "interceptions_in_zone": 0.9,
                "clearances_in_zone": 0.8,
                "aerial_duels_won": 0.7,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Gonzalo García",
                "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.1199,
                "projected_assists": 0,
                "assist_probability": 0.0159,
                "fifa_overall": 88.0
              }
            }
          ]
        },
        "Jérémy Jacquet": {
          "player_id": 1445625,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 5,
          "height": 191,
          "market_value": 57000000,
          "stats": {
            "interceptions": 1,
            "tackles": 1,
            "tackles_won": 1,
            "clearances": 3,
            "aerial_won": 1,
            "rating": 7.595,
            "minutes": 87,
            "total_pass": 75,
            "accurate_pass": 70,
            "duels_won": 7,
            "total_long_balls": 5,
            "accurate_long_balls": 4,
            "total_own_half_passes": 32,
            "accurate_own_half_passes": 30,
            "total_opp_half_passes": 43,
            "accurate_opp_half_passes": 40,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 90,
            "possession_lost": 8.0894,
            "dispossessed": 1.1036,
            "duels_lost": 4,
            "aerial_lost": 2,
            "total_contest": 1,
            "won_contest": 1,
            "ball_recovery": 4,
            "challenges_lost": 1,
            "fouls": 2,
            "fouls_drawn": 1,
            "blocks": 1,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.0,
            "expected_assists": 0.0331,
            "total_shots": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0,
            "ball_carries": 24,
            "total_progression": 153,
            "progressive_carries": 2,
            "key_pass": 1,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "minutesPct": 80.6,
            "pointsPerMatch": 1.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.7,
            "defensive_success_rate": 0.82,
            "opponent_faced": "Gonzalo García",
            "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.0375,
            "projected_assists": 0,
            "assist_probability": 0.051,
            "fifa_overall": 77.0
          },
          "latest_10_games": [
            {
              "match_id": 16363261.0,
              "match_date": "2026-09-04",
              "home_team": "Ipswich Town",
              "away_team": "Liverpool FC",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Liverpool FC",
              "opponent": "Ipswich Town",
              "stats": {
                "minutes": 90,
                "rating": 7.8,
                "assists": 0,
                "expected_assists": 0.032,
                "total_shots": 0,
                "total_pass": 69,
                "accurate_pass": 67,
                "key_pass": 1,
                "tackles": 3,
                "tackles_won": 2,
                "interceptions": 1,
                "clearances": 4,
                "aerial_won": 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": 16363254.0,
              "match_date": "2026-08-29",
              "home_team": "Liverpool FC",
              "away_team": "Nottingham Forest",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Liverpool FC",
              "opponent": "Nottingham Forest",
              "stats": {
                "minutes": 77,
                "rating": 8.2,
                "assists": 0,
                "expected_assists": 0.0515,
                "total_shots": 0,
                "total_pass": 94,
                "accurate_pass": 85,
                "key_pass": 1,
                "tackles": 3,
                "tackles_won": 1,
                "interceptions": 3,
                "clearances": 4,
                "aerial_won": 3,
                "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": 16363246.0,
              "match_date": "2026-08-23",
              "home_team": "Newcastle United",
              "away_team": "Liverpool FC",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Liverpool FC",
              "opponent": "Newcastle United",
              "stats": {
                "minutes": 70,
                "rating": 6.7,
                "assists": 0,
                "expected_assists": 0.0165,
                "total_shots": 0,
                "total_pass": 42,
                "accurate_pass": 38,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 1,
                "aerial_won": 1,
                "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": 2031,
            "combined_rank_score": 777.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 108.0,
            "sofascore_rating": 7.45,
            "sofascore_appearances": 2.0,
            "fifa_rank": 1446.0,
            "fifa_overall": 77.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 9,
            "squad_role": "starter",
            "projected_match_rating": 7.595,
            "source_file": "data/player_rankings.csv",
            "player_name": "Jérémy Jacquet",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Adam Marušić",
                  "ranking": 2026
                },
                {
                  "player_name": "Min-sik Kim",
                  "ranking": 2027
                },
                {
                  "player_name": "Igor Nikić",
                  "ranking": 2028
                },
                {
                  "player_name": "Kim Jun-ho",
                  "ranking": 2029
                },
                {
                  "player_name": "Loïs Openda",
                  "ranking": 2030
                }
              ],
              "lower": [
                {
                  "player_name": "Weston McKennie",
                  "ranking": 2032
                },
                {
                  "player_name": "Gabri Veiga",
                  "ranking": 2033
                },
                {
                  "player_name": "Christian Theoharous",
                  "ranking": 2034
                },
                {
                  "player_name": "Lucas Velásquez",
                  "ranking": 2035
                },
                {
                  "player_name": "Alan Varela",
                  "ranking": 2036
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.454,
          "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.454,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.1036,
            "fbref_prior_metrics": {
              "squad": "Liverpool",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 2.0,
              "minutes": 145.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 0.0,
              "prior_reliability": 0.1067
            },
            "rationale": "XGBoost regressor (D_service) evaluated 3 historical appearances across 6 target models; FBref 2026-2027 prior blended (Premier League, Liverpool, rel: 0.11, 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.882,
                "minutes": 79,
                "total_pass": 68,
                "accurate_pass": 63,
                "duels_won": 6,
                "total_long_balls": 4,
                "accurate_long_balls": 3,
                "total_own_half_passes": 29,
                "accurate_own_half_passes": 27,
                "total_opp_half_passes": 39,
                "accurate_opp_half_passes": 36,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 82,
                "possession_lost": 7.33,
                "dispossessed": 1.0,
                "duels_lost": 4,
                "aerial_lost": 2,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 1,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.03,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 22,
                "total_progression": 138,
                "progressive_carries": 2,
                "key_pass": 1
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.1036, quality 0.845)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "rating": 7.595,
                "minutes": 87,
                "total_pass": 75,
                "accurate_pass": 70,
                "duels_won": 7,
                "total_long_balls": 5,
                "accurate_long_balls": 4,
                "total_own_half_passes": 32,
                "accurate_own_half_passes": 30,
                "total_opp_half_passes": 43,
                "accurate_opp_half_passes": 40,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 90,
                "possession_lost": 8.0894,
                "dispossessed": 1.1036,
                "duels_lost": 4,
                "aerial_lost": 2,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 4,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 1,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0331,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 24,
                "total_progression": 153,
                "progressive_carries": 2,
                "key_pass": 1
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0433)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "rating": 7.595,
                "minutes": 87,
                "total_pass": 75,
                "accurate_pass": 70,
                "duels_won": 7,
                "total_long_balls": 5,
                "accurate_long_balls": 4,
                "total_own_half_passes": 32,
                "accurate_own_half_passes": 30,
                "total_opp_half_passes": 43,
                "accurate_opp_half_passes": 40,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 90,
                "possession_lost": 8.0894,
                "dispossessed": 1.1036,
                "duels_lost": 4,
                "aerial_lost": 2,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 4,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 1,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0331,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 24,
                "total_progression": 153,
                "progressive_carries": 2,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 80.6,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": -1.24
              }
            },
            {
              "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.595,
                "minutes": 87,
                "total_pass": 75,
                "accurate_pass": 70,
                "duels_won": 7,
                "total_long_balls": 5,
                "accurate_long_balls": 4,
                "total_own_half_passes": 32,
                "accurate_own_half_passes": 30,
                "total_opp_half_passes": 43,
                "accurate_opp_half_passes": 40,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 90,
                "possession_lost": 8.0894,
                "dispossessed": 1.1036,
                "duels_lost": 4,
                "aerial_lost": 2,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 4,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 1,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0331,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 24,
                "total_progression": 153,
                "progressive_carries": 2,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 80.6,
                "pointsPerMatch": 1.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.595,
                "minutes": 87,
                "total_pass": 75,
                "accurate_pass": 70,
                "duels_won": 7,
                "total_long_balls": 5,
                "accurate_long_balls": 4,
                "total_own_half_passes": 32,
                "accurate_own_half_passes": 30,
                "total_opp_half_passes": 43,
                "accurate_opp_half_passes": 40,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 90,
                "possession_lost": 8.0894,
                "dispossessed": 1.1036,
                "duels_lost": 4,
                "aerial_lost": 2,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 4,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 1,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0331,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 24,
                "total_progression": 153,
                "progressive_carries": 2,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 80.6,
                "pointsPerMatch": 1.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.7,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Gonzalo García",
                "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 2.67 (squad xG sum 1.4710, xG scale 1.8117)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "rating": 7.595,
                "minutes": 87,
                "total_pass": 75,
                "accurate_pass": 70,
                "duels_won": 7,
                "total_long_balls": 5,
                "accurate_long_balls": 4,
                "total_own_half_passes": 32,
                "accurate_own_half_passes": 30,
                "total_opp_half_passes": 43,
                "accurate_opp_half_passes": 40,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 90,
                "possession_lost": 8.0894,
                "dispossessed": 1.1036,
                "duels_lost": 4,
                "aerial_lost": 2,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 4,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 1,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0331,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 24,
                "total_progression": 153,
                "progressive_carries": 2,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 80.6,
                "pointsPerMatch": 1.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.7,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Gonzalo García",
                "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 9, fifa_overall 77.0)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "rating": 7.595,
                "minutes": 87,
                "total_pass": 75,
                "accurate_pass": 70,
                "duels_won": 7,
                "total_long_balls": 5,
                "accurate_long_balls": 4,
                "total_own_half_passes": 32,
                "accurate_own_half_passes": 30,
                "total_opp_half_passes": 43,
                "accurate_opp_half_passes": 40,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 90,
                "possession_lost": 8.0894,
                "dispossessed": 1.1036,
                "duels_lost": 4,
                "aerial_lost": 2,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 4,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 1,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0331,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 24,
                "total_progression": 153,
                "progressive_carries": 2,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 80.6,
                "pointsPerMatch": 1.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.7,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Gonzalo García",
                "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: 2 projected goals distributed by scorer weight",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "rating": 7.595,
                "minutes": 87,
                "total_pass": 75,
                "accurate_pass": 70,
                "duels_won": 7,
                "total_long_balls": 5,
                "accurate_long_balls": 4,
                "total_own_half_passes": 32,
                "accurate_own_half_passes": 30,
                "total_opp_half_passes": 43,
                "accurate_opp_half_passes": 40,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 90,
                "possession_lost": 8.0894,
                "dispossessed": 1.1036,
                "duels_lost": 4,
                "aerial_lost": 2,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 4,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 1,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0331,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 24,
                "total_progression": 153,
                "progressive_carries": 2,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 80.6,
                "pointsPerMatch": 1.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.7,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Gonzalo García",
                "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.0375,
                "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": 1,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "rating": 7.595,
                "minutes": 87,
                "total_pass": 75,
                "accurate_pass": 70,
                "duels_won": 7,
                "total_long_balls": 5,
                "accurate_long_balls": 4,
                "total_own_half_passes": 32,
                "accurate_own_half_passes": 30,
                "total_opp_half_passes": 43,
                "accurate_opp_half_passes": 40,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 90,
                "possession_lost": 8.0894,
                "dispossessed": 1.1036,
                "duels_lost": 4,
                "aerial_lost": 2,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 4,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 1,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0331,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 24,
                "total_progression": 153,
                "progressive_carries": 2,
                "key_pass": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 80.6,
                "pointsPerMatch": 1.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.7,
                "defensive_success_rate": 0.82,
                "opponent_faced": "Gonzalo García",
                "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.0375,
                "projected_assists": 0,
                "assist_probability": 0.051,
                "fifa_overall": 77.0
              }
            }
          ]
        },
        "Ronald Araújo": {
          "player_id": 925097,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 33,
          "height": 191,
          "market_value": 22000000,
          "stats": {
            "interceptions": 1,
            "tackles": 1,
            "tackles_won": 1,
            "clearances": 4,
            "aerial_won": 1,
            "rating": 6.6755,
            "minutes": 43,
            "total_pass": 32,
            "accurate_pass": 28,
            "duels_won": 7,
            "total_long_balls": 4,
            "accurate_long_balls": 3,
            "total_own_half_passes": 13,
            "accurate_own_half_passes": 11,
            "total_opp_half_passes": 19,
            "accurate_opp_half_passes": 17,
            "crosses_total": 2,
            "crosses_accurate": 0,
            "touches": 44,
            "possession_lost": 6.9707,
            "dispossessed": 1.0451,
            "duels_lost": 2,
            "aerial_lost": 2,
            "total_contest": 2,
            "won_contest": 2,
            "ball_recovery": 1,
            "challenges_lost": 1,
            "fouls": 1,
            "fouls_drawn": 0,
            "blocks": 1,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.0,
            "expected_assists": 0.0209,
            "total_shots": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0,
            "ball_carries": 12,
            "total_progression": 56,
            "progressive_carries": 0,
            "key_pass": 0,
            "offsides": 0,
            "yellowCards": 2.5,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "minutesPct": 19.4,
            "pointsPerMatch": 1.0,
            "netGoalDifferencePer90": 5.14,
            "tackles_in_zone": 2.1,
            "tackles_won_in_zone": 2.0,
            "interceptions_in_zone": 1.0,
            "clearances_in_zone": 0.9,
            "aerial_duels_won": 0.9,
            "defensive_success_rate": 0.635,
            "opponent_faced": "César Palacios",
            "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.0352,
            "projected_assists": 0,
            "assist_probability": 0.0135,
            "fifa_overall": 80.0
          },
          "latest_10_games": [
            {
              "match_id": 16363261.0,
              "match_date": "2026-09-04",
              "home_team": "Ipswich Town",
              "away_team": "Liverpool FC",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Liverpool FC",
              "opponent": "Ipswich Town",
              "stats": {
                "minutes": 90,
                "rating": 7.4,
                "assists": 0,
                "expected_assists": 0.006,
                "total_shots": 0,
                "total_pass": 37,
                "accurate_pass": 31,
                "tackles": 1,
                "clearances": 9,
                "aerial_won": 6,
                "duels_won": 9,
                "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": 16363254.0,
              "match_date": "2026-08-29",
              "home_team": "Liverpool FC",
              "away_team": "Nottingham Forest",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Liverpool FC",
              "opponent": "Nottingham Forest",
              "stats": {
                "minutes": 13,
                "rating": 7.0,
                "assists": 0,
                "expected_assists": 0.0128,
                "total_shots": 0,
                "total_pass": 25,
                "accurate_pass": 24,
                "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": 16363246.0,
              "match_date": "2026-08-23",
              "home_team": "Newcastle United",
              "away_team": "Liverpool FC",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Liverpool FC",
              "opponent": "Newcastle United",
              "stats": {
                "minutes": 20,
                "rating": 7.3,
                "assists": 0,
                "expected_assists": 0.0347,
                "total_shots": 0,
                "total_pass": 29,
                "accurate_pass": 26,
                "tackles": 1,
                "clearances": 2,
                "aerial_won": 3,
                "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"
            }
          ],
          "ranking": {
            "global_player_rank": 1007,
            "combined_rank_score": 445.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 129.0,
            "sofascore_rating": 7.375,
            "sofascore_appearances": 4.0,
            "fifa_rank": 762.0,
            "fifa_overall": 80.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 16,
            "squad_role": "starter",
            "projected_match_rating": 6.6755,
            "source_file": "data/player_rankings.csv",
            "player_name": "Ronald Araújo",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Dennis Hadžikadunić",
                  "ranking": 1002
                },
                {
                  "player_name": "Nodar Lominadze",
                  "ranking": 1003
                },
                {
                  "player_name": "Benjamin Moreno",
                  "ranking": 1004
                },
                {
                  "player_name": "Uk-hyeon Hong",
                  "ranking": 1005
                },
                {
                  "player_name": "Uğurcan Çakır",
                  "ranking": 1006
                }
              ],
              "lower": [
                {
                  "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
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.442,
          "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.442,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.0451,
            "fbref_prior_metrics": {
              "squad": "Liverpool",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 0.0,
              "minutes": 35.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 0.0,
              "prior_reliability": 0.0267
            },
            "rationale": "XGBoost regressor (D_service) evaluated 3 historical appearances across 6 target models; FBref 2026-2027 prior blended (Premier League, Liverpool, rel: 0.03, 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.3876,
                "minutes": 41,
                "total_pass": 30,
                "accurate_pass": 27,
                "duels_won": 6,
                "total_long_balls": 4,
                "accurate_long_balls": 2,
                "total_own_half_passes": 12,
                "accurate_own_half_passes": 11,
                "total_opp_half_passes": 18,
                "accurate_opp_half_passes": 16,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 42,
                "possession_lost": 6.67,
                "dispossessed": 1.0,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 2,
                "won_contest": 2,
                "ball_recovery": 1,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 0,
                "blocks": 1,
                "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": 54,
                "progressive_carries": 0,
                "key_pass": 0
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0451, quality 0.650)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "rating": 6.6755,
                "minutes": 43,
                "total_pass": 32,
                "accurate_pass": 28,
                "duels_won": 7,
                "total_long_balls": 4,
                "accurate_long_balls": 3,
                "total_own_half_passes": 13,
                "accurate_own_half_passes": 11,
                "total_opp_half_passes": 19,
                "accurate_opp_half_passes": 17,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 44,
                "possession_lost": 6.9707,
                "dispossessed": 1.0451,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 2,
                "won_contest": 2,
                "ball_recovery": 1,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 0,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0209,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 12,
                "total_progression": 56,
                "progressive_carries": 0,
                "key_pass": 0
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0108)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "rating": 6.6755,
                "minutes": 43,
                "total_pass": 32,
                "accurate_pass": 28,
                "duels_won": 7,
                "total_long_balls": 4,
                "accurate_long_balls": 3,
                "total_own_half_passes": 13,
                "accurate_own_half_passes": 11,
                "total_opp_half_passes": 19,
                "accurate_opp_half_passes": 17,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 44,
                "possession_lost": 6.9707,
                "dispossessed": 1.0451,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 2,
                "won_contest": 2,
                "ball_recovery": 1,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 0,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0209,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 12,
                "total_progression": 56,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 2.5,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 19.4,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 5.14
              }
            },
            {
              "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": 1,
                "rating": 6.6755,
                "minutes": 43,
                "total_pass": 32,
                "accurate_pass": 28,
                "duels_won": 7,
                "total_long_balls": 4,
                "accurate_long_balls": 3,
                "total_own_half_passes": 13,
                "accurate_own_half_passes": 11,
                "total_opp_half_passes": 19,
                "accurate_opp_half_passes": 17,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 44,
                "possession_lost": 6.9707,
                "dispossessed": 1.0451,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 2,
                "won_contest": 2,
                "ball_recovery": 1,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 0,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0209,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 12,
                "total_progression": 56,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 2.5,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 19.4,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 5.14
              }
            },
            {
              "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": 1,
                "rating": 6.6755,
                "minutes": 43,
                "total_pass": 32,
                "accurate_pass": 28,
                "duels_won": 7,
                "total_long_balls": 4,
                "accurate_long_balls": 3,
                "total_own_half_passes": 13,
                "accurate_own_half_passes": 11,
                "total_opp_half_passes": 19,
                "accurate_opp_half_passes": 17,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 44,
                "possession_lost": 6.9707,
                "dispossessed": 1.0451,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 2,
                "won_contest": 2,
                "ball_recovery": 1,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 0,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0209,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 12,
                "total_progression": 56,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 2.5,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 19.4,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 5.14,
                "tackles_in_zone": 2.1,
                "tackles_won_in_zone": 2.0,
                "interceptions_in_zone": 1.0,
                "clearances_in_zone": 0.9,
                "aerial_duels_won": 0.9,
                "defensive_success_rate": 0.635,
                "opponent_faced": "César Palacios",
                "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 2.67 (squad xG sum 1.4710, xG scale 1.8117)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "rating": 6.6755,
                "minutes": 43,
                "total_pass": 32,
                "accurate_pass": 28,
                "duels_won": 7,
                "total_long_balls": 4,
                "accurate_long_balls": 3,
                "total_own_half_passes": 13,
                "accurate_own_half_passes": 11,
                "total_opp_half_passes": 19,
                "accurate_opp_half_passes": 17,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 44,
                "possession_lost": 6.9707,
                "dispossessed": 1.0451,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 2,
                "won_contest": 2,
                "ball_recovery": 1,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 0,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0209,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 12,
                "total_progression": 56,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 2.5,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 19.4,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 5.14,
                "tackles_in_zone": 2.1,
                "tackles_won_in_zone": 2.0,
                "interceptions_in_zone": 1.0,
                "clearances_in_zone": 0.9,
                "aerial_duels_won": 0.9,
                "defensive_success_rate": 0.635,
                "opponent_faced": "César Palacios",
                "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 16, fifa_overall 80.0)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "rating": 6.6755,
                "minutes": 43,
                "total_pass": 32,
                "accurate_pass": 28,
                "duels_won": 7,
                "total_long_balls": 4,
                "accurate_long_balls": 3,
                "total_own_half_passes": 13,
                "accurate_own_half_passes": 11,
                "total_opp_half_passes": 19,
                "accurate_opp_half_passes": 17,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 44,
                "possession_lost": 6.9707,
                "dispossessed": 1.0451,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 2,
                "won_contest": 2,
                "ball_recovery": 1,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 0,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0209,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 12,
                "total_progression": 56,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 2.5,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 19.4,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 5.14,
                "tackles_in_zone": 2.1,
                "tackles_won_in_zone": 2.0,
                "interceptions_in_zone": 1.0,
                "clearances_in_zone": 0.9,
                "aerial_duels_won": 0.9,
                "defensive_success_rate": 0.635,
                "opponent_faced": "César Palacios",
                "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": 80.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 2 projected goals distributed by scorer weight",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "rating": 6.6755,
                "minutes": 43,
                "total_pass": 32,
                "accurate_pass": 28,
                "duels_won": 7,
                "total_long_balls": 4,
                "accurate_long_balls": 3,
                "total_own_half_passes": 13,
                "accurate_own_half_passes": 11,
                "total_opp_half_passes": 19,
                "accurate_opp_half_passes": 17,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 44,
                "possession_lost": 6.9707,
                "dispossessed": 1.0451,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 2,
                "won_contest": 2,
                "ball_recovery": 1,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 0,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0209,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 12,
                "total_progression": 56,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 2.5,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 19.4,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 5.14,
                "tackles_in_zone": 2.1,
                "tackles_won_in_zone": 2.0,
                "interceptions_in_zone": 1.0,
                "clearances_in_zone": 0.9,
                "aerial_duels_won": 0.9,
                "defensive_success_rate": 0.635,
                "opponent_faced": "César Palacios",
                "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.0352,
                "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": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "rating": 6.6755,
                "minutes": 43,
                "total_pass": 32,
                "accurate_pass": 28,
                "duels_won": 7,
                "total_long_balls": 4,
                "accurate_long_balls": 3,
                "total_own_half_passes": 13,
                "accurate_own_half_passes": 11,
                "total_opp_half_passes": 19,
                "accurate_opp_half_passes": 17,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 44,
                "possession_lost": 6.9707,
                "dispossessed": 1.0451,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 2,
                "won_contest": 2,
                "ball_recovery": 1,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 0,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0209,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 12,
                "total_progression": 56,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 2.5,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 19.4,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 5.14,
                "tackles_in_zone": 2.1,
                "tackles_won_in_zone": 2.0,
                "interceptions_in_zone": 1.0,
                "clearances_in_zone": 0.9,
                "aerial_duels_won": 0.9,
                "defensive_success_rate": 0.635,
                "opponent_faced": "César Palacios",
                "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.0352,
                "projected_assists": 0,
                "assist_probability": 0.0135,
                "fifa_overall": 80.0
              }
            }
          ]
        },
        "Alisson": {
          "player_id": 243609,
          "position": "G",
          "position_depth": "G",
          "is_starter": true,
          "shirt_number": 1,
          "height": 193,
          "market_value": 16500000,
          "stats": {
            "saves": 3,
            "goals_prevented": 0.0,
            "rating": 7.2321,
            "minutes": 93,
            "total_pass": 28,
            "accurate_pass": 24,
            "total_long_balls": 9,
            "accurate_long_balls": 6,
            "touches": 40,
            "clearances": 2,
            "ball_recovery": 8,
            "high_claims": 0,
            "punches": 1.0286,
            "aerial_won": 0,
            "sweeper_actions": 1,
            "sweeper_accurate": 1,
            "saves_inside_box": 1,
            "possession_lost": 7.2001,
            "duels_won": 0,
            "duels_lost": 1,
            "total_contest": 0,
            "won_contest": 0,
            "fouls": 1,
            "fouls_drawn": 0,
            "total_own_half_passes": 22,
            "accurate_own_half_passes": 21,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "total_shots": 0,
            "shots_on_target": 0,
            "goalsAgainst": 2.0,
            "shotsOnTargetAgainst": 4.0,
            "cleanSheets": 0.0,
            "interceptions": 0,
            "tackles_won": 0,
            "crosses_total": 0,
            "offsides": 0,
            "yellowCards": 0.5,
            "redCards": 0.0,
            "penaltySave": 0.0,
            "ownGoals": 0.0,
            "savePct": 50.0,
            "cleanSheetPct": 0.0,
            "minutesPct": 100.0,
            "pointsPerMatch": 1.0,
            "netGoalDifferencePer90": 0.0,
            "expected_saves": 1.4,
            "high_pressure_saves": 0.53,
            "shots_faced": 3.0,
            "opponent_faced": "Oscar Bobb, Gonzalo García",
            "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": 87.0
          },
          "latest_10_games": [
            {
              "match_id": 16363261.0,
              "match_date": "2026-09-04",
              "home_team": "Ipswich Town",
              "away_team": "Liverpool FC",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Liverpool FC",
              "opponent": "Ipswich Town",
              "stats": {
                "minutes": 90,
                "rating": 8.5,
                "assists": 0,
                "expected_assists": 0.0047,
                "total_shots": 0,
                "total_pass": 36,
                "accurate_pass": 27,
                "clearances": 2,
                "ball_recovery": 14,
                "saves": 5,
                "goals_prevented": 0.7629
              },
              "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": 16363254.0,
              "match_date": "2026-08-29",
              "home_team": "Liverpool FC",
              "away_team": "Nottingham Forest",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Liverpool FC",
              "opponent": "Nottingham Forest",
              "stats": {
                "minutes": 90,
                "rating": 6.1,
                "assists": 0,
                "expected_assists": 0.0017,
                "total_shots": 0,
                "total_pass": 28,
                "accurate_pass": 28,
                "clearances": 2,
                "ball_recovery": 4,
                "saves": 1,
                "goals_prevented": -0.7234
              },
              "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": 16363246.0,
              "match_date": "2026-08-23",
              "home_team": "Newcastle United",
              "away_team": "Liverpool FC",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Liverpool FC",
              "opponent": "Newcastle United",
              "stats": {
                "minutes": 90,
                "rating": 6.3,
                "assists": 0,
                "expected_assists": 0.0002,
                "total_shots": 0,
                "total_pass": 19,
                "accurate_pass": 15,
                "clearances": 2,
                "ball_recovery": 6,
                "saves": 3,
                "goals_prevented": -0.4432
              },
              "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": 138,
            "combined_rank_score": 125.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 199.0,
            "sofascore_rating": 7.2,
            "sofascore_appearances": 4.0,
            "fifa_rank": 51.0,
            "fifa_overall": 87.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 17,
            "squad_role": "starter",
            "projected_match_rating": 7.2321,
            "source_file": "data/player_rankings.csv",
            "player_name": "Alisson",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Lee Seung-Gyu",
                  "ranking": 133
                },
                {
                  "player_name": "Fabián Ruiz",
                  "ranking": 134
                },
                {
                  "player_name": "Dan Biton",
                  "ranking": 135
                },
                {
                  "player_name": "Ryan Fraser",
                  "ranking": 136
                },
                {
                  "player_name": "Fabrício Bruno",
                  "ranking": 137
                }
              ],
              "lower": [
                {
                  "player_name": "Tasos Bakasetas",
                  "ranking": 139
                },
                {
                  "player_name": "Sang-Min Koo",
                  "ranking": 140
                },
                {
                  "player_name": "Gianluigi Donnarumma",
                  "ranking": 141
                },
                {
                  "player_name": "Samuel Lino",
                  "ranking": 142
                },
                {
                  "player_name": "Joško Gvardiol",
                  "ranking": 143
                }
              ]
            }
          },
          "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.0286,
            "fbref_prior_metrics": {
              "squad": "Liverpool",
              "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, Liverpool, 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": 7.0311,
                "minutes": 90,
                "total_pass": 28,
                "accurate_pass": 23,
                "total_long_balls": 8,
                "accurate_long_balls": 6,
                "touches": 39,
                "clearances": 2,
                "ball_recovery": 8,
                "high_claims": 0,
                "punches": 1.0,
                "aerial_won": 0,
                "sweeper_actions": 1,
                "sweeper_accurate": 1,
                "saves_inside_box": 1,
                "possession_lost": 7.0,
                "duels_won": 0,
                "duels_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "total_own_half_passes": 21,
                "accurate_own_half_passes": 20
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0286, quality 0.595)",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0,
                "rating": 7.2321,
                "minutes": 93,
                "total_pass": 28,
                "accurate_pass": 24,
                "total_long_balls": 9,
                "accurate_long_balls": 6,
                "touches": 40,
                "clearances": 2,
                "ball_recovery": 8,
                "high_claims": 0,
                "punches": 1.0286,
                "aerial_won": 0,
                "sweeper_actions": 1,
                "sweeper_accurate": 1,
                "saves_inside_box": 1,
                "possession_lost": 7.2001,
                "duels_won": 0,
                "duels_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "total_own_half_passes": 22,
                "accurate_own_half_passes": 21
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0542)",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0,
                "rating": 7.2321,
                "minutes": 93,
                "total_pass": 28,
                "accurate_pass": 24,
                "total_long_balls": 9,
                "accurate_long_balls": 6,
                "touches": 40,
                "clearances": 2,
                "ball_recovery": 8,
                "high_claims": 0,
                "punches": 1.0286,
                "aerial_won": 0,
                "sweeper_actions": 1,
                "sweeper_accurate": 1,
                "saves_inside_box": 1,
                "possession_lost": 7.2001,
                "duels_won": 0,
                "duels_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "total_own_half_passes": 22,
                "accurate_own_half_passes": 21,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 2.0,
                "shotsOnTargetAgainst": 4.0,
                "cleanSheets": 0.0,
                "interceptions": 0,
                "tackles_won": 0,
                "crosses_total": 0,
                "offsides": 0,
                "yellowCards": 0.5,
                "redCards": 0.0,
                "penaltySave": 0.0,
                "ownGoals": 0.0,
                "savePct": 50.0,
                "cleanSheetPct": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0,
                "rating": 7.2321,
                "minutes": 93,
                "total_pass": 28,
                "accurate_pass": 24,
                "total_long_balls": 9,
                "accurate_long_balls": 6,
                "touches": 40,
                "clearances": 2,
                "ball_recovery": 8,
                "high_claims": 0,
                "punches": 1.0286,
                "aerial_won": 0,
                "sweeper_actions": 1,
                "sweeper_accurate": 1,
                "saves_inside_box": 1,
                "possession_lost": 7.2001,
                "duels_won": 0,
                "duels_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "total_own_half_passes": 22,
                "accurate_own_half_passes": 21,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 2.0,
                "shotsOnTargetAgainst": 4.0,
                "cleanSheets": 0.0,
                "interceptions": 0,
                "tackles_won": 0,
                "crosses_total": 0,
                "offsides": 0,
                "yellowCards": 0.5,
                "redCards": 0.0,
                "penaltySave": 0.0,
                "ownGoals": 0.0,
                "savePct": 50.0,
                "cleanSheetPct": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.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.0,
                "rating": 7.2321,
                "minutes": 93,
                "total_pass": 28,
                "accurate_pass": 24,
                "total_long_balls": 9,
                "accurate_long_balls": 6,
                "touches": 40,
                "clearances": 2,
                "ball_recovery": 8,
                "high_claims": 0,
                "punches": 1.0286,
                "aerial_won": 0,
                "sweeper_actions": 1,
                "sweeper_accurate": 1,
                "saves_inside_box": 1,
                "possession_lost": 7.2001,
                "duels_won": 0,
                "duels_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "total_own_half_passes": 22,
                "accurate_own_half_passes": 21,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 2.0,
                "shotsOnTargetAgainst": 4.0,
                "cleanSheets": 0.0,
                "interceptions": 0,
                "tackles_won": 0,
                "crosses_total": 0,
                "offsides": 0,
                "yellowCards": 0.5,
                "redCards": 0.0,
                "penaltySave": 0.0,
                "ownGoals": 0.0,
                "savePct": 50.0,
                "cleanSheetPct": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "expected_saves": 1.4,
                "high_pressure_saves": 0.53,
                "shots_faced": 3.0,
                "opponent_faced": "Oscar Bobb, Gonzalo García",
                "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 2.67 (squad xG sum 1.4710, xG scale 1.8117)",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0,
                "rating": 7.2321,
                "minutes": 93,
                "total_pass": 28,
                "accurate_pass": 24,
                "total_long_balls": 9,
                "accurate_long_balls": 6,
                "touches": 40,
                "clearances": 2,
                "ball_recovery": 8,
                "high_claims": 0,
                "punches": 1.0286,
                "aerial_won": 0,
                "sweeper_actions": 1,
                "sweeper_accurate": 1,
                "saves_inside_box": 1,
                "possession_lost": 7.2001,
                "duels_won": 0,
                "duels_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "total_own_half_passes": 22,
                "accurate_own_half_passes": 21,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 2.0,
                "shotsOnTargetAgainst": 4.0,
                "cleanSheets": 0.0,
                "interceptions": 0,
                "tackles_won": 0,
                "crosses_total": 0,
                "offsides": 0,
                "yellowCards": 0.5,
                "redCards": 0.0,
                "penaltySave": 0.0,
                "ownGoals": 0.0,
                "savePct": 50.0,
                "cleanSheetPct": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "expected_saves": 1.4,
                "high_pressure_saves": 0.53,
                "shots_faced": 3.0,
                "opponent_faced": "Oscar Bobb, Gonzalo García",
                "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 87.0)",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0,
                "rating": 7.2321,
                "minutes": 93,
                "total_pass": 28,
                "accurate_pass": 24,
                "total_long_balls": 9,
                "accurate_long_balls": 6,
                "touches": 40,
                "clearances": 2,
                "ball_recovery": 8,
                "high_claims": 0,
                "punches": 1.0286,
                "aerial_won": 0,
                "sweeper_actions": 1,
                "sweeper_accurate": 1,
                "saves_inside_box": 1,
                "possession_lost": 7.2001,
                "duels_won": 0,
                "duels_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "total_own_half_passes": 22,
                "accurate_own_half_passes": 21,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 2.0,
                "shotsOnTargetAgainst": 4.0,
                "cleanSheets": 0.0,
                "interceptions": 0,
                "tackles_won": 0,
                "crosses_total": 0,
                "offsides": 0,
                "yellowCards": 0.5,
                "redCards": 0.0,
                "penaltySave": 0.0,
                "ownGoals": 0.0,
                "savePct": 50.0,
                "cleanSheetPct": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "expected_saves": 1.4,
                "high_pressure_saves": 0.53,
                "shots_faced": 3.0,
                "opponent_faced": "Oscar Bobb, Gonzalo García",
                "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": 87.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 2 projected goals distributed by scorer weight",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0,
                "rating": 7.2321,
                "minutes": 93,
                "total_pass": 28,
                "accurate_pass": 24,
                "total_long_balls": 9,
                "accurate_long_balls": 6,
                "touches": 40,
                "clearances": 2,
                "ball_recovery": 8,
                "high_claims": 0,
                "punches": 1.0286,
                "aerial_won": 0,
                "sweeper_actions": 1,
                "sweeper_accurate": 1,
                "saves_inside_box": 1,
                "possession_lost": 7.2001,
                "duels_won": 0,
                "duels_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "total_own_half_passes": 22,
                "accurate_own_half_passes": 21,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 2.0,
                "shotsOnTargetAgainst": 4.0,
                "cleanSheets": 0.0,
                "interceptions": 0,
                "tackles_won": 0,
                "crosses_total": 0,
                "offsides": 0,
                "yellowCards": 0.5,
                "redCards": 0.0,
                "penaltySave": 0.0,
                "ownGoals": 0.0,
                "savePct": 50.0,
                "cleanSheetPct": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "expected_saves": 1.4,
                "high_pressure_saves": 0.53,
                "shots_faced": 3.0,
                "opponent_faced": "Oscar Bobb, Gonzalo García",
                "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": 87.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0,
                "rating": 7.2321,
                "minutes": 93,
                "total_pass": 28,
                "accurate_pass": 24,
                "total_long_balls": 9,
                "accurate_long_balls": 6,
                "touches": 40,
                "clearances": 2,
                "ball_recovery": 8,
                "high_claims": 0,
                "punches": 1.0286,
                "aerial_won": 0,
                "sweeper_actions": 1,
                "sweeper_accurate": 1,
                "saves_inside_box": 1,
                "possession_lost": 7.2001,
                "duels_won": 0,
                "duels_lost": 1,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "total_own_half_passes": 22,
                "accurate_own_half_passes": 21,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 2.0,
                "shotsOnTargetAgainst": 4.0,
                "cleanSheets": 0.0,
                "interceptions": 0,
                "tackles_won": 0,
                "crosses_total": 0,
                "offsides": 0,
                "yellowCards": 0.5,
                "redCards": 0.0,
                "penaltySave": 0.0,
                "ownGoals": 0.0,
                "savePct": 50.0,
                "cleanSheetPct": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.0,
                "netGoalDifferencePer90": 0.0,
                "expected_saves": 1.4,
                "high_pressure_saves": 0.53,
                "shots_faced": 3.0,
                "opponent_faced": "Oscar Bobb, Gonzalo García",
                "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": 87.0
              }
            }
          ]
        }
      },
      "bench_players": {
        "Giorgi Mamardashvili": {
          "player_id": 930997,
          "position": "G",
          "position_depth": "G_BENCH",
          "is_starter": false,
          "shirt_number": 25,
          "height": 200,
          "market_value": 29000000,
          "stats": {
            "saves": 0,
            "goals_prevented": 0.0407,
            "rating": 7.1,
            "minutes": 5,
            "total_pass": 2,
            "accurate_pass": 1,
            "total_long_balls": 1,
            "accurate_long_balls": 0,
            "touches": 2,
            "clearances": 0,
            "ball_recovery": 0,
            "high_claims": 0,
            "punches": 0.0304,
            "aerial_won": 0,
            "sweeper_actions": 0,
            "sweeper_accurate": 0,
            "saves_inside_box": 0,
            "possession_lost": 0.1763,
            "duels_won": 0,
            "duels_lost": 0,
            "total_contest": 0,
            "won_contest": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "total_own_half_passes": 2,
            "accurate_own_half_passes": 1,
            "bench_appearance_probability": 0.158,
            "bench_expected_minutes": 5.47,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 2,
            "projected_substitution_expected_count": 2.755,
            "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": 83.0
          },
          "latest_10_games": [],
          "ranking": {
            "global_player_rank": 1073,
            "combined_rank_score": 483.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 689.0,
            "sofascore_rating": 6.71,
            "sofascore_appearances": 10.0,
            "fifa_rank": 277.0,
            "fifa_overall": 83.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 14,
            "squad_role": "substitute",
            "projected_match_rating": 7.1,
            "source_file": "data/player_rankings.csv",
            "player_name": "Giorgi Mamardashvili",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Noni Madueke",
                  "ranking": 1068
                },
                {
                  "player_name": "Álvaro Madrid",
                  "ranking": 1069
                },
                {
                  "player_name": "Marius Marin",
                  "ranking": 1070
                },
                {
                  "player_name": "Cha Jun-young",
                  "ranking": 1071
                },
                {
                  "player_name": "Kevin Schade",
                  "ranking": 1072
                }
              ],
              "lower": [
                {
                  "player_name": "Gonçalo Inácio",
                  "ranking": 1074
                },
                {
                  "player_name": "Dominic Solanke",
                  "ranking": 1075
                },
                {
                  "player_name": "Kim Se-hoon",
                  "ranking": 1076
                },
                {
                  "player_name": "Dodi Lukebakio",
                  "ranking": 1077
                },
                {
                  "player_name": "Davinson Sánchez",
                  "ranking": 1078
                }
              ]
            }
          },
          "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": 5.471593798579361,
            "bench_appearance_prob": 0.15779971811724366,
            "market_value_adjustment": 0.71,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection from market-value prior (€29,000,000) scaled to 5.5 expected mins."
          },
          "stat_evolution": [
            {
              "step": "market_value_prior",
              "description": "Market-value baseline for position G (quality 0.71)",
              "stats": {
                "saves": 4,
                "goals_prevented": 0.67,
                "rating": 7.1,
                "minutes": 90,
                "total_pass": 31,
                "accurate_pass": 23,
                "total_long_balls": 11,
                "accurate_long_balls": 6,
                "touches": 36,
                "clearances": 1,
                "ball_recovery": 2,
                "high_claims": 1,
                "punches": 0.5,
                "aerial_won": 1,
                "sweeper_actions": 2,
                "sweeper_accurate": 1,
                "saves_inside_box": 2,
                "possession_lost": 2.9,
                "duels_won": 1,
                "duels_lost": 0,
                "total_contest": 1,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 25,
                "accurate_own_half_passes": 19
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 5.5 expected minutes (appearance prob 0.16)",
              "stats": {
                "saves": 0,
                "goals_prevented": 0.0407,
                "rating": 7.1,
                "minutes": 5,
                "total_pass": 2,
                "accurate_pass": 1,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "touches": 2,
                "clearances": 0,
                "ball_recovery": 0,
                "high_claims": 0,
                "punches": 0.0304,
                "aerial_won": 0,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 0,
                "possession_lost": 0.1763,
                "duels_won": 0,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 2,
                "accurate_own_half_passes": 1,
                "bench_appearance_probability": 0.158,
                "bench_expected_minutes": 5.47
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "saves": 0,
                "goals_prevented": 0.0407,
                "rating": 7.1,
                "minutes": 5,
                "total_pass": 2,
                "accurate_pass": 1,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "touches": 2,
                "clearances": 0,
                "ball_recovery": 0,
                "high_claims": 0,
                "punches": 0.0304,
                "aerial_won": 0,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 0,
                "possession_lost": 0.1763,
                "duels_won": 0,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 2,
                "accurate_own_half_passes": 1,
                "bench_appearance_probability": 0.158,
                "bench_expected_minutes": 5.47
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 14, fifa_overall 83.0)",
              "stats": {
                "saves": 0,
                "goals_prevented": 0.0407,
                "rating": 7.1,
                "minutes": 5,
                "total_pass": 2,
                "accurate_pass": 1,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "touches": 2,
                "clearances": 0,
                "ball_recovery": 0,
                "high_claims": 0,
                "punches": 0.0304,
                "aerial_won": 0,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 0,
                "possession_lost": 0.1763,
                "duels_won": 0,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 2,
                "accurate_own_half_passes": 1,
                "bench_appearance_probability": 0.158,
                "bench_expected_minutes": 5.47,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.755,
                "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": 83.0
              }
            }
          ]
        },
        "Jeremie Frimpong": {
          "player_id": 970361,
          "position": "D",
          "position_depth": "D_BENCH",
          "is_starter": false,
          "shirt_number": 30,
          "height": 171,
          "market_value": 36000000,
          "stats": {
            "interceptions": 0,
            "tackles": 0,
            "tackles_won": 0,
            "clearances": 0,
            "aerial_won": 0,
            "rating": 7.1581,
            "minutes": 15,
            "total_pass": 7,
            "accurate_pass": 7,
            "duels_won": 0,
            "total_long_balls": 1,
            "accurate_long_balls": 0,
            "total_own_half_passes": 3,
            "accurate_own_half_passes": 2,
            "total_opp_half_passes": 5,
            "accurate_opp_half_passes": 4,
            "crosses_total": 1,
            "crosses_accurate": 0,
            "touches": 12,
            "possession_lost": 2.4876,
            "dispossessed": 0.0,
            "duels_lost": 1,
            "aerial_lost": 0,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 1,
            "challenges_lost": 2,
            "fouls": 0,
            "fouls_drawn": 0,
            "blocks": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.0018,
            "expected_assists": 0.0107,
            "total_shots": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0,
            "ball_carries": 2,
            "total_progression": 12,
            "progressive_carries": 0,
            "key_pass": 0,
            "bench_appearance_probability": 0.356,
            "bench_expected_minutes": 14.84,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 2,
            "projected_substitution_expected_count": 2.755,
            "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": 81.0
          },
          "latest_10_games": [
            {
              "match_id": 16363254.0,
              "match_date": "2026-08-29",
              "home_team": "Liverpool FC",
              "away_team": "Nottingham Forest",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Liverpool FC",
              "opponent": "Nottingham Forest",
              "stats": {
                "minutes": 71,
                "rating": 6.2,
                "assists": 0,
                "expected_assists": 0.0243,
                "total_shots": 0,
                "total_pass": 41,
                "accurate_pass": 38,
                "key_pass": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 4,
                "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": 16363246.0,
              "match_date": "2026-08-23",
              "home_team": "Newcastle United",
              "away_team": "Liverpool FC",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Liverpool FC",
              "opponent": "Newcastle United",
              "stats": {
                "minutes": 90,
                "rating": 5.9,
                "assists": 0,
                "expected_goals": 0.0098,
                "expected_assists": 0.0905,
                "total_shots": 1,
                "total_pass": 43,
                "accurate_pass": 36,
                "key_pass": 3,
                "tackles": 1,
                "clearances": 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": 799,
            "combined_rank_score": 386.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 257.0,
            "sofascore_rating": 7.1,
            "sofascore_appearances": 2.0,
            "fifa_rank": 516.0,
            "fifa_overall": 81.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 10,
            "squad_role": "substitute",
            "projected_match_rating": 7.1581,
            "source_file": "data/player_rankings.csv",
            "player_name": "Jeremie Frimpong",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Christoph Baumgartner",
                  "ranking": 794
                },
                {
                  "player_name": "Matías Viña",
                  "ranking": 795
                },
                {
                  "player_name": "Valeri Gromyko",
                  "ranking": 796
                },
                {
                  "player_name": "Islomzhon Kobilov",
                  "ranking": 797
                },
                {
                  "player_name": "Khurshid Giyosov",
                  "ranking": 798
                }
              ],
              "lower": [
                {
                  "player_name": "Diego Oyarzún",
                  "ranking": 800
                },
                {
                  "player_name": "Leroy Sané",
                  "ranking": 801
                },
                {
                  "player_name": "Kang-in Lee",
                  "ranking": 802
                },
                {
                  "player_name": "Harvey Barnes",
                  "ranking": 803
                },
                {
                  "player_name": "Nicola Pérez",
                  "ranking": 804
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.375,
          "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.375,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "bench_expected_minutes": 14.84226978299407,
            "bench_appearance_prob": 0.3564668083179122,
            "market_value_adjustment": 1.0774,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection scaled from XGBoost D_service (2 historical appearances) to 14.8 expected mins (appearance prob 0.36)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 6 target models",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 1,
                "aerial_won": 1,
                "rating": 6.6436,
                "minutes": 80,
                "total_pass": 42,
                "accurate_pass": 37,
                "duels_won": 2,
                "total_long_balls": 4,
                "accurate_long_balls": 2,
                "total_own_half_passes": 15,
                "accurate_own_half_passes": 12,
                "total_opp_half_passes": 27,
                "accurate_opp_half_passes": 24,
                "crosses_total": 4,
                "crosses_accurate": 1,
                "touches": 65,
                "possession_lost": 14.0,
                "dispossessed": 0.0,
                "duels_lost": 4,
                "aerial_lost": 0,
                "total_contest": 2,
                "won_contest": 1,
                "ball_recovery": 3,
                "challenges_lost": 2,
                "fouls": 2,
                "fouls_drawn": 1,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.01,
                "expected_assists": 0.06,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 12,
                "total_progression": 68,
                "progressive_carries": 2,
                "key_pass": 2
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0774, quality 0.758)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 1,
                "aerial_won": 1,
                "rating": 7.1581,
                "minutes": 87,
                "total_pass": 45,
                "accurate_pass": 40,
                "duels_won": 3,
                "total_long_balls": 4,
                "accurate_long_balls": 2,
                "total_own_half_passes": 16,
                "accurate_own_half_passes": 13,
                "total_opp_half_passes": 29,
                "accurate_opp_half_passes": 26,
                "crosses_total": 5,
                "crosses_accurate": 1,
                "touches": 70,
                "possession_lost": 15.0842,
                "dispossessed": 0.0,
                "duels_lost": 4,
                "aerial_lost": 0,
                "total_contest": 2,
                "won_contest": 1,
                "ball_recovery": 3,
                "challenges_lost": 2,
                "fouls": 2,
                "fouls_drawn": 1,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0108,
                "expected_assists": 0.0646,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 13,
                "total_progression": 73,
                "progressive_carries": 2,
                "key_pass": 2
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 14.8 expected minutes (appearance prob 0.36)",
              "stats": {
                "interceptions": 0,
                "tackles": 0,
                "tackles_won": 0,
                "clearances": 0,
                "aerial_won": 0,
                "rating": 7.1581,
                "minutes": 15,
                "total_pass": 7,
                "accurate_pass": 7,
                "duels_won": 0,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 3,
                "accurate_own_half_passes": 2,
                "total_opp_half_passes": 5,
                "accurate_opp_half_passes": 4,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 12,
                "possession_lost": 2.4876,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 1,
                "challenges_lost": 2,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0018,
                "expected_assists": 0.0107,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 2,
                "total_progression": 12,
                "progressive_carries": 0,
                "key_pass": 0,
                "bench_appearance_probability": 0.356,
                "bench_expected_minutes": 14.84
              }
            },
            {
              "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.1581,
                "minutes": 15,
                "total_pass": 7,
                "accurate_pass": 7,
                "duels_won": 0,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 3,
                "accurate_own_half_passes": 2,
                "total_opp_half_passes": 5,
                "accurate_opp_half_passes": 4,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 12,
                "possession_lost": 2.4876,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 1,
                "challenges_lost": 2,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0018,
                "expected_assists": 0.0107,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 2,
                "total_progression": 12,
                "progressive_carries": 0,
                "key_pass": 0,
                "bench_appearance_probability": 0.356,
                "bench_expected_minutes": 14.84
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 10, fifa_overall 81.0)",
              "stats": {
                "interceptions": 0,
                "tackles": 0,
                "tackles_won": 0,
                "clearances": 0,
                "aerial_won": 0,
                "rating": 7.1581,
                "minutes": 15,
                "total_pass": 7,
                "accurate_pass": 7,
                "duels_won": 0,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 3,
                "accurate_own_half_passes": 2,
                "total_opp_half_passes": 5,
                "accurate_opp_half_passes": 4,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 12,
                "possession_lost": 2.4876,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 1,
                "challenges_lost": 2,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0018,
                "expected_assists": 0.0107,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 2,
                "total_progression": 12,
                "progressive_carries": 0,
                "key_pass": 0,
                "bench_appearance_probability": 0.356,
                "bench_expected_minutes": 14.84,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.755,
                "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": 81.0
              }
            }
          ]
        },
        "Giovanni Leoni": {
          "player_id": 1473137,
          "position": "D",
          "position_depth": "D_BENCH",
          "is_starter": false,
          "shirt_number": 15,
          "height": 196,
          "market_value": 27000000,
          "stats": {
            "interceptions": 0,
            "tackles": 0,
            "tackles_won": 0,
            "clearances": 1,
            "aerial_won": 0,
            "duels_won": 1,
            "total_pass": 8,
            "accurate_pass": 6,
            "expected_goals": 0.0036,
            "rating": 7.2,
            "minutes": 15,
            "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": 11,
            "possession_lost": 1.2157,
            "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.0107,
            "total_shots": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0028,
            "key_pass": 0,
            "ball_carries": 4,
            "total_progression": 12,
            "progressive_carries": 1,
            "bench_appearance_probability": 0.345,
            "bench_expected_minutes": 14.59,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 2,
            "projected_substitution_expected_count": 2.755,
            "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": 71.0
          },
          "latest_10_games": [],
          "ranking": {
            "global_player_rank": 4389,
            "combined_rank_score": 2404.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": null,
            "sofascore_rating": null,
            "sofascore_appearances": 0.0,
            "fifa_rank": 4736.0,
            "fifa_overall": 71.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 15,
            "squad_role": "substitute",
            "projected_match_rating": 7.2,
            "source_file": "data/player_rankings.csv",
            "player_name": "Giovanni Leoni",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Cala",
                  "ranking": 4384
                },
                {
                  "player_name": "Demarai Gray",
                  "ranking": 4385
                },
                {
                  "player_name": "Louis Munteanu",
                  "ranking": 4386
                },
                {
                  "player_name": "Calero",
                  "ranking": 4387
                },
                {
                  "player_name": "Luciano Gómez",
                  "ranking": 4388
                }
              ],
              "lower": [
                {
                  "player_name": "Alfon",
                  "ranking": 4390
                },
                {
                  "player_name": "Raúl García",
                  "ranking": 4391
                },
                {
                  "player_name": "Larrubia",
                  "ranking": 4392
                },
                {
                  "player_name": "Marc Guiu",
                  "ranking": 4393
                },
                {
                  "player_name": "Emanuel Coronel",
                  "ranking": 4394
                }
              ]
            }
          },
          "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": 14.588753327668249,
            "bench_appearance_prob": 0.3449433330758295,
            "market_value_adjustment": 0.6941,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection from market-value prior (€27,000,000) scaled to 14.6 expected mins."
          },
          "stat_evolution": [
            {
              "step": "market_value_prior",
              "description": "Market-value baseline for position D (quality 0.69)",
              "stats": {
                "interceptions": 2,
                "tackles": 3,
                "tackles_won": 2,
                "clearances": 3,
                "aerial_won": 3,
                "duels_won": 6,
                "total_pass": 50,
                "accurate_pass": 40,
                "expected_goals": 0.022,
                "rating": 7.2,
                "minutes": 90,
                "total_long_balls": 6,
                "accurate_long_balls": 4,
                "total_own_half_passes": 32,
                "accurate_own_half_passes": 26,
                "total_opp_half_passes": 12,
                "accurate_opp_half_passes": 9,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 66,
                "possession_lost": 7.5,
                "dispossessed": 0.5,
                "duels_lost": 4,
                "aerial_lost": 2,
                "total_contest": 5,
                "won_contest": 3,
                "ball_recovery": 6,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_assists": 0.066,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.017,
                "key_pass": 1,
                "ball_carries": 24,
                "total_progression": 72,
                "progressive_carries": 5
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 14.6 expected minutes (appearance prob 0.34)",
              "stats": {
                "interceptions": 0,
                "tackles": 0,
                "tackles_won": 0,
                "clearances": 1,
                "aerial_won": 0,
                "duels_won": 1,
                "total_pass": 8,
                "accurate_pass": 6,
                "expected_goals": 0.0036,
                "rating": 7.2,
                "minutes": 15,
                "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": 11,
                "possession_lost": 1.2157,
                "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.0107,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0028,
                "key_pass": 0,
                "ball_carries": 4,
                "total_progression": 12,
                "progressive_carries": 1,
                "bench_appearance_probability": 0.345,
                "bench_expected_minutes": 14.59
              }
            },
            {
              "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,
                "duels_won": 1,
                "total_pass": 8,
                "accurate_pass": 6,
                "expected_goals": 0.0036,
                "rating": 7.2,
                "minutes": 15,
                "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": 11,
                "possession_lost": 1.2157,
                "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.0107,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0028,
                "key_pass": 0,
                "ball_carries": 4,
                "total_progression": 12,
                "progressive_carries": 1,
                "bench_appearance_probability": 0.345,
                "bench_expected_minutes": 14.59
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 15, fifa_overall 71.0)",
              "stats": {
                "interceptions": 0,
                "tackles": 0,
                "tackles_won": 0,
                "clearances": 1,
                "aerial_won": 0,
                "duels_won": 1,
                "total_pass": 8,
                "accurate_pass": 6,
                "expected_goals": 0.0036,
                "rating": 7.2,
                "minutes": 15,
                "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": 11,
                "possession_lost": 1.2157,
                "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.0107,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0028,
                "key_pass": 0,
                "ball_carries": 4,
                "total_progression": 12,
                "progressive_carries": 1,
                "bench_appearance_probability": 0.345,
                "bench_expected_minutes": 14.59,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.755,
                "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": 71.0
              }
            }
          ]
        },
        "Ryan Gravenberch": {
          "player_id": 904897,
          "position": "M",
          "position_depth": "M_BENCH",
          "is_starter": false,
          "shirt_number": 38,
          "height": 190,
          "market_value": 87000000,
          "stats": {
            "key_pass": 0,
            "expected_assists": 0.0091,
            "assists": 0,
            "expected_goals": 0.008,
            "rating": 7.5704,
            "minutes": 24,
            "total_pass": 7,
            "accurate_pass": 6,
            "ball_recovery": 1,
            "duels_won": 1,
            "total_shots": 0,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_own_half_passes": 2,
            "accurate_own_half_passes": 2,
            "total_opp_half_passes": 5,
            "accurate_opp_half_passes": 5,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 9,
            "possession_lost": 1.5702,
            "dispossessed": 3.9066,
            "duels_lost": 1,
            "aerial_won": 0,
            "aerial_lost": 0,
            "interceptions": 1,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "total_contest": 0,
            "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": 2,
            "total_progression": 11,
            "progressive_carries": 0,
            "bench_appearance_probability": 0.58,
            "bench_expected_minutes": 23.75,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 2,
            "projected_substitution_expected_count": 2.755,
            "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": 85.0
          },
          "latest_10_games": [
            {
              "match_id": 16363261.0,
              "match_date": "2026-09-04",
              "home_team": "Ipswich Town",
              "away_team": "Liverpool FC",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Liverpool FC",
              "opponent": "Ipswich Town",
              "stats": {
                "minutes": 26,
                "rating": 6.6,
                "assists": 0,
                "expected_assists": 0.0016,
                "total_shots": 0,
                "total_pass": 13,
                "accurate_pass": 12,
                "clearances": 1,
                "aerial_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": 16363254.0,
              "match_date": "2026-08-29",
              "home_team": "Liverpool FC",
              "away_team": "Nottingham Forest",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Liverpool FC",
              "opponent": "Nottingham Forest",
              "stats": {
                "minutes": 19,
                "rating": 6.6,
                "assists": 0,
                "expected_assists": 0.0078,
                "total_shots": 0,
                "total_pass": 10,
                "accurate_pass": 10,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 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"
            },
            {
              "match_id": 16363246.0,
              "match_date": "2026-08-23",
              "home_team": "Newcastle United",
              "away_team": "Liverpool FC",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Liverpool FC",
              "opponent": "Newcastle United",
              "stats": {
                "minutes": 78,
                "rating": 6.9,
                "assists": 1,
                "expected_goals": 0.0628,
                "expected_assists": 0.0521,
                "total_shots": 2,
                "total_pass": 47,
                "accurate_pass": 43,
                "key_pass": 1,
                "tackles": 1,
                "interceptions": 2,
                "duels_won": 4,
                "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": 162,
            "combined_rank_score": 142.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 143.0,
            "sofascore_rating": 7.3333,
            "sofascore_appearances": 6.0,
            "fifa_rank": 142.0,
            "fifa_overall": 85.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 5,
            "squad_role": "substitute",
            "projected_match_rating": 7.5704,
            "source_file": "data/player_rankings.csv",
            "player_name": "Ryan Gravenberch",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Do-dam Kim",
                  "ranking": 157
                },
                {
                  "player_name": "Nuno Mendes",
                  "ranking": 158
                },
                {
                  "player_name": "Temurkhuja Abdukholikov",
                  "ranking": 159
                },
                {
                  "player_name": "Aymeric Laporte",
                  "ranking": 160
                },
                {
                  "player_name": "Daniel Castro",
                  "ranking": 161
                }
              ],
              "lower": [
                {
                  "player_name": "Jhon Arias",
                  "ranking": 163
                },
                {
                  "player_name": "Oleksiy Gutsulyak",
                  "ranking": 164
                },
                {
                  "player_name": "Igor Vujačić",
                  "ranking": 165
                },
                {
                  "player_name": "César Montes",
                  "ranking": 166
                },
                {
                  "player_name": "Reis",
                  "ranking": 167
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.438,
          "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.438,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "bench_expected_minutes": 23.753540296122118,
            "bench_appearance_prob": 0.5797063770964599,
            "market_value_adjustment": 1.1162,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection scaled from XGBoost M_service (3 historical appearances) to 23.8 expected mins (appearance prob 0.58)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 5 target models",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0309,
                "assists": 0,
                "expected_goals": 0.0271,
                "rating": 6.7824,
                "minutes": 41,
                "total_pass": 23,
                "accurate_pass": 22,
                "ball_recovery": 4,
                "duels_won": 2,
                "total_shots": 1,
                "total_long_balls": 2,
                "accurate_long_balls": 2,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 6,
                "total_opp_half_passes": 17,
                "accurate_opp_half_passes": 15,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 32,
                "possession_lost": 5.33,
                "dispossessed": 3.5,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 2,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 1,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 2,
                "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": 36,
                "progressive_carries": 1
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.1162, quality 0.887)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0345,
                "assists": 0,
                "expected_goals": 0.0303,
                "rating": 7.5704,
                "minutes": 46,
                "total_pass": 26,
                "accurate_pass": 24,
                "ball_recovery": 5,
                "duels_won": 3,
                "total_shots": 1,
                "total_long_balls": 2,
                "accurate_long_balls": 2,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 19,
                "accurate_opp_half_passes": 17,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 36,
                "possession_lost": 5.9492,
                "dispossessed": 3.9066,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 2,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 1,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 2,
                "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": 40,
                "progressive_carries": 1
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 23.8 expected minutes (appearance prob 0.58)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0091,
                "assists": 0,
                "expected_goals": 0.008,
                "rating": 7.5704,
                "minutes": 24,
                "total_pass": 7,
                "accurate_pass": 6,
                "ball_recovery": 1,
                "duels_won": 1,
                "total_shots": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 2,
                "accurate_own_half_passes": 2,
                "total_opp_half_passes": 5,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 9,
                "possession_lost": 1.5702,
                "dispossessed": 3.9066,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 1,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "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": 2,
                "total_progression": 11,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.58,
                "bench_expected_minutes": 23.75
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0091,
                "assists": 0,
                "expected_goals": 0.008,
                "rating": 7.5704,
                "minutes": 24,
                "total_pass": 7,
                "accurate_pass": 6,
                "ball_recovery": 1,
                "duels_won": 1,
                "total_shots": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 2,
                "accurate_own_half_passes": 2,
                "total_opp_half_passes": 5,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 9,
                "possession_lost": 1.5702,
                "dispossessed": 3.9066,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 1,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "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": 2,
                "total_progression": 11,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.58,
                "bench_expected_minutes": 23.75
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 5, fifa_overall 85.0)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0091,
                "assists": 0,
                "expected_goals": 0.008,
                "rating": 7.5704,
                "minutes": 24,
                "total_pass": 7,
                "accurate_pass": 6,
                "ball_recovery": 1,
                "duels_won": 1,
                "total_shots": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 2,
                "accurate_own_half_passes": 2,
                "total_opp_half_passes": 5,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 9,
                "possession_lost": 1.5702,
                "dispossessed": 3.9066,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 1,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "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": 2,
                "total_progression": 11,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.58,
                "bench_expected_minutes": 23.75,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.755,
                "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": 85.0
              }
            }
          ]
        },
        "Cody Gakpo": {
          "player_id": 862967,
          "position": "M",
          "position_depth": "M_BENCH",
          "is_starter": false,
          "shirt_number": 18,
          "height": 193,
          "market_value": 58000000,
          "stats": {
            "key_pass": 0,
            "expected_assists": 0.0343,
            "assists": 0,
            "expected_goals": 0.0347,
            "rating": 7.5348,
            "minutes": 24,
            "total_pass": 8,
            "accurate_pass": 7,
            "ball_recovery": 1,
            "duels_won": 2,
            "total_shots": 1,
            "total_long_balls": 1,
            "accurate_long_balls": 0,
            "total_own_half_passes": 1,
            "accurate_own_half_passes": 1,
            "total_opp_half_passes": 7,
            "accurate_opp_half_passes": 6,
            "crosses_total": 1,
            "crosses_accurate": 0,
            "touches": 15,
            "possession_lost": 3.8598,
            "dispossessed": 2.2087,
            "duels_lost": 2,
            "aerial_won": 0,
            "aerial_lost": 2,
            "interceptions": 0,
            "tackles_won": 1,
            "tackles": 1,
            "clearances": 0,
            "total_contest": 1,
            "won_contest": 1,
            "challenges_lost": 1,
            "fouls": 1,
            "fouls_drawn": 1,
            "goal_rate": 0.2896,
            "goals": 0,
            "shots_on_target": 0,
            "shots_off_target": 1,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.11,
            "ball_carries": 5,
            "total_progression": 19,
            "progressive_carries": 1,
            "bench_appearance_probability": 0.573,
            "bench_expected_minutes": 23.6,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 2,
            "projected_substitution_expected_count": 2.755,
            "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": 16363261.0,
              "match_date": "2026-09-04",
              "home_team": "Ipswich Town",
              "away_team": "Liverpool FC",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Liverpool FC",
              "opponent": "Ipswich Town",
              "stats": {
                "minutes": 90,
                "rating": 7.8,
                "assists": 2,
                "expected_goals": 0.0636,
                "expected_assists": 0.3981,
                "total_shots": 1,
                "total_pass": 37,
                "accurate_pass": 34,
                "key_pass": 3,
                "tackles": 3,
                "tackles_won": 3,
                "interceptions": 1,
                "clearances": 1,
                "duels_won": 8,
                "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": 16363254.0,
              "match_date": "2026-08-29",
              "home_team": "Liverpool FC",
              "away_team": "Nottingham Forest",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Liverpool FC",
              "opponent": "Nottingham Forest",
              "stats": {
                "minutes": 71,
                "rating": 7.3,
                "assists": 1,
                "expected_assists": 0.647,
                "total_shots": 0,
                "total_pass": 23,
                "accurate_pass": 20,
                "key_pass": 2,
                "interceptions": 1,
                "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"
            },
            {
              "match_id": 16363246.0,
              "match_date": "2026-08-23",
              "home_team": "Newcastle United",
              "away_team": "Liverpool FC",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Liverpool FC",
              "opponent": "Newcastle United",
              "stats": {
                "minutes": 90,
                "rating": 7.2,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.2989,
                "expected_assists": 0.1533,
                "total_shots": 6,
                "shots_on_target": 1,
                "shots_off_target": 2,
                "total_pass": 28,
                "accurate_pass": 20,
                "key_pass": 3,
                "tackles": 3,
                "tackles_won": 3,
                "interceptions": 3,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 7,
                "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": 292,
            "combined_rank_score": 202.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 26.0,
            "sofascore_rating": 8.0375,
            "sofascore_appearances": 8.0,
            "fifa_rank": 378.0,
            "fifa_overall": 82.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 8,
            "squad_role": "substitute",
            "projected_match_rating": 7.5348,
            "source_file": "data/player_rankings.csv",
            "player_name": "Cody Gakpo",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Josue Caicedo",
                  "ranking": 287
                },
                {
                  "player_name": "Jamalidin Hodjaniyazov",
                  "ranking": 288
                },
                {
                  "player_name": "Marko Stanojević",
                  "ranking": 289
                },
                {
                  "player_name": "Mihail Stefan",
                  "ranking": 290
                },
                {
                  "player_name": "Nicolò Barella",
                  "ranking": 291
                }
              ],
              "lower": [
                {
                  "player_name": "Nodirbek Abdurazzokov",
                  "ranking": 293
                },
                {
                  "player_name": "Gabriel Słonina",
                  "ranking": 294
                },
                {
                  "player_name": "Reece James",
                  "ranking": 295
                },
                {
                  "player_name": "Ifeanyi Ndukwe",
                  "ranking": 296
                },
                {
                  "player_name": "Christian Pulišić",
                  "ranking": 297
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.438,
          "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.438,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "bench_expected_minutes": 23.597471890209466,
            "bench_appearance_prob": 0.5726123586458848,
            "market_value_adjustment": 1.1044,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection scaled from XGBoost M_service (3 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.1184,
                "assists": 0,
                "expected_goals": 0.1198,
                "rating": 6.8228,
                "minutes": 84,
                "total_pass": 29,
                "accurate_pass": 25,
                "ball_recovery": 4,
                "duels_won": 5,
                "total_shots": 3,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 4,
                "accurate_own_half_passes": 4,
                "total_opp_half_passes": 25,
                "accurate_opp_half_passes": 21,
                "crosses_total": 4,
                "crosses_accurate": 1,
                "touches": 52,
                "possession_lost": 13.33,
                "dispossessed": 2.0,
                "duels_lost": 5,
                "aerial_won": 1,
                "aerial_lost": 2,
                "interceptions": 2,
                "tackles_won": 3,
                "tackles": 3,
                "clearances": 1,
                "total_contest": 2,
                "won_contest": 2,
                "challenges_lost": 1,
                "fouls": 4,
                "fouls_drawn": 2,
                "goal_rate": 1.0,
                "goals": 1,
                "shots_on_target": 1,
                "shots_off_target": 2,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.38,
                "ball_carries": 18,
                "total_progression": 67,
                "progressive_carries": 3
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.1044, quality 0.848)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.1308,
                "assists": 0,
                "expected_goals": 0.1323,
                "rating": 7.5348,
                "minutes": 92,
                "total_pass": 32,
                "accurate_pass": 27,
                "ball_recovery": 4,
                "duels_won": 6,
                "total_shots": 3,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 5,
                "accurate_own_half_passes": 4,
                "total_opp_half_passes": 28,
                "accurate_opp_half_passes": 23,
                "crosses_total": 4,
                "crosses_accurate": 1,
                "touches": 57,
                "possession_lost": 14.721,
                "dispossessed": 2.2087,
                "duels_lost": 6,
                "aerial_won": 1,
                "aerial_lost": 2,
                "interceptions": 2,
                "tackles_won": 3,
                "tackles": 3,
                "clearances": 1,
                "total_contest": 3,
                "won_contest": 2,
                "challenges_lost": 1,
                "fouls": 4,
                "fouls_drawn": 3,
                "goal_rate": 1.1044,
                "goals": 1,
                "shots_on_target": 1,
                "shots_off_target": 2,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.4197,
                "ball_carries": 20,
                "total_progression": 74,
                "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.0343,
                "assists": 0,
                "expected_goals": 0.0347,
                "rating": 7.5348,
                "minutes": 24,
                "total_pass": 8,
                "accurate_pass": 7,
                "ball_recovery": 1,
                "duels_won": 2,
                "total_shots": 1,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 6,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 15,
                "possession_lost": 3.8598,
                "dispossessed": 2.2087,
                "duels_lost": 2,
                "aerial_won": 0,
                "aerial_lost": 2,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 0,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.2896,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.11,
                "ball_carries": 5,
                "total_progression": 19,
                "progressive_carries": 1,
                "bench_appearance_probability": 0.573,
                "bench_expected_minutes": 23.6
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0343,
                "assists": 0,
                "expected_goals": 0.0347,
                "rating": 7.5348,
                "minutes": 24,
                "total_pass": 8,
                "accurate_pass": 7,
                "ball_recovery": 1,
                "duels_won": 2,
                "total_shots": 1,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 6,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 15,
                "possession_lost": 3.8598,
                "dispossessed": 2.2087,
                "duels_lost": 2,
                "aerial_won": 0,
                "aerial_lost": 2,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 0,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.2896,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.11,
                "ball_carries": 5,
                "total_progression": 19,
                "progressive_carries": 1,
                "bench_appearance_probability": 0.573,
                "bench_expected_minutes": 23.6
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 8, fifa_overall 82.0)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0343,
                "assists": 0,
                "expected_goals": 0.0347,
                "rating": 7.5348,
                "minutes": 24,
                "total_pass": 8,
                "accurate_pass": 7,
                "ball_recovery": 1,
                "duels_won": 2,
                "total_shots": 1,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 6,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 15,
                "possession_lost": 3.8598,
                "dispossessed": 2.2087,
                "duels_lost": 2,
                "aerial_won": 0,
                "aerial_lost": 2,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 0,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.2896,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.11,
                "ball_carries": 5,
                "total_progression": 19,
                "progressive_carries": 1,
                "bench_appearance_probability": 0.573,
                "bench_expected_minutes": 23.6,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.755,
                "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
              }
            }
          ]
        },
        "Hugo Ekitiké": {
          "player_id": 1048422,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 22,
          "height": 190,
          "market_value": 77000000,
          "stats": {
            "expected_goals": 0.2145,
            "goal_rate": 0.0751,
            "goals": 0,
            "total_shots": 1,
            "shots_on_target": 1,
            "expected_assists": 0.043,
            "duels_won": 2,
            "aerial_won": 1,
            "rating": 7.5,
            "minutes": 27,
            "total_pass": 11,
            "accurate_pass": 8,
            "total_long_balls": 1,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 6,
            "accurate_opp_half_passes": 5,
            "crosses_total": 1,
            "crosses_accurate": 0,
            "touches": 16,
            "possession_lost": 3.3652,
            "dispossessed": 1.6,
            "duels_lost": 2,
            "aerial_lost": 2,
            "total_contest": 2,
            "won_contest": 1,
            "ball_recovery": 1,
            "challenges_lost": 2,
            "fouls": 1,
            "fouls_drawn": 1,
            "assists": 0,
            "shots_off_target": 0,
            "key_pass": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0913,
            "offsides": 1,
            "ball_carries": 8,
            "total_progression": 21,
            "progressive_carries": 2,
            "bench_appearance_probability": 0.638,
            "bench_expected_minutes": 27.04,
            "projected_substitution_order": 1,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 2,
            "projected_substitution_expected_count": 2.755,
            "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": 85.0
          },
          "latest_10_games": [],
          "ranking": {
            "global_player_rank": 476,
            "combined_rank_score": 283.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 422.0,
            "sofascore_rating": 6.9214,
            "sofascore_appearances": 28.0,
            "fifa_rank": 144.0,
            "fifa_overall": 85.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 7,
            "squad_role": "substitute",
            "projected_match_rating": 7.5,
            "source_file": "data/player_rankings.csv",
            "player_name": "Hugo Ekitiké",
            "ranking_neighbors": {
              "upper": [
                {
                  "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
                }
              ],
              "lower": [
                {
                  "player_name": "Manuel Ángel Castillo",
                  "ranking": 477
                },
                {
                  "player_name": "Willi Orbán",
                  "ranking": 478
                },
                {
                  "player_name": "Kuvondik Ruziev",
                  "ranking": 479
                },
                {
                  "player_name": "Henry Bonello",
                  "ranking": 480
                },
                {
                  "player_name": "Dermot Mee",
                  "ranking": 481
                }
              ]
            }
          },
          "data_sources": [
            "market_value"
          ],
          "data_confidence": 0.25,
          "history_matches": 0,
          "xgboost_reasoning": {
            "model_source": "market_value_prior",
            "position_service": "F_service",
            "features_evaluated": [],
            "targets_predicted": [],
            "history_matches": 0,
            "data_confidence": 0.25,
            "data_sources": [
              "market_value"
            ],
            "bench_expected_minutes": 27.041488075706027,
            "bench_appearance_prob": 0.6382494579866376,
            "market_value_adjustment": 0.8792,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection from market-value prior (€77,000,000) scaled to 27.0 expected mins."
          },
          "stat_evolution": [
            {
              "step": "market_value_prior",
              "description": "Market-value baseline for position F (quality 0.88)",
              "stats": {
                "expected_goals": 0.394,
                "goal_rate": 0.25,
                "goals": 0,
                "total_shots": 4,
                "shots_on_target": 2,
                "expected_assists": 0.143,
                "duels_won": 6,
                "aerial_won": 2,
                "rating": 7.5,
                "minutes": 90,
                "total_pass": 37,
                "accurate_pass": 28,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_opp_half_passes": 21,
                "accurate_opp_half_passes": 16,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 52,
                "possession_lost": 11.2,
                "dispossessed": 1.6,
                "duels_lost": 6,
                "aerial_lost": 2,
                "total_contest": 7,
                "won_contest": 4,
                "ball_recovery": 3,
                "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": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.304,
                "offsides": 1,
                "ball_carries": 28,
                "total_progression": 69,
                "progressive_carries": 7
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 27.0 expected minutes (appearance prob 0.64)",
              "stats": {
                "expected_goals": 0.1184,
                "goal_rate": 0.0751,
                "goals": 0,
                "total_shots": 1,
                "shots_on_target": 1,
                "expected_assists": 0.043,
                "duels_won": 2,
                "aerial_won": 1,
                "rating": 7.5,
                "minutes": 27,
                "total_pass": 11,
                "accurate_pass": 8,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 5,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 16,
                "possession_lost": 3.3652,
                "dispossessed": 1.6,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 2,
                "won_contest": 1,
                "ball_recovery": 1,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 1,
                "assists": 0,
                "shots_off_target": 0,
                "key_pass": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0913,
                "offsides": 1,
                "ball_carries": 8,
                "total_progression": 21,
                "progressive_carries": 2,
                "bench_appearance_probability": 0.638,
                "bench_expected_minutes": 27.04
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.1184,
                "goal_rate": 0.0751,
                "goals": 0,
                "total_shots": 1,
                "shots_on_target": 1,
                "expected_assists": 0.043,
                "duels_won": 2,
                "aerial_won": 1,
                "rating": 7.5,
                "minutes": 27,
                "total_pass": 11,
                "accurate_pass": 8,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 5,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 16,
                "possession_lost": 3.3652,
                "dispossessed": 1.6,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 2,
                "won_contest": 1,
                "ball_recovery": 1,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 1,
                "assists": 0,
                "shots_off_target": 0,
                "key_pass": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0913,
                "offsides": 1,
                "ball_carries": 8,
                "total_progression": 21,
                "progressive_carries": 2,
                "bench_appearance_probability": 0.638,
                "bench_expected_minutes": 27.04
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 2.67 (squad xG sum 1.4710, xG scale 1.8117)",
              "stats": {
                "expected_goals": 0.2145,
                "goal_rate": 0.0751,
                "goals": 0,
                "total_shots": 1,
                "shots_on_target": 1,
                "expected_assists": 0.043,
                "duels_won": 2,
                "aerial_won": 1,
                "rating": 7.5,
                "minutes": 27,
                "total_pass": 11,
                "accurate_pass": 8,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 5,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 16,
                "possession_lost": 3.3652,
                "dispossessed": 1.6,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 2,
                "won_contest": 1,
                "ball_recovery": 1,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 1,
                "assists": 0,
                "shots_off_target": 0,
                "key_pass": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0913,
                "offsides": 1,
                "ball_carries": 8,
                "total_progression": 21,
                "progressive_carries": 2,
                "bench_appearance_probability": 0.638,
                "bench_expected_minutes": 27.04,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.755,
                "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 85.0)",
              "stats": {
                "expected_goals": 0.2145,
                "goal_rate": 0.0751,
                "goals": 0,
                "total_shots": 1,
                "shots_on_target": 1,
                "expected_assists": 0.043,
                "duels_won": 2,
                "aerial_won": 1,
                "rating": 7.5,
                "minutes": 27,
                "total_pass": 11,
                "accurate_pass": 8,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 5,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 16,
                "possession_lost": 3.3652,
                "dispossessed": 1.6,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 2,
                "won_contest": 1,
                "ball_recovery": 1,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 1,
                "assists": 0,
                "shots_off_target": 0,
                "key_pass": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0913,
                "offsides": 1,
                "ball_carries": 8,
                "total_progression": 21,
                "progressive_carries": 2,
                "bench_appearance_probability": 0.638,
                "bench_expected_minutes": 27.04,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.755,
                "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": 85.0
              }
            }
          ]
        },
        "Rio Ngumoha": {
          "player_id": 1881902,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 73,
          "height": 170,
          "market_value": 29000000,
          "stats": {
            "expected_goals": 0.0676,
            "goal_rate": 0.0454,
            "goals": 0,
            "shots_on_target": 0,
            "expected_assists": 0.0154,
            "key_pass": 0,
            "rating": 7.2319,
            "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": 1,
            "crosses_accurate": 0,
            "touches": 6,
            "possession_lost": 2.1803,
            "dispossessed": 1.063,
            "duels_lost": 1,
            "aerial_lost": 1,
            "total_contest": 1,
            "won_contest": 1,
            "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": 4,
            "total_progression": 10,
            "progressive_carries": 1,
            "bench_appearance_probability": 0.608,
            "bench_expected_minutes": 26.37,
            "projected_substitution_order": 2,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 2,
            "projected_substitution_expected_count": 2.755,
            "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": 75.0
          },
          "latest_10_games": [
            {
              "match_id": 16363254.0,
              "match_date": "2026-08-29",
              "home_team": "Liverpool FC",
              "away_team": "Nottingham Forest",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Liverpool FC",
              "opponent": "Nottingham Forest",
              "stats": {
                "minutes": 19,
                "rating": 6.5,
                "assists": 0,
                "expected_assists": 0.0253,
                "total_shots": 0,
                "total_pass": 9,
                "accurate_pass": 8,
                "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"
            },
            {
              "match_id": 16363246.0,
              "match_date": "2026-08-23",
              "home_team": "Newcastle United",
              "away_team": "Liverpool FC",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Liverpool FC",
              "opponent": "Newcastle United",
              "stats": {
                "minutes": 63,
                "rating": 6.3,
                "assists": 0,
                "expected_goals": 0.0402,
                "expected_assists": 0.0222,
                "total_shots": 1,
                "total_pass": 13,
                "accurate_pass": 10,
                "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"
            }
          ],
          "ranking": {
            "global_player_rank": 3315,
            "combined_rank_score": 1275.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 364.0,
            "sofascore_rating": 6.9737,
            "sofascore_appearances": 19.0,
            "fifa_rank": 2186.0,
            "fifa_overall": 75.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 12,
            "squad_role": "substitute",
            "projected_match_rating": 7.2319,
            "source_file": "data/player_rankings.csv",
            "player_name": "Rio Ngumoha",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Diego Coppola",
                  "ranking": 3310
                },
                {
                  "player_name": "Pablo Rosario",
                  "ranking": 3311
                },
                {
                  "player_name": "Víctor Gómez",
                  "ranking": 3312
                },
                {
                  "player_name": "Logan Costa",
                  "ranking": 3313
                },
                {
                  "player_name": "Santiago Ascacíbar",
                  "ranking": 3314
                }
              ],
              "lower": [
                {
                  "player_name": "Kyle Walker-Peters",
                  "ranking": 3316
                },
                {
                  "player_name": "Alberto Costa",
                  "ranking": 3317
                },
                {
                  "player_name": "Tajon Buchanan",
                  "ranking": 3318
                },
                {
                  "player_name": "Dion Drena Beljo",
                  "ranking": 3319
                },
                {
                  "player_name": "Aimar Oroz",
                  "ranking": 3320
                }
              ]
            }
          },
          "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.37159379857936,
            "bench_appearance_prob": 0.6077997181172436,
            "market_value_adjustment": 1.063,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection scaled from XGBoost F_service (1 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.1197,
                "goal_rate": 0.1459,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0493,
                "key_pass": 1,
                "rating": 6.8033,
                "minutes": 19,
                "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": 7,
                "accurate_opp_half_passes": 6,
                "crosses_total": 3,
                "crosses_accurate": 0,
                "touches": 18,
                "possession_lost": 7.0,
                "dispossessed": 1.0,
                "duels_lost": 3,
                "aerial_lost": 1,
                "total_contest": 3,
                "won_contest": 2,
                "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": 12,
                "total_progression": 31,
                "progressive_carries": 2
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0630, quality 0.710)",
              "stats": {
                "expected_goals": 0.1272,
                "goal_rate": 0.1551,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0524,
                "key_pass": 1,
                "rating": 7.2319,
                "minutes": 20,
                "total_shots": 1,
                "duels_won": 2,
                "aerial_won": 1,
                "total_pass": 10,
                "accurate_pass": 9,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 6,
                "crosses_total": 3,
                "crosses_accurate": 0,
                "touches": 19,
                "possession_lost": 7.441,
                "dispossessed": 1.063,
                "duels_lost": 3,
                "aerial_lost": 1,
                "total_contest": 3,
                "won_contest": 2,
                "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": 13,
                "total_progression": 33,
                "progressive_carries": 2
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 26.4 expected minutes (appearance prob 0.61)",
              "stats": {
                "expected_goals": 0.0373,
                "goal_rate": 0.0454,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0154,
                "key_pass": 0,
                "rating": 7.2319,
                "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": 1,
                "crosses_accurate": 0,
                "touches": 6,
                "possession_lost": 2.1803,
                "dispossessed": 1.063,
                "duels_lost": 1,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 1,
                "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": 4,
                "total_progression": 10,
                "progressive_carries": 1,
                "bench_appearance_probability": 0.608,
                "bench_expected_minutes": 26.37
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.0373,
                "goal_rate": 0.0454,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0154,
                "key_pass": 0,
                "rating": 7.2319,
                "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": 1,
                "crosses_accurate": 0,
                "touches": 6,
                "possession_lost": 2.1803,
                "dispossessed": 1.063,
                "duels_lost": 1,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 1,
                "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": 4,
                "total_progression": 10,
                "progressive_carries": 1,
                "bench_appearance_probability": 0.608,
                "bench_expected_minutes": 26.37
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 2.67 (squad xG sum 1.4710, xG scale 1.8117)",
              "stats": {
                "expected_goals": 0.0676,
                "goal_rate": 0.0454,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0154,
                "key_pass": 0,
                "rating": 7.2319,
                "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": 1,
                "crosses_accurate": 0,
                "touches": 6,
                "possession_lost": 2.1803,
                "dispossessed": 1.063,
                "duels_lost": 1,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 1,
                "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": 4,
                "total_progression": 10,
                "progressive_carries": 1,
                "bench_appearance_probability": 0.608,
                "bench_expected_minutes": 26.37,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.755,
                "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 75.0)",
              "stats": {
                "expected_goals": 0.0676,
                "goal_rate": 0.0454,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0154,
                "key_pass": 0,
                "rating": 7.2319,
                "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": 1,
                "crosses_accurate": 0,
                "touches": 6,
                "possession_lost": 2.1803,
                "dispossessed": 1.063,
                "duels_lost": 1,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 1,
                "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": 4,
                "total_progression": 10,
                "progressive_carries": 1,
                "bench_appearance_probability": 0.608,
                "bench_expected_minutes": 26.37,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.755,
                "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": 75.0
              }
            }
          ]
        }
      },
      "substitutes": {
        "Hugo Ekitiké": {
          "player_id": 1048422,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 22,
          "height": 190,
          "market_value": 77000000,
          "stats": {
            "expected_goals": 0.2145,
            "goal_rate": 0.0751,
            "goals": 0,
            "total_shots": 1,
            "shots_on_target": 1,
            "expected_assists": 0.043,
            "duels_won": 2,
            "aerial_won": 1,
            "rating": 7.5,
            "minutes": 27,
            "total_pass": 11,
            "accurate_pass": 8,
            "total_long_balls": 1,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 6,
            "accurate_opp_half_passes": 5,
            "crosses_total": 1,
            "crosses_accurate": 0,
            "touches": 16,
            "possession_lost": 3.3652,
            "dispossessed": 1.6,
            "duels_lost": 2,
            "aerial_lost": 2,
            "total_contest": 2,
            "won_contest": 1,
            "ball_recovery": 1,
            "challenges_lost": 2,
            "fouls": 1,
            "fouls_drawn": 1,
            "assists": 0,
            "shots_off_target": 0,
            "key_pass": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0913,
            "offsides": 1,
            "ball_carries": 8,
            "total_progression": 21,
            "progressive_carries": 2,
            "bench_appearance_probability": 0.638,
            "bench_expected_minutes": 27.04,
            "projected_substitution_order": 1,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 2,
            "projected_substitution_expected_count": 2.755,
            "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": 85.0
          },
          "latest_10_games": [],
          "ranking": {
            "global_player_rank": 476,
            "combined_rank_score": 283.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 422.0,
            "sofascore_rating": 6.9214,
            "sofascore_appearances": 28.0,
            "fifa_rank": 144.0,
            "fifa_overall": 85.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 7,
            "squad_role": "substitute",
            "projected_match_rating": 7.5,
            "source_file": "data/player_rankings.csv",
            "player_name": "Hugo Ekitiké",
            "ranking_neighbors": {
              "upper": [
                {
                  "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
                }
              ],
              "lower": [
                {
                  "player_name": "Manuel Ángel Castillo",
                  "ranking": 477
                },
                {
                  "player_name": "Willi Orbán",
                  "ranking": 478
                },
                {
                  "player_name": "Kuvondik Ruziev",
                  "ranking": 479
                },
                {
                  "player_name": "Henry Bonello",
                  "ranking": 480
                },
                {
                  "player_name": "Dermot Mee",
                  "ranking": 481
                }
              ]
            }
          },
          "data_sources": [
            "market_value"
          ],
          "data_confidence": 0.25,
          "history_matches": 0,
          "xgboost_reasoning": {
            "model_source": "market_value_prior",
            "position_service": "F_service",
            "features_evaluated": [],
            "targets_predicted": [],
            "history_matches": 0,
            "data_confidence": 0.25,
            "data_sources": [
              "market_value"
            ],
            "bench_expected_minutes": 27.041488075706027,
            "bench_appearance_prob": 0.6382494579866376,
            "market_value_adjustment": 0.8792,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection from market-value prior (€77,000,000) scaled to 27.0 expected mins."
          },
          "stat_evolution": [
            {
              "step": "market_value_prior",
              "description": "Market-value baseline for position F (quality 0.88)",
              "stats": {
                "expected_goals": 0.394,
                "goal_rate": 0.25,
                "goals": 0,
                "total_shots": 4,
                "shots_on_target": 2,
                "expected_assists": 0.143,
                "duels_won": 6,
                "aerial_won": 2,
                "rating": 7.5,
                "minutes": 90,
                "total_pass": 37,
                "accurate_pass": 28,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_opp_half_passes": 21,
                "accurate_opp_half_passes": 16,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 52,
                "possession_lost": 11.2,
                "dispossessed": 1.6,
                "duels_lost": 6,
                "aerial_lost": 2,
                "total_contest": 7,
                "won_contest": 4,
                "ball_recovery": 3,
                "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": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.304,
                "offsides": 1,
                "ball_carries": 28,
                "total_progression": 69,
                "progressive_carries": 7
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 27.0 expected minutes (appearance prob 0.64)",
              "stats": {
                "expected_goals": 0.1184,
                "goal_rate": 0.0751,
                "goals": 0,
                "total_shots": 1,
                "shots_on_target": 1,
                "expected_assists": 0.043,
                "duels_won": 2,
                "aerial_won": 1,
                "rating": 7.5,
                "minutes": 27,
                "total_pass": 11,
                "accurate_pass": 8,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 5,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 16,
                "possession_lost": 3.3652,
                "dispossessed": 1.6,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 2,
                "won_contest": 1,
                "ball_recovery": 1,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 1,
                "assists": 0,
                "shots_off_target": 0,
                "key_pass": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0913,
                "offsides": 1,
                "ball_carries": 8,
                "total_progression": 21,
                "progressive_carries": 2,
                "bench_appearance_probability": 0.638,
                "bench_expected_minutes": 27.04
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.1184,
                "goal_rate": 0.0751,
                "goals": 0,
                "total_shots": 1,
                "shots_on_target": 1,
                "expected_assists": 0.043,
                "duels_won": 2,
                "aerial_won": 1,
                "rating": 7.5,
                "minutes": 27,
                "total_pass": 11,
                "accurate_pass": 8,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 5,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 16,
                "possession_lost": 3.3652,
                "dispossessed": 1.6,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 2,
                "won_contest": 1,
                "ball_recovery": 1,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 1,
                "assists": 0,
                "shots_off_target": 0,
                "key_pass": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0913,
                "offsides": 1,
                "ball_carries": 8,
                "total_progression": 21,
                "progressive_carries": 2,
                "bench_appearance_probability": 0.638,
                "bench_expected_minutes": 27.04
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 2.67 (squad xG sum 1.4710, xG scale 1.8117)",
              "stats": {
                "expected_goals": 0.2145,
                "goal_rate": 0.0751,
                "goals": 0,
                "total_shots": 1,
                "shots_on_target": 1,
                "expected_assists": 0.043,
                "duels_won": 2,
                "aerial_won": 1,
                "rating": 7.5,
                "minutes": 27,
                "total_pass": 11,
                "accurate_pass": 8,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 5,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 16,
                "possession_lost": 3.3652,
                "dispossessed": 1.6,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 2,
                "won_contest": 1,
                "ball_recovery": 1,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 1,
                "assists": 0,
                "shots_off_target": 0,
                "key_pass": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0913,
                "offsides": 1,
                "ball_carries": 8,
                "total_progression": 21,
                "progressive_carries": 2,
                "bench_appearance_probability": 0.638,
                "bench_expected_minutes": 27.04,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.755,
                "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 85.0)",
              "stats": {
                "expected_goals": 0.2145,
                "goal_rate": 0.0751,
                "goals": 0,
                "total_shots": 1,
                "shots_on_target": 1,
                "expected_assists": 0.043,
                "duels_won": 2,
                "aerial_won": 1,
                "rating": 7.5,
                "minutes": 27,
                "total_pass": 11,
                "accurate_pass": 8,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 5,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 16,
                "possession_lost": 3.3652,
                "dispossessed": 1.6,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 2,
                "won_contest": 1,
                "ball_recovery": 1,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 1,
                "assists": 0,
                "shots_off_target": 0,
                "key_pass": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0913,
                "offsides": 1,
                "ball_carries": 8,
                "total_progression": 21,
                "progressive_carries": 2,
                "bench_appearance_probability": 0.638,
                "bench_expected_minutes": 27.04,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.755,
                "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": 85.0
              }
            }
          ]
        },
        "Rio Ngumoha": {
          "player_id": 1881902,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 73,
          "height": 170,
          "market_value": 29000000,
          "stats": {
            "expected_goals": 0.0676,
            "goal_rate": 0.0454,
            "goals": 0,
            "shots_on_target": 0,
            "expected_assists": 0.0154,
            "key_pass": 0,
            "rating": 7.2319,
            "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": 1,
            "crosses_accurate": 0,
            "touches": 6,
            "possession_lost": 2.1803,
            "dispossessed": 1.063,
            "duels_lost": 1,
            "aerial_lost": 1,
            "total_contest": 1,
            "won_contest": 1,
            "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": 4,
            "total_progression": 10,
            "progressive_carries": 1,
            "bench_appearance_probability": 0.608,
            "bench_expected_minutes": 26.37,
            "projected_substitution_order": 2,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 2,
            "projected_substitution_expected_count": 2.755,
            "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": 75.0
          },
          "latest_10_games": [
            {
              "match_id": 16363254.0,
              "match_date": "2026-08-29",
              "home_team": "Liverpool FC",
              "away_team": "Nottingham Forest",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Liverpool FC",
              "opponent": "Nottingham Forest",
              "stats": {
                "minutes": 19,
                "rating": 6.5,
                "assists": 0,
                "expected_assists": 0.0253,
                "total_shots": 0,
                "total_pass": 9,
                "accurate_pass": 8,
                "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"
            },
            {
              "match_id": 16363246.0,
              "match_date": "2026-08-23",
              "home_team": "Newcastle United",
              "away_team": "Liverpool FC",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Liverpool FC",
              "opponent": "Newcastle United",
              "stats": {
                "minutes": 63,
                "rating": 6.3,
                "assists": 0,
                "expected_goals": 0.0402,
                "expected_assists": 0.0222,
                "total_shots": 1,
                "total_pass": 13,
                "accurate_pass": 10,
                "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"
            }
          ],
          "ranking": {
            "global_player_rank": 3315,
            "combined_rank_score": 1275.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 364.0,
            "sofascore_rating": 6.9737,
            "sofascore_appearances": 19.0,
            "fifa_rank": 2186.0,
            "fifa_overall": 75.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 12,
            "squad_role": "substitute",
            "projected_match_rating": 7.2319,
            "source_file": "data/player_rankings.csv",
            "player_name": "Rio Ngumoha",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Diego Coppola",
                  "ranking": 3310
                },
                {
                  "player_name": "Pablo Rosario",
                  "ranking": 3311
                },
                {
                  "player_name": "Víctor Gómez",
                  "ranking": 3312
                },
                {
                  "player_name": "Logan Costa",
                  "ranking": 3313
                },
                {
                  "player_name": "Santiago Ascacíbar",
                  "ranking": 3314
                }
              ],
              "lower": [
                {
                  "player_name": "Kyle Walker-Peters",
                  "ranking": 3316
                },
                {
                  "player_name": "Alberto Costa",
                  "ranking": 3317
                },
                {
                  "player_name": "Tajon Buchanan",
                  "ranking": 3318
                },
                {
                  "player_name": "Dion Drena Beljo",
                  "ranking": 3319
                },
                {
                  "player_name": "Aimar Oroz",
                  "ranking": 3320
                }
              ]
            }
          },
          "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.37159379857936,
            "bench_appearance_prob": 0.6077997181172436,
            "market_value_adjustment": 1.063,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection scaled from XGBoost F_service (1 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.1197,
                "goal_rate": 0.1459,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0493,
                "key_pass": 1,
                "rating": 6.8033,
                "minutes": 19,
                "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": 7,
                "accurate_opp_half_passes": 6,
                "crosses_total": 3,
                "crosses_accurate": 0,
                "touches": 18,
                "possession_lost": 7.0,
                "dispossessed": 1.0,
                "duels_lost": 3,
                "aerial_lost": 1,
                "total_contest": 3,
                "won_contest": 2,
                "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": 12,
                "total_progression": 31,
                "progressive_carries": 2
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0630, quality 0.710)",
              "stats": {
                "expected_goals": 0.1272,
                "goal_rate": 0.1551,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0524,
                "key_pass": 1,
                "rating": 7.2319,
                "minutes": 20,
                "total_shots": 1,
                "duels_won": 2,
                "aerial_won": 1,
                "total_pass": 10,
                "accurate_pass": 9,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 6,
                "crosses_total": 3,
                "crosses_accurate": 0,
                "touches": 19,
                "possession_lost": 7.441,
                "dispossessed": 1.063,
                "duels_lost": 3,
                "aerial_lost": 1,
                "total_contest": 3,
                "won_contest": 2,
                "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": 13,
                "total_progression": 33,
                "progressive_carries": 2
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 26.4 expected minutes (appearance prob 0.61)",
              "stats": {
                "expected_goals": 0.0373,
                "goal_rate": 0.0454,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0154,
                "key_pass": 0,
                "rating": 7.2319,
                "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": 1,
                "crosses_accurate": 0,
                "touches": 6,
                "possession_lost": 2.1803,
                "dispossessed": 1.063,
                "duels_lost": 1,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 1,
                "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": 4,
                "total_progression": 10,
                "progressive_carries": 1,
                "bench_appearance_probability": 0.608,
                "bench_expected_minutes": 26.37
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.0373,
                "goal_rate": 0.0454,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0154,
                "key_pass": 0,
                "rating": 7.2319,
                "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": 1,
                "crosses_accurate": 0,
                "touches": 6,
                "possession_lost": 2.1803,
                "dispossessed": 1.063,
                "duels_lost": 1,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 1,
                "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": 4,
                "total_progression": 10,
                "progressive_carries": 1,
                "bench_appearance_probability": 0.608,
                "bench_expected_minutes": 26.37
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 2.67 (squad xG sum 1.4710, xG scale 1.8117)",
              "stats": {
                "expected_goals": 0.0676,
                "goal_rate": 0.0454,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0154,
                "key_pass": 0,
                "rating": 7.2319,
                "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": 1,
                "crosses_accurate": 0,
                "touches": 6,
                "possession_lost": 2.1803,
                "dispossessed": 1.063,
                "duels_lost": 1,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 1,
                "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": 4,
                "total_progression": 10,
                "progressive_carries": 1,
                "bench_appearance_probability": 0.608,
                "bench_expected_minutes": 26.37,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.755,
                "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 75.0)",
              "stats": {
                "expected_goals": 0.0676,
                "goal_rate": 0.0454,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0154,
                "key_pass": 0,
                "rating": 7.2319,
                "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": 1,
                "crosses_accurate": 0,
                "touches": 6,
                "possession_lost": 2.1803,
                "dispossessed": 1.063,
                "duels_lost": 1,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 1,
                "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": 4,
                "total_progression": 10,
                "progressive_carries": 1,
                "bench_appearance_probability": 0.608,
                "bench_expected_minutes": 26.37,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.755,
                "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": 75.0
              }
            }
          ]
        }
      },
      "team_totals": {
        "projected_goals": 2,
        "expected_goals": 2.67,
        "expected_assists": 0.54,
        "total_shots": 17,
        "shots_on_target": 10,
        "total_passes": 475,
        "interceptions": 6,
        "tackles": 13,
        "avg_rating": 7.46,
        "possession_estimated_pct": 52.6,
        "pressing_actions_per_90": 9.0
      }
    },
    "Fulham": {
      "formation": "4-2-3-1",
      "players": {
        "Bernd Leno": {
          "player_id": 103335,
          "position": "G",
          "position_depth": "G",
          "is_starter": true,
          "shirt_number": 1,
          "height": 190,
          "market_value": 5500000,
          "stats": {
            "saves": 3,
            "goals_prevented": 0.0174,
            "rating": 6.7002,
            "minutes": 89,
            "total_pass": 43,
            "accurate_pass": 34,
            "total_long_balls": 12,
            "accurate_long_balls": 3,
            "touches": 52,
            "clearances": 1,
            "ball_recovery": 8,
            "high_claims": 0,
            "punches": 0.9905,
            "aerial_won": 1,
            "sweeper_actions": 1,
            "sweeper_accurate": 1,
            "saves_inside_box": 2,
            "possession_lost": 9.2413,
            "duels_won": 1,
            "duels_lost": 0,
            "total_contest": 0,
            "won_contest": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "total_own_half_passes": 32,
            "accurate_own_half_passes": 31,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "total_shots": 0,
            "shots_on_target": 0,
            "goalsAgainst": 2.0,
            "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": 60.0,
            "cleanSheetPct": 0.0,
            "minutesPct": 100.0,
            "pointsPerMatch": 0.0,
            "netGoalDifferencePer90": 0.0,
            "expected_saves": 1.56,
            "high_pressure_saves": 0.6,
            "shots_faced": 3.4,
            "opponent_faced": "Alexander Isak, Florian Wirtz",
            "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": 79.0
          },
          "latest_10_games": [
            {
              "match_id": 16363269.0,
              "match_date": "2026-09-05",
              "home_team": "Fulham",
              "away_team": "Crystal Palace",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Fulham",
              "opponent": "Crystal Palace",
              "stats": {
                "minutes": 90,
                "rating": 6.6,
                "assists": 0,
                "expected_assists": 0.0022,
                "total_shots": 0,
                "total_pass": 42,
                "accurate_pass": 39,
                "ball_recovery": 8,
                "saves": 2,
                "goals_prevented": -0.4348
              },
              "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": 16363255.0,
              "match_date": "2026-08-30",
              "home_team": "Sunderland",
              "away_team": "Fulham",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Fulham",
              "opponent": "Sunderland",
              "stats": {
                "minutes": 90,
                "rating": 5.9,
                "assists": 0,
                "expected_assists": 0.0005,
                "total_shots": 0,
                "total_pass": 47,
                "accurate_pass": 30,
                "clearances": 2,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 8,
                "saves": 3,
                "goals_prevented": 0.3319
              },
              "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": 16363244.0,
              "match_date": "2026-08-24",
              "home_team": "Fulham",
              "away_team": "Chelsea",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Fulham",
              "opponent": "Chelsea",
              "stats": {
                "minutes": 90,
                "rating": 6.2,
                "assists": 0,
                "expected_assists": 0.0023,
                "total_shots": 0,
                "total_pass": 42,
                "accurate_pass": 34,
                "clearances": 1,
                "ball_recovery": 9,
                "saves": 3,
                "goals_prevented": -0.9787
              },
              "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": 1549,
            "combined_rank_score": 633.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 416.0,
            "sofascore_rating": 6.9263,
            "sofascore_appearances": 38.0,
            "fifa_rank": 850.0,
            "fifa_overall": 79.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 16,
            "squad_role": "starter",
            "projected_match_rating": 6.7002,
            "source_file": "data/player_rankings.csv",
            "player_name": "Bernd Leno",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Alisher Salimov",
                  "ranking": 1544
                },
                {
                  "player_name": "Bu-Seong Jang",
                  "ranking": 1545
                },
                {
                  "player_name": "Her Dong-min",
                  "ranking": 1546
                },
                {
                  "player_name": "Filip Jørgensen",
                  "ranking": 1547
                },
                {
                  "player_name": "Olivier Boscagli",
                  "ranking": 1548
                }
              ],
              "lower": [
                {
                  "player_name": "Fredrik Aursnes",
                  "ranking": 1550
                },
                {
                  "player_name": "Yuri Berchiche",
                  "ranking": 1551
                },
                {
                  "player_name": "Óscar Trejo",
                  "ranking": 1552
                },
                {
                  "player_name": "Han Jong-Mu",
                  "ranking": 1553
                },
                {
                  "player_name": "Eli Junior Kroupi",
                  "ranking": 1554
                }
              ]
            }
          },
          "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": 0.9905,
            "fbref_prior_metrics": {
              "squad": "Fulham",
              "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, Fulham, 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.0175,
                "rating": 6.7645,
                "minutes": 90,
                "total_pass": 44,
                "accurate_pass": 34,
                "total_long_balls": 12,
                "accurate_long_balls": 3,
                "touches": 53,
                "clearances": 2,
                "ball_recovery": 8,
                "high_claims": 0,
                "punches": 1.0,
                "aerial_won": 1,
                "sweeper_actions": 1,
                "sweeper_accurate": 1,
                "saves_inside_box": 2,
                "possession_lost": 9.33,
                "duels_won": 1,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 32,
                "accurate_own_half_passes": 32
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9905, quality 0.468)",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0174,
                "rating": 6.7002,
                "minutes": 89,
                "total_pass": 43,
                "accurate_pass": 34,
                "total_long_balls": 12,
                "accurate_long_balls": 3,
                "touches": 52,
                "clearances": 1,
                "ball_recovery": 8,
                "high_claims": 0,
                "punches": 0.9905,
                "aerial_won": 1,
                "sweeper_actions": 1,
                "sweeper_accurate": 1,
                "saves_inside_box": 2,
                "possession_lost": 9.2413,
                "duels_won": 1,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 32,
                "accurate_own_half_passes": 31
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0542)",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0174,
                "rating": 6.7002,
                "minutes": 89,
                "total_pass": 43,
                "accurate_pass": 34,
                "total_long_balls": 12,
                "accurate_long_balls": 3,
                "touches": 52,
                "clearances": 1,
                "ball_recovery": 8,
                "high_claims": 0,
                "punches": 0.9905,
                "aerial_won": 1,
                "sweeper_actions": 1,
                "sweeper_accurate": 1,
                "saves_inside_box": 2,
                "possession_lost": 9.2413,
                "duels_won": 1,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 32,
                "accurate_own_half_passes": 31,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 2.0,
                "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": 60.0,
                "cleanSheetPct": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": -1.0
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0174,
                "rating": 6.7002,
                "minutes": 89,
                "total_pass": 43,
                "accurate_pass": 34,
                "total_long_balls": 12,
                "accurate_long_balls": 3,
                "touches": 52,
                "clearances": 1,
                "ball_recovery": 8,
                "high_claims": 0,
                "punches": 0.9905,
                "aerial_won": 1,
                "sweeper_actions": 1,
                "sweeper_accurate": 1,
                "saves_inside_box": 2,
                "possession_lost": 9.2413,
                "duels_won": 1,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 32,
                "accurate_own_half_passes": 31,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 2.0,
                "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": 60.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.0174,
                "rating": 6.7002,
                "minutes": 89,
                "total_pass": 43,
                "accurate_pass": 34,
                "total_long_balls": 12,
                "accurate_long_balls": 3,
                "touches": 52,
                "clearances": 1,
                "ball_recovery": 8,
                "high_claims": 0,
                "punches": 0.9905,
                "aerial_won": 1,
                "sweeper_actions": 1,
                "sweeper_accurate": 1,
                "saves_inside_box": 2,
                "possession_lost": 9.2413,
                "duels_won": 1,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 32,
                "accurate_own_half_passes": 31,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 2.0,
                "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": 60.0,
                "cleanSheetPct": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "expected_saves": 1.56,
                "high_pressure_saves": 0.6,
                "shots_faced": 3.4,
                "opponent_faced": "Alexander Isak, Florian Wirtz",
                "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 0.95 (squad xG sum 1.3873, xG scale 0.6877)",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0174,
                "rating": 6.7002,
                "minutes": 89,
                "total_pass": 43,
                "accurate_pass": 34,
                "total_long_balls": 12,
                "accurate_long_balls": 3,
                "touches": 52,
                "clearances": 1,
                "ball_recovery": 8,
                "high_claims": 0,
                "punches": 0.9905,
                "aerial_won": 1,
                "sweeper_actions": 1,
                "sweeper_accurate": 1,
                "saves_inside_box": 2,
                "possession_lost": 9.2413,
                "duels_won": 1,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 32,
                "accurate_own_half_passes": 31,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 2.0,
                "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": 60.0,
                "cleanSheetPct": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "expected_saves": 1.56,
                "high_pressure_saves": 0.6,
                "shots_faced": 3.4,
                "opponent_faced": "Alexander Isak, Florian Wirtz",
                "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 16, fifa_overall 79.0)",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0174,
                "rating": 6.7002,
                "minutes": 89,
                "total_pass": 43,
                "accurate_pass": 34,
                "total_long_balls": 12,
                "accurate_long_balls": 3,
                "touches": 52,
                "clearances": 1,
                "ball_recovery": 8,
                "high_claims": 0,
                "punches": 0.9905,
                "aerial_won": 1,
                "sweeper_actions": 1,
                "sweeper_accurate": 1,
                "saves_inside_box": 2,
                "possession_lost": 9.2413,
                "duels_won": 1,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 32,
                "accurate_own_half_passes": 31,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 2.0,
                "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": 60.0,
                "cleanSheetPct": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "expected_saves": 1.56,
                "high_pressure_saves": 0.6,
                "shots_faced": 3.4,
                "opponent_faced": "Alexander Isak, Florian Wirtz",
                "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": 79.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 0 projected goals distributed by scorer weight",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0174,
                "rating": 6.7002,
                "minutes": 89,
                "total_pass": 43,
                "accurate_pass": 34,
                "total_long_balls": 12,
                "accurate_long_balls": 3,
                "touches": 52,
                "clearances": 1,
                "ball_recovery": 8,
                "high_claims": 0,
                "punches": 0.9905,
                "aerial_won": 1,
                "sweeper_actions": 1,
                "sweeper_accurate": 1,
                "saves_inside_box": 2,
                "possession_lost": 9.2413,
                "duels_won": 1,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 32,
                "accurate_own_half_passes": 31,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 2.0,
                "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": 60.0,
                "cleanSheetPct": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "expected_saves": 1.56,
                "high_pressure_saves": 0.6,
                "shots_faced": 3.4,
                "opponent_faced": "Alexander Isak, Florian Wirtz",
                "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": 79.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 0 projected assists distributed by provider weight",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0174,
                "rating": 6.7002,
                "minutes": 89,
                "total_pass": 43,
                "accurate_pass": 34,
                "total_long_balls": 12,
                "accurate_long_balls": 3,
                "touches": 52,
                "clearances": 1,
                "ball_recovery": 8,
                "high_claims": 0,
                "punches": 0.9905,
                "aerial_won": 1,
                "sweeper_actions": 1,
                "sweeper_accurate": 1,
                "saves_inside_box": 2,
                "possession_lost": 9.2413,
                "duels_won": 1,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 32,
                "accurate_own_half_passes": 31,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 2.0,
                "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": 60.0,
                "cleanSheetPct": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "expected_saves": 1.56,
                "high_pressure_saves": 0.6,
                "shots_faced": 3.4,
                "opponent_faced": "Alexander Isak, Florian Wirtz",
                "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": 79.0
              }
            }
          ]
        },
        "Timothy Castagne": {
          "player_id": 329417,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 21,
          "height": 185,
          "market_value": 7600000,
          "stats": {
            "interceptions": 1,
            "tackles": 1,
            "tackles_won": 1,
            "clearances": 3,
            "aerial_won": 1,
            "rating": 6.7036,
            "minutes": 83,
            "total_pass": 43,
            "accurate_pass": 36,
            "duels_won": 4,
            "total_long_balls": 5,
            "accurate_long_balls": 1,
            "total_own_half_passes": 22,
            "accurate_own_half_passes": 19,
            "total_opp_half_passes": 21,
            "accurate_opp_half_passes": 16,
            "crosses_total": 2,
            "crosses_accurate": 1,
            "touches": 63,
            "possession_lost": 9.3129,
            "dispossessed": 0.0,
            "duels_lost": 4,
            "aerial_lost": 1,
            "total_contest": 1,
            "won_contest": 1,
            "ball_recovery": 4,
            "challenges_lost": 1,
            "fouls": 2,
            "fouls_drawn": 2,
            "blocks": 1,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.2334,
            "expected_assists": 0.1198,
            "total_shots": 3,
            "shots_on_target": 1,
            "shots_off_target": 2,
            "big_chances_created": 0,
            "xgot": 0.2396,
            "ball_carries": 13,
            "total_progression": 52,
            "progressive_carries": 1,
            "key_pass": 2,
            "offsides": 1,
            "yellowCards": 0.5882,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 100.0,
            "shotConversion": 0.0,
            "minutesPct": 87.2,
            "pointsPerMatch": 0.0,
            "netGoalDifferencePer90": 0.0,
            "opponent_faced": "Bradley Barcola",
            "matchup_zone": "Shape fallback",
            "antagonist_source": "formation_fallback",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 75.0
          },
          "latest_10_games": [
            {
              "match_id": 16363269.0,
              "match_date": "2026-09-05",
              "home_team": "Fulham",
              "away_team": "Crystal Palace",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Fulham",
              "opponent": "Crystal Palace",
              "stats": {
                "minutes": 90,
                "rating": 6.5,
                "assists": 0,
                "expected_goals": 0.5837,
                "expected_assists": 0.1867,
                "total_shots": 3,
                "shots_on_target": 1,
                "shots_off_target": 2,
                "total_pass": 69,
                "accurate_pass": 59,
                "key_pass": 2,
                "tackles": 2,
                "tackles_won": 1,
                "interceptions": 2,
                "clearances": 2,
                "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": 16363255.0,
              "match_date": "2026-08-30",
              "home_team": "Sunderland",
              "away_team": "Fulham",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Fulham",
              "opponent": "Sunderland",
              "stats": {
                "minutes": 68,
                "rating": 6.6,
                "assists": 0,
                "expected_assists": 0.0011,
                "total_shots": 0,
                "total_pass": 17,
                "accurate_pass": 14,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "duels_won": 3,
                "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": 16363244.0,
              "match_date": "2026-08-24",
              "home_team": "Fulham",
              "away_team": "Chelsea",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Fulham",
              "opponent": "Chelsea",
              "stats": {
                "minutes": 90,
                "rating": 6.6,
                "assists": 1,
                "expected_goals": 0.0932,
                "expected_assists": 0.1795,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 43,
                "accurate_pass": 34,
                "key_pass": 2,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 3,
                "aerial_won": 3,
                "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"
            }
          ],
          "ranking": {
            "global_player_rank": 3169,
            "combined_rank_score": 1135.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 81.0,
            "sofascore_rating": 7.55,
            "sofascore_appearances": 6.0,
            "fifa_rank": 2190.0,
            "fifa_overall": 75.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 14,
            "squad_role": "starter",
            "projected_match_rating": 6.7036,
            "source_file": "data/player_rankings.csv",
            "player_name": "Timothy Castagne",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Nicolás Fernández",
                  "ranking": 3164
                },
                {
                  "player_name": "Žan Vipotnik",
                  "ranking": 3165
                },
                {
                  "player_name": "Mykhailo Mudryk",
                  "ranking": 3166
                },
                {
                  "player_name": "Diego López",
                  "ranking": 3167
                },
                {
                  "player_name": "Taty Castellanos",
                  "ranking": 3168
                }
              ],
              "lower": [
                {
                  "player_name": "Edson Álvarez",
                  "ranking": 3170
                },
                {
                  "player_name": "Kevin Trapp",
                  "ranking": 3171
                },
                {
                  "player_name": "Sean Longstaff",
                  "ranking": 3172
                },
                {
                  "player_name": "Alexandr Golovin",
                  "ranking": 3173
                },
                {
                  "player_name": "Romain Perraud",
                  "ranking": 3174
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.454,
          "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.454,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 0.9982,
            "fbref_prior_metrics": {
              "squad": "Fulham",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 2.0,
              "minutes": 157.0,
              "goals_per90": 0.0,
              "assists_per90": 0.5882352941176471,
              "shots_per90": 0.57,
              "shots_on_target_pct": 100.0,
              "prior_reliability": 0.1133
            },
            "rationale": "XGBoost regressor (D_service) evaluated 3 historical appearances across 6 target models; FBref 2026-2027 prior blended (Premier League, Fulham, rel: 0.11, gls/90: 0.0, ast/90: 0.5882352941176471)."
          },
          "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.716,
                "minutes": 83,
                "total_pass": 43,
                "accurate_pass": 36,
                "duels_won": 4,
                "total_long_balls": 5,
                "accurate_long_balls": 2,
                "total_own_half_passes": 22,
                "accurate_own_half_passes": 19,
                "total_opp_half_passes": 21,
                "accurate_opp_half_passes": 16,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 63,
                "possession_lost": 9.33,
                "dispossessed": 0.0,
                "duels_lost": 4,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 4,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 2,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.34,
                "expected_assists": 0.12,
                "total_shots": 3,
                "shots_on_target": 1,
                "shots_off_target": 2,
                "big_chances_created": 0,
                "xgot": 0.24,
                "ball_carries": 13,
                "total_progression": 53,
                "progressive_carries": 1,
                "key_pass": 2
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9982, quality 0.494)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "rating": 6.7036,
                "minutes": 83,
                "total_pass": 43,
                "accurate_pass": 36,
                "duels_won": 4,
                "total_long_balls": 5,
                "accurate_long_balls": 1,
                "total_own_half_passes": 22,
                "accurate_own_half_passes": 19,
                "total_opp_half_passes": 21,
                "accurate_opp_half_passes": 16,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 63,
                "possession_lost": 9.3129,
                "dispossessed": 0.0,
                "duels_lost": 4,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 4,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 2,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.3394,
                "expected_assists": 0.1198,
                "total_shots": 3,
                "shots_on_target": 1,
                "shots_off_target": 2,
                "big_chances_created": 0,
                "xgot": 0.2396,
                "ball_carries": 13,
                "total_progression": 52,
                "progressive_carries": 1,
                "key_pass": 2
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0460)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "rating": 6.7036,
                "minutes": 83,
                "total_pass": 43,
                "accurate_pass": 36,
                "duels_won": 4,
                "total_long_balls": 5,
                "accurate_long_balls": 1,
                "total_own_half_passes": 22,
                "accurate_own_half_passes": 19,
                "total_opp_half_passes": 21,
                "accurate_opp_half_passes": 16,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 63,
                "possession_lost": 9.3129,
                "dispossessed": 0.0,
                "duels_lost": 4,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 4,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 2,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.3394,
                "expected_assists": 0.1198,
                "total_shots": 3,
                "shots_on_target": 1,
                "shots_off_target": 2,
                "big_chances_created": 0,
                "xgot": 0.2396,
                "ball_carries": 13,
                "total_progression": 52,
                "progressive_carries": 1,
                "key_pass": 2,
                "offsides": 1,
                "yellowCards": 0.5882,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.0,
                "minutesPct": 87.2,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": -0.57
              }
            },
            {
              "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": 6.7036,
                "minutes": 83,
                "total_pass": 43,
                "accurate_pass": 36,
                "duels_won": 4,
                "total_long_balls": 5,
                "accurate_long_balls": 1,
                "total_own_half_passes": 22,
                "accurate_own_half_passes": 19,
                "total_opp_half_passes": 21,
                "accurate_opp_half_passes": 16,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 63,
                "possession_lost": 9.3129,
                "dispossessed": 0.0,
                "duels_lost": 4,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 4,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 2,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.3394,
                "expected_assists": 0.1198,
                "total_shots": 3,
                "shots_on_target": 1,
                "shots_off_target": 2,
                "big_chances_created": 0,
                "xgot": 0.2396,
                "ball_carries": 13,
                "total_progression": 52,
                "progressive_carries": 1,
                "key_pass": 2,
                "offsides": 1,
                "yellowCards": 0.5882,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.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": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "rating": 6.7036,
                "minutes": 83,
                "total_pass": 43,
                "accurate_pass": 36,
                "duels_won": 4,
                "total_long_balls": 5,
                "accurate_long_balls": 1,
                "total_own_half_passes": 22,
                "accurate_own_half_passes": 19,
                "total_opp_half_passes": 21,
                "accurate_opp_half_passes": 16,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 63,
                "possession_lost": 9.3129,
                "dispossessed": 0.0,
                "duels_lost": 4,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 4,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 2,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.3394,
                "expected_assists": 0.1198,
                "total_shots": 3,
                "shots_on_target": 1,
                "shots_off_target": 2,
                "big_chances_created": 0,
                "xgot": 0.2396,
                "ball_carries": 13,
                "total_progression": 52,
                "progressive_carries": 1,
                "key_pass": 2,
                "offsides": 1,
                "yellowCards": 0.5882,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.0,
                "minutesPct": 87.2,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "opponent_faced": "Bradley Barcola",
                "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 0.95 (squad xG sum 1.3873, xG scale 0.6877)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "rating": 6.7036,
                "minutes": 83,
                "total_pass": 43,
                "accurate_pass": 36,
                "duels_won": 4,
                "total_long_balls": 5,
                "accurate_long_balls": 1,
                "total_own_half_passes": 22,
                "accurate_own_half_passes": 19,
                "total_opp_half_passes": 21,
                "accurate_opp_half_passes": 16,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 63,
                "possession_lost": 9.3129,
                "dispossessed": 0.0,
                "duels_lost": 4,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 4,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 2,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.2334,
                "expected_assists": 0.1198,
                "total_shots": 3,
                "shots_on_target": 1,
                "shots_off_target": 2,
                "big_chances_created": 0,
                "xgot": 0.2396,
                "ball_carries": 13,
                "total_progression": 52,
                "progressive_carries": 1,
                "key_pass": 2,
                "offsides": 1,
                "yellowCards": 0.5882,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.0,
                "minutesPct": 87.2,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "opponent_faced": "Bradley Barcola",
                "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 14, fifa_overall 75.0)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "rating": 6.7036,
                "minutes": 83,
                "total_pass": 43,
                "accurate_pass": 36,
                "duels_won": 4,
                "total_long_balls": 5,
                "accurate_long_balls": 1,
                "total_own_half_passes": 22,
                "accurate_own_half_passes": 19,
                "total_opp_half_passes": 21,
                "accurate_opp_half_passes": 16,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 63,
                "possession_lost": 9.3129,
                "dispossessed": 0.0,
                "duels_lost": 4,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 4,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 2,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.2334,
                "expected_assists": 0.1198,
                "total_shots": 3,
                "shots_on_target": 1,
                "shots_off_target": 2,
                "big_chances_created": 0,
                "xgot": 0.2396,
                "ball_carries": 13,
                "total_progression": 52,
                "progressive_carries": 1,
                "key_pass": 2,
                "offsides": 1,
                "yellowCards": 0.5882,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.0,
                "minutesPct": 87.2,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "opponent_faced": "Bradley Barcola",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 75.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": 6.7036,
                "minutes": 83,
                "total_pass": 43,
                "accurate_pass": 36,
                "duels_won": 4,
                "total_long_balls": 5,
                "accurate_long_balls": 1,
                "total_own_half_passes": 22,
                "accurate_own_half_passes": 19,
                "total_opp_half_passes": 21,
                "accurate_opp_half_passes": 16,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 63,
                "possession_lost": 9.3129,
                "dispossessed": 0.0,
                "duels_lost": 4,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 4,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 2,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.2334,
                "expected_assists": 0.1198,
                "total_shots": 3,
                "shots_on_target": 1,
                "shots_off_target": 2,
                "big_chances_created": 0,
                "xgot": 0.2396,
                "ball_carries": 13,
                "total_progression": 52,
                "progressive_carries": 1,
                "key_pass": 2,
                "offsides": 1,
                "yellowCards": 0.5882,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.0,
                "minutesPct": 87.2,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "opponent_faced": "Bradley Barcola",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 75.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": 6.7036,
                "minutes": 83,
                "total_pass": 43,
                "accurate_pass": 36,
                "duels_won": 4,
                "total_long_balls": 5,
                "accurate_long_balls": 1,
                "total_own_half_passes": 22,
                "accurate_own_half_passes": 19,
                "total_opp_half_passes": 21,
                "accurate_opp_half_passes": 16,
                "crosses_total": 2,
                "crosses_accurate": 1,
                "touches": 63,
                "possession_lost": 9.3129,
                "dispossessed": 0.0,
                "duels_lost": 4,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 4,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 2,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.2334,
                "expected_assists": 0.1198,
                "total_shots": 3,
                "shots_on_target": 1,
                "shots_off_target": 2,
                "big_chances_created": 0,
                "xgot": 0.2396,
                "ball_carries": 13,
                "total_progression": 52,
                "progressive_carries": 1,
                "key_pass": 2,
                "offsides": 1,
                "yellowCards": 0.5882,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.0,
                "minutesPct": 87.2,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "opponent_faced": "Bradley Barcola",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 75.0
              }
            }
          ]
        },
        "Calvin Bassey": {
          "player_id": 861972,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 3,
          "height": 185,
          "market_value": 29000000,
          "stats": {
            "interceptions": 1,
            "tackles": 1,
            "tackles_won": 1,
            "clearances": 4,
            "aerial_won": 1,
            "rating": 7.3711,
            "minutes": 95,
            "total_pass": 93,
            "accurate_pass": 84,
            "duels_won": 4,
            "total_long_balls": 11,
            "accurate_long_balls": 7,
            "total_own_half_passes": 50,
            "accurate_own_half_passes": 47,
            "total_opp_half_passes": 43,
            "accurate_opp_half_passes": 37,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 106,
            "possession_lost": 10.63,
            "dispossessed": 0.0,
            "duels_lost": 4,
            "aerial_lost": 3,
            "total_contest": 2,
            "won_contest": 1,
            "ball_recovery": 4,
            "challenges_lost": 1,
            "fouls": 1,
            "fouls_drawn": 2,
            "blocks": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.0146,
            "expected_assists": 0.0213,
            "total_shots": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0,
            "ball_carries": 38,
            "total_progression": 161,
            "progressive_carries": 3,
            "key_pass": 0,
            "offsides": 0,
            "yellowCards": 0.5,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 0.0,
            "shotConversion": 0.0,
            "minutesPct": 100.0,
            "pointsPerMatch": 0.0,
            "netGoalDifferencePer90": 0.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.5,
            "defensive_success_rate": 0.682,
            "opponent_faced": "Alexander Isak",
            "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": 78.0
          },
          "latest_10_games": [
            {
              "match_id": 16363269.0,
              "match_date": "2026-09-05",
              "home_team": "Fulham",
              "away_team": "Crystal Palace",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Fulham",
              "opponent": "Crystal Palace",
              "stats": {
                "minutes": 90,
                "rating": 6.5,
                "assists": 0,
                "expected_assists": 0.0395,
                "total_shots": 0,
                "total_pass": 95,
                "accurate_pass": 87,
                "tackles": 1,
                "clearances": 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": 16363255.0,
              "match_date": "2026-08-30",
              "home_team": "Sunderland",
              "away_team": "Fulham",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Fulham",
              "opponent": "Sunderland",
              "stats": {
                "minutes": 90,
                "rating": 6.9,
                "assists": 0,
                "expected_assists": 0.0104,
                "total_shots": 0,
                "total_pass": 78,
                "accurate_pass": 70,
                "tackles": 1,
                "interceptions": 2,
                "clearances": 4,
                "aerial_won": 1,
                "duels_won": 5,
                "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": 16363244.0,
              "match_date": "2026-08-24",
              "home_team": "Fulham",
              "away_team": "Chelsea",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Fulham",
              "opponent": "Chelsea",
              "stats": {
                "minutes": 90,
                "rating": 6.5,
                "assists": 0,
                "expected_goals": 0.0168,
                "expected_assists": 0.0229,
                "total_shots": 1,
                "total_pass": 89,
                "accurate_pass": 81,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 3,
                "duels_won": 2,
                "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": 2274,
            "combined_rank_score": 831.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 559.0,
            "sofascore_rating": 6.8133,
            "sofascore_appearances": 30.0,
            "fifa_rank": 1103.0,
            "fifa_overall": 78.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 3,
            "squad_role": "starter",
            "projected_match_rating": 7.3711,
            "source_file": "data/player_rankings.csv",
            "player_name": "Calvin Bassey",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Andoni Gorosabel",
                  "ranking": 2269
                },
                {
                  "player_name": "Jeong-Yeon Wu",
                  "ranking": 2270
                },
                {
                  "player_name": "Leo Román",
                  "ranking": 2271
                },
                {
                  "player_name": "Mathías Olivera",
                  "ranking": 2272
                },
                {
                  "player_name": "Luis Suárez",
                  "ranking": 2273
                }
              ],
              "lower": [
                {
                  "player_name": "Shahzod Akramov",
                  "ranking": 2275
                },
                {
                  "player_name": "Yves Bissouma",
                  "ranking": 2276
                },
                {
                  "player_name": "Nuriddin  Nuriddinov",
                  "ranking": 2277
                },
                {
                  "player_name": "Kim Min-Ho",
                  "ranking": 2278
                },
                {
                  "player_name": "Manuel Ugarte",
                  "ranking": 2279
                }
              ]
            }
          },
          "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.063,
            "fbref_prior_metrics": {
              "squad": "Fulham",
              "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": 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, Fulham, 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.9343,
                "minutes": 90,
                "total_pass": 87,
                "accurate_pass": 79,
                "duels_won": 4,
                "total_long_balls": 10,
                "accurate_long_balls": 6,
                "total_own_half_passes": 47,
                "accurate_own_half_passes": 45,
                "total_opp_half_passes": 40,
                "accurate_opp_half_passes": 35,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 100,
                "possession_lost": 10.0,
                "dispossessed": 0.0,
                "duels_lost": 4,
                "aerial_lost": 3,
                "total_contest": 2,
                "won_contest": 1,
                "ball_recovery": 4,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 2,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.02,
                "expected_assists": 0.02,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 36,
                "total_progression": 151,
                "progressive_carries": 3,
                "key_pass": 0
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0630, quality 0.710)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "rating": 7.3711,
                "minutes": 95,
                "total_pass": 93,
                "accurate_pass": 84,
                "duels_won": 4,
                "total_long_balls": 11,
                "accurate_long_balls": 7,
                "total_own_half_passes": 50,
                "accurate_own_half_passes": 47,
                "total_opp_half_passes": 43,
                "accurate_opp_half_passes": 37,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 106,
                "possession_lost": 10.63,
                "dispossessed": 0.0,
                "duels_lost": 4,
                "aerial_lost": 3,
                "total_contest": 2,
                "won_contest": 1,
                "ball_recovery": 4,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 2,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0213,
                "expected_assists": 0.0213,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 38,
                "total_progression": 161,
                "progressive_carries": 3,
                "key_pass": 0
              }
            },
            {
              "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": 1,
                "rating": 7.3711,
                "minutes": 95,
                "total_pass": 93,
                "accurate_pass": 84,
                "duels_won": 4,
                "total_long_balls": 11,
                "accurate_long_balls": 7,
                "total_own_half_passes": 50,
                "accurate_own_half_passes": 47,
                "total_opp_half_passes": 43,
                "accurate_opp_half_passes": 37,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 106,
                "possession_lost": 10.63,
                "dispossessed": 0.0,
                "duels_lost": 4,
                "aerial_lost": 3,
                "total_contest": 2,
                "won_contest": 1,
                "ball_recovery": 4,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 2,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0213,
                "expected_assists": 0.0213,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 38,
                "total_progression": 161,
                "progressive_carries": 3,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.5,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": -1.0
              }
            },
            {
              "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": 1,
                "rating": 7.3711,
                "minutes": 95,
                "total_pass": 93,
                "accurate_pass": 84,
                "duels_won": 4,
                "total_long_balls": 11,
                "accurate_long_balls": 7,
                "total_own_half_passes": 50,
                "accurate_own_half_passes": 47,
                "total_opp_half_passes": 43,
                "accurate_opp_half_passes": 37,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 106,
                "possession_lost": 10.63,
                "dispossessed": 0.0,
                "duels_lost": 4,
                "aerial_lost": 3,
                "total_contest": 2,
                "won_contest": 1,
                "ball_recovery": 4,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 2,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0213,
                "expected_assists": 0.0213,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 38,
                "total_progression": 161,
                "progressive_carries": 3,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.5,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.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": 1,
                "rating": 7.3711,
                "minutes": 95,
                "total_pass": 93,
                "accurate_pass": 84,
                "duels_won": 4,
                "total_long_balls": 11,
                "accurate_long_balls": 7,
                "total_own_half_passes": 50,
                "accurate_own_half_passes": 47,
                "total_opp_half_passes": 43,
                "accurate_opp_half_passes": 37,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 106,
                "possession_lost": 10.63,
                "dispossessed": 0.0,
                "duels_lost": 4,
                "aerial_lost": 3,
                "total_contest": 2,
                "won_contest": 1,
                "ball_recovery": 4,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 2,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0213,
                "expected_assists": 0.0213,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 38,
                "total_progression": 161,
                "progressive_carries": 3,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.5,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.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.5,
                "defensive_success_rate": 0.682,
                "opponent_faced": "Alexander Isak",
                "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 0.95 (squad xG sum 1.3873, xG scale 0.6877)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "rating": 7.3711,
                "minutes": 95,
                "total_pass": 93,
                "accurate_pass": 84,
                "duels_won": 4,
                "total_long_balls": 11,
                "accurate_long_balls": 7,
                "total_own_half_passes": 50,
                "accurate_own_half_passes": 47,
                "total_opp_half_passes": 43,
                "accurate_opp_half_passes": 37,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 106,
                "possession_lost": 10.63,
                "dispossessed": 0.0,
                "duels_lost": 4,
                "aerial_lost": 3,
                "total_contest": 2,
                "won_contest": 1,
                "ball_recovery": 4,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 2,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0146,
                "expected_assists": 0.0213,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 38,
                "total_progression": 161,
                "progressive_carries": 3,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.5,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.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.5,
                "defensive_success_rate": 0.682,
                "opponent_faced": "Alexander Isak",
                "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 78.0)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "rating": 7.3711,
                "minutes": 95,
                "total_pass": 93,
                "accurate_pass": 84,
                "duels_won": 4,
                "total_long_balls": 11,
                "accurate_long_balls": 7,
                "total_own_half_passes": 50,
                "accurate_own_half_passes": 47,
                "total_opp_half_passes": 43,
                "accurate_opp_half_passes": 37,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 106,
                "possession_lost": 10.63,
                "dispossessed": 0.0,
                "duels_lost": 4,
                "aerial_lost": 3,
                "total_contest": 2,
                "won_contest": 1,
                "ball_recovery": 4,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 2,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0146,
                "expected_assists": 0.0213,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 38,
                "total_progression": 161,
                "progressive_carries": 3,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.5,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.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.5,
                "defensive_success_rate": 0.682,
                "opponent_faced": "Alexander Isak",
                "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": 78.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": 1,
                "rating": 7.3711,
                "minutes": 95,
                "total_pass": 93,
                "accurate_pass": 84,
                "duels_won": 4,
                "total_long_balls": 11,
                "accurate_long_balls": 7,
                "total_own_half_passes": 50,
                "accurate_own_half_passes": 47,
                "total_opp_half_passes": 43,
                "accurate_opp_half_passes": 37,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 106,
                "possession_lost": 10.63,
                "dispossessed": 0.0,
                "duels_lost": 4,
                "aerial_lost": 3,
                "total_contest": 2,
                "won_contest": 1,
                "ball_recovery": 4,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 2,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0146,
                "expected_assists": 0.0213,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 38,
                "total_progression": 161,
                "progressive_carries": 3,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.5,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.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.5,
                "defensive_success_rate": 0.682,
                "opponent_faced": "Alexander Isak",
                "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": 78.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": 1,
                "rating": 7.3711,
                "minutes": 95,
                "total_pass": 93,
                "accurate_pass": 84,
                "duels_won": 4,
                "total_long_balls": 11,
                "accurate_long_balls": 7,
                "total_own_half_passes": 50,
                "accurate_own_half_passes": 47,
                "total_opp_half_passes": 43,
                "accurate_opp_half_passes": 37,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 106,
                "possession_lost": 10.63,
                "dispossessed": 0.0,
                "duels_lost": 4,
                "aerial_lost": 3,
                "total_contest": 2,
                "won_contest": 1,
                "ball_recovery": 4,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 2,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0146,
                "expected_assists": 0.0213,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 38,
                "total_progression": 161,
                "progressive_carries": 3,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.5,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.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.5,
                "defensive_success_rate": 0.682,
                "opponent_faced": "Alexander Isak",
                "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": 78.0
              }
            }
          ]
        },
        "Gonzalo García": {
          "player_id": 1402716,
          "position": "F",
          "position_depth": "F",
          "is_starter": true,
          "shirt_number": 7,
          "height": 182,
          "market_value": 31000000,
          "stats": {
            "expected_goals": 0.1254,
            "goal_rate": 0.2869,
            "goals": 0,
            "shots_on_target": 1,
            "expected_assists": 0.0514,
            "key_pass": 1,
            "rating": 7.2543,
            "minutes": 95,
            "total_shots": 3,
            "duels_won": 7,
            "aerial_won": 2,
            "total_pass": 23,
            "accurate_pass": 18,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 14,
            "accurate_opp_half_passes": 11,
            "crosses_total": 2,
            "crosses_accurate": 0,
            "touches": 42,
            "possession_lost": 11.3899,
            "dispossessed": 1.4197,
            "duels_lost": 9,
            "aerial_lost": 3,
            "total_contest": 3,
            "won_contest": 1,
            "ball_recovery": 2,
            "challenges_lost": 1,
            "fouls": 2,
            "fouls_drawn": 2,
            "assists": 0,
            "shots_off_target": 2,
            "interceptions": 1,
            "tackles_won": 1,
            "tackles": 1,
            "clearances": 2,
            "blocks": 1,
            "big_chances_created": 0,
            "big_chances_missed": 1,
            "xgot": 1.0034,
            "offsides": 1,
            "ball_carries": 7,
            "total_progression": 11,
            "progressive_carries": 1,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 16.7,
            "shotConversion": 0.17,
            "minutesPct": 100.0,
            "pointsPerMatch": 0.0,
            "netGoalDifferencePer90": 0.0,
            "dribbles_attempted": 2,
            "dribbles_successful": 0.3,
            "crosses_attempted": 0.0,
            "duel_win_rate": 0.18,
            "pressing_faced": "MEDIUM",
            "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
            "numerical_situation": "1v2",
            "opponent_defenders": "Virgil van Dijk, Jérémy Jacquet",
            "opponent_faced": "Virgil van Dijk, Jérémy Jacquet",
            "antagonist_source": "attacking_duel",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 78.0
          },
          "latest_10_games": [
            {
              "match_id": 16363269.0,
              "match_date": "2026-09-05",
              "home_team": "Fulham",
              "away_team": "Crystal Palace",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Fulham",
              "opponent": "Crystal Palace",
              "stats": {
                "minutes": 90,
                "rating": 6.4,
                "assists": 0,
                "expected_goals": 0.4426,
                "expected_assists": 0.2017,
                "total_shots": 5,
                "shots_off_target": 2,
                "total_pass": 20,
                "accurate_pass": 16,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 2,
                "aerial_won": 3,
                "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": 16363255.0,
              "match_date": "2026-08-30",
              "home_team": "Sunderland",
              "away_team": "Fulham",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Fulham",
              "opponent": "Sunderland",
              "stats": {
                "minutes": 90,
                "rating": 6.4,
                "assists": 0,
                "expected_goals": 0.2697,
                "expected_assists": 0.0129,
                "total_shots": 3,
                "total_pass": 19,
                "accurate_pass": 13,
                "clearances": 1,
                "aerial_won": 3,
                "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": 16363244.0,
              "match_date": "2026-08-24",
              "home_team": "Fulham",
              "away_team": "Chelsea",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Fulham",
              "opponent": "Chelsea",
              "stats": {
                "minutes": 90,
                "rating": 7.1,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.7335,
                "expected_assists": 0.0065,
                "total_shots": 3,
                "shots_on_target": 1,
                "total_pass": 27,
                "accurate_pass": 23,
                "tackles": 1,
                "aerial_won": 4,
                "duels_won": 8,
                "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": 1573,
            "combined_rank_score": 873.5,
            "ranking_source": "sofascore_plus_fifa_csv_filled",
            "ranking_status": "combined",
            "sofascore_rank": 641.0,
            "sofascore_rating": 6.75,
            "sofascore_appearances": 2.0,
            "fifa_rank": 1106.0,
            "fifa_overall": 78.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 1,
            "squad_role": "starter",
            "projected_match_rating": 7.2543,
            "source_file": "data/player_rankings.csv",
            "player_name": "Gonzalo García",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Alan Minda",
                  "ranking": 1568
                },
                {
                  "player_name": "Éric Davis",
                  "ranking": 1569
                },
                {
                  "player_name": "Javier Boñar",
                  "ranking": 1570
                },
                {
                  "player_name": "Ken Sema",
                  "ranking": 1571
                },
                {
                  "player_name": "Julio Báez",
                  "ranking": 1572
                }
              ],
              "lower": [
                {
                  "player_name": "Yilmar Velázquez",
                  "ranking": 1574
                },
                {
                  "player_name": "Mauricio Vera",
                  "ranking": 1575
                },
                {
                  "player_name": "Jardel",
                  "ranking": 1576
                },
                {
                  "player_name": "Kim Dong-wook",
                  "ranking": 1577
                },
                {
                  "player_name": "Viktor Đukanović",
                  "ranking": 1578
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.457,
          "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.457,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.0675,
            "fbref_prior_metrics": {
              "squad": "Fulham",
              "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": 3.0,
              "shots_on_target_pct": 16.7,
              "prior_reliability": 0.1333
            },
            "rationale": "XGBoost regressor (F_service) evaluated 3 historical appearances across 6 target models; FBref 2026-2027 prior blended (Premier League, Fulham, rel: 0.13, gls/90: 0.5, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 6 target models",
              "stats": {
                "expected_goals": 0.2649,
                "goal_rate": 0.2573,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0481,
                "key_pass": 1,
                "rating": 6.7958,
                "minutes": 90,
                "total_shots": 4,
                "duels_won": 6,
                "aerial_won": 3,
                "total_pass": 22,
                "accurate_pass": 17,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 13,
                "accurate_opp_half_passes": 10,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 39,
                "possession_lost": 10.67,
                "dispossessed": 1.33,
                "duels_lost": 9,
                "aerial_lost": 3,
                "total_contest": 3,
                "won_contest": 1,
                "ball_recovery": 2,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 2,
                "assists": 0,
                "shots_off_target": 2,
                "interceptions": 1,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 2,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 1,
                "xgot": 0.94,
                "offsides": 1,
                "ball_carries": 7,
                "total_progression": 10,
                "progressive_carries": 1
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0675, quality 0.725)",
              "stats": {
                "expected_goals": 0.2828,
                "goal_rate": 0.2747,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0514,
                "key_pass": 1,
                "rating": 7.2543,
                "minutes": 95,
                "total_shots": 4,
                "duels_won": 7,
                "aerial_won": 4,
                "total_pass": 23,
                "accurate_pass": 18,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 14,
                "accurate_opp_half_passes": 11,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 42,
                "possession_lost": 11.3899,
                "dispossessed": 1.4197,
                "duels_lost": 9,
                "aerial_lost": 3,
                "total_contest": 3,
                "won_contest": 1,
                "ball_recovery": 2,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 2,
                "assists": 0,
                "shots_off_target": 2,
                "interceptions": 1,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 2,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 1,
                "xgot": 1.0034,
                "offsides": 1,
                "ball_carries": 7,
                "total_progression": 11,
                "progressive_carries": 1
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0542)",
              "stats": {
                "expected_goals": 0.2828,
                "goal_rate": 0.2869,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0514,
                "key_pass": 1,
                "rating": 7.2543,
                "minutes": 95,
                "total_shots": 4,
                "duels_won": 7,
                "aerial_won": 4,
                "total_pass": 23,
                "accurate_pass": 18,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 14,
                "accurate_opp_half_passes": 11,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 42,
                "possession_lost": 11.3899,
                "dispossessed": 1.4197,
                "duels_lost": 9,
                "aerial_lost": 3,
                "total_contest": 3,
                "won_contest": 1,
                "ball_recovery": 2,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 2,
                "assists": 0,
                "shots_off_target": 2,
                "interceptions": 1,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 2,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 1,
                "xgot": 1.0034,
                "offsides": 1,
                "ball_carries": 7,
                "total_progression": 11,
                "progressive_carries": 1,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 16.7,
                "shotConversion": 0.17,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": -1.0
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.2828,
                "goal_rate": 0.2869,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0514,
                "key_pass": 1,
                "rating": 7.2543,
                "minutes": 95,
                "total_shots": 4,
                "duels_won": 7,
                "aerial_won": 4,
                "total_pass": 23,
                "accurate_pass": 18,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 14,
                "accurate_opp_half_passes": 11,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 42,
                "possession_lost": 11.3899,
                "dispossessed": 1.4197,
                "duels_lost": 9,
                "aerial_lost": 3,
                "total_contest": 3,
                "won_contest": 1,
                "ball_recovery": 2,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 2,
                "assists": 0,
                "shots_off_target": 2,
                "interceptions": 1,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 2,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 1,
                "xgot": 1.0034,
                "offsides": 1,
                "ball_carries": 7,
                "total_progression": 11,
                "progressive_carries": 1,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 16.7,
                "shotConversion": 0.17,
                "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": {
                "expected_goals": 0.1823,
                "goal_rate": 0.2869,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0514,
                "key_pass": 1,
                "rating": 7.2543,
                "minutes": 95,
                "total_shots": 3,
                "duels_won": 7,
                "aerial_won": 2,
                "total_pass": 23,
                "accurate_pass": 18,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 14,
                "accurate_opp_half_passes": 11,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 42,
                "possession_lost": 11.3899,
                "dispossessed": 1.4197,
                "duels_lost": 9,
                "aerial_lost": 3,
                "total_contest": 3,
                "won_contest": 1,
                "ball_recovery": 2,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 2,
                "assists": 0,
                "shots_off_target": 2,
                "interceptions": 1,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 2,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 1,
                "xgot": 1.0034,
                "offsides": 1,
                "ball_carries": 7,
                "total_progression": 11,
                "progressive_carries": 1,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 16.7,
                "shotConversion": 0.17,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Virgil van Dijk, Jérémy Jacquet",
                "opponent_faced": "Virgil van Dijk, Jérémy Jacquet",
                "antagonist_source": "attacking_duel"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 0.95 (squad xG sum 1.3873, xG scale 0.6877)",
              "stats": {
                "expected_goals": 0.1254,
                "goal_rate": 0.2869,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0514,
                "key_pass": 1,
                "rating": 7.2543,
                "minutes": 95,
                "total_shots": 3,
                "duels_won": 7,
                "aerial_won": 2,
                "total_pass": 23,
                "accurate_pass": 18,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 14,
                "accurate_opp_half_passes": 11,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 42,
                "possession_lost": 11.3899,
                "dispossessed": 1.4197,
                "duels_lost": 9,
                "aerial_lost": 3,
                "total_contest": 3,
                "won_contest": 1,
                "ball_recovery": 2,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 2,
                "assists": 0,
                "shots_off_target": 2,
                "interceptions": 1,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 2,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 1,
                "xgot": 1.0034,
                "offsides": 1,
                "ball_carries": 7,
                "total_progression": 11,
                "progressive_carries": 1,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 16.7,
                "shotConversion": 0.17,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Virgil van Dijk, Jérémy Jacquet",
                "opponent_faced": "Virgil van Dijk, Jérémy Jacquet",
                "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 1, fifa_overall 78.0)",
              "stats": {
                "expected_goals": 0.1254,
                "goal_rate": 0.2869,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0514,
                "key_pass": 1,
                "rating": 7.2543,
                "minutes": 95,
                "total_shots": 3,
                "duels_won": 7,
                "aerial_won": 2,
                "total_pass": 23,
                "accurate_pass": 18,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 14,
                "accurate_opp_half_passes": 11,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 42,
                "possession_lost": 11.3899,
                "dispossessed": 1.4197,
                "duels_lost": 9,
                "aerial_lost": 3,
                "total_contest": 3,
                "won_contest": 1,
                "ball_recovery": 2,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 2,
                "assists": 0,
                "shots_off_target": 2,
                "interceptions": 1,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 2,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 1,
                "xgot": 1.0034,
                "offsides": 1,
                "ball_carries": 7,
                "total_progression": 11,
                "progressive_carries": 1,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 16.7,
                "shotConversion": 0.17,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Virgil van Dijk, Jérémy Jacquet",
                "opponent_faced": "Virgil van Dijk, Jérémy Jacquet",
                "antagonist_source": "attacking_duel",
                "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.1254,
                "goal_rate": 0.2869,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0514,
                "key_pass": 1,
                "rating": 7.2543,
                "minutes": 95,
                "total_shots": 3,
                "duels_won": 7,
                "aerial_won": 2,
                "total_pass": 23,
                "accurate_pass": 18,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 14,
                "accurate_opp_half_passes": 11,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 42,
                "possession_lost": 11.3899,
                "dispossessed": 1.4197,
                "duels_lost": 9,
                "aerial_lost": 3,
                "total_contest": 3,
                "won_contest": 1,
                "ball_recovery": 2,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 2,
                "assists": 0,
                "shots_off_target": 2,
                "interceptions": 1,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 2,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 1,
                "xgot": 1.0034,
                "offsides": 1,
                "ball_carries": 7,
                "total_progression": 11,
                "progressive_carries": 1,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 16.7,
                "shotConversion": 0.17,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Virgil van Dijk, Jérémy Jacquet",
                "opponent_faced": "Virgil van Dijk, Jérémy Jacquet",
                "antagonist_source": "attacking_duel",
                "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.1254,
                "goal_rate": 0.2869,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0514,
                "key_pass": 1,
                "rating": 7.2543,
                "minutes": 95,
                "total_shots": 3,
                "duels_won": 7,
                "aerial_won": 2,
                "total_pass": 23,
                "accurate_pass": 18,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 14,
                "accurate_opp_half_passes": 11,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 42,
                "possession_lost": 11.3899,
                "dispossessed": 1.4197,
                "duels_lost": 9,
                "aerial_lost": 3,
                "total_contest": 3,
                "won_contest": 1,
                "ball_recovery": 2,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 2,
                "assists": 0,
                "shots_off_target": 2,
                "interceptions": 1,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 2,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 1,
                "xgot": 1.0034,
                "offsides": 1,
                "ball_carries": 7,
                "total_progression": 11,
                "progressive_carries": 1,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 16.7,
                "shotConversion": 0.17,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.3,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Virgil van Dijk, Jérémy Jacquet",
                "opponent_faced": "Virgil van Dijk, Jérémy Jacquet",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 78.0
              }
            }
          ]
        },
        "César Palacios": {
          "player_id": 1402688,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 8,
          "height": 181,
          "market_value": 6800000,
          "stats": {
            "key_pass": 1,
            "expected_assists": 0.0554,
            "assists": 0,
            "expected_goals": 0.09,
            "rating": 6.8395,
            "minutes": 70,
            "total_pass": 30,
            "accurate_pass": 26,
            "ball_recovery": 4,
            "duels_won": 3,
            "total_shots": 3,
            "total_long_balls": 1,
            "accurate_long_balls": 1,
            "total_own_half_passes": 12,
            "accurate_own_half_passes": 10,
            "total_opp_half_passes": 19,
            "accurate_opp_half_passes": 16,
            "crosses_total": 1,
            "crosses_accurate": 0,
            "touches": 44,
            "possession_lost": 8.6289,
            "dispossessed": 0.9953,
            "duels_lost": 3,
            "aerial_won": 1,
            "aerial_lost": 3,
            "interceptions": 1,
            "tackles_won": 1,
            "tackles": 2,
            "clearances": 2,
            "total_contest": 2,
            "won_contest": 2,
            "challenges_lost": 0,
            "fouls": 2,
            "fouls_drawn": 0,
            "goal_rate": 0.9522,
            "goals": 0,
            "shots_on_target": 2,
            "shots_off_target": 1,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.637,
            "ball_carries": 13,
            "total_progression": 25,
            "progressive_carries": 0,
            "offsides": 0,
            "yellowCards": 0.625,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 0.0,
            "shotConversion": 0.0,
            "minutesPct": 81.7,
            "pointsPerMatch": 0.0,
            "netGoalDifferencePer90": 0.0,
            "dribbles_attempted": 3,
            "dribbles_successful": 1.0,
            "crosses_attempted": 2.0,
            "duel_win_rate": 0.365,
            "pressing_faced": "MEDIUM",
            "matchup_zone": "Left Wing vs Right Back — Flank Battle",
            "numerical_situation": "1v1",
            "opponent_defenders": "Ronald Araújo",
            "opponent_faced": "Ronald Araújo",
            "antagonist_source": "attacking_duel, midfield_pairing",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 67.0
          },
          "latest_10_games": [
            {
              "match_id": 16363269.0,
              "match_date": "2026-09-05",
              "home_team": "Fulham",
              "away_team": "Crystal Palace",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Fulham",
              "opponent": "Crystal Palace",
              "stats": {
                "minutes": 61,
                "rating": 6.7,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.7975,
                "expected_assists": 0.0152,
                "total_shots": 5,
                "shots_on_target": 2,
                "shots_off_target": 2,
                "total_pass": 29,
                "accurate_pass": 26,
                "key_pass": 1,
                "aerial_won": 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"
            },
            {
              "match_id": 16363255.0,
              "match_date": "2026-08-30",
              "home_team": "Sunderland",
              "away_team": "Fulham",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Fulham",
              "opponent": "Sunderland",
              "stats": {
                "minutes": 76,
                "rating": 6.5,
                "assists": 0,
                "expected_goals": 0.0241,
                "expected_assists": 0.0047,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 25,
                "accurate_pass": 21,
                "interceptions": 1,
                "clearances": 2,
                "aerial_won": 1,
                "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": 16363244.0,
              "match_date": "2026-08-24",
              "home_team": "Fulham",
              "away_team": "Chelsea",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Fulham",
              "opponent": "Chelsea",
              "stats": {
                "minutes": 73,
                "rating": 6.0,
                "assists": 0,
                "expected_goals": 0.1558,
                "expected_assists": 0.0082,
                "total_shots": 2,
                "shots_off_target": 1,
                "total_pass": 37,
                "accurate_pass": 32,
                "tackles": 2,
                "tackles_won": 1,
                "duels_won": 3,
                "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": 6657,
            "combined_rank_score": 4965.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 901.0,
            "sofascore_rating": 6.52,
            "sofascore_appearances": 5.0,
            "fifa_rank": 9030.0,
            "fifa_overall": 67.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 15,
            "squad_role": "starter",
            "projected_match_rating": 6.8395,
            "source_file": "data/player_rankings.csv",
            "player_name": "César Palacios",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Dion Gallapeni",
                  "ranking": 6652
                },
                {
                  "player_name": "Patryk Peda",
                  "ranking": 6653
                },
                {
                  "player_name": "Samuele Angori",
                  "ranking": 6654
                },
                {
                  "player_name": "Tommaso Barbieri",
                  "ranking": 6655
                },
                {
                  "player_name": "Simone D'Uffizi",
                  "ranking": 6656
                }
              ],
              "lower": [
                {
                  "player_name": "Yannick Bright",
                  "ranking": 6658
                },
                {
                  "player_name": "Héctor Herrera",
                  "ranking": 6659
                },
                {
                  "player_name": "Rafael",
                  "ranking": 6660
                },
                {
                  "player_name": "Harry Toffolo",
                  "ranking": 6661
                },
                {
                  "player_name": "Antônio Carlos",
                  "ranking": 6662
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.454,
          "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.454,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 0.9953,
            "fbref_prior_metrics": {
              "squad": "Fulham",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 2.0,
              "minutes": 147.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 1.84,
              "shots_on_target_pct": 0.0,
              "prior_reliability": 0.1067
            },
            "rationale": "XGBoost regressor (M_service) evaluated 3 historical appearances across 5 target models; FBref 2026-2027 prior blended (Premier League, Fulham, rel: 0.11, 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.0556,
                "assists": 0,
                "expected_goals": 0.1315,
                "rating": 6.8721,
                "minutes": 70,
                "total_pass": 30,
                "accurate_pass": 26,
                "ball_recovery": 4,
                "duels_won": 3,
                "total_shots": 3,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 12,
                "accurate_own_half_passes": 10,
                "total_opp_half_passes": 19,
                "accurate_opp_half_passes": 16,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 45,
                "possession_lost": 8.67,
                "dispossessed": 1.0,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 3,
                "interceptions": 1,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 2,
                "total_contest": 2,
                "won_contest": 2,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 0,
                "goal_rate": 1.0,
                "goals": 1,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.64,
                "ball_carries": 13,
                "total_progression": 25,
                "progressive_carries": 0
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9953, quality 0.484)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0554,
                "assists": 0,
                "expected_goals": 0.1309,
                "rating": 6.8395,
                "minutes": 70,
                "total_pass": 30,
                "accurate_pass": 26,
                "ball_recovery": 4,
                "duels_won": 3,
                "total_shots": 3,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 12,
                "accurate_own_half_passes": 10,
                "total_opp_half_passes": 19,
                "accurate_opp_half_passes": 16,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 44,
                "possession_lost": 8.6289,
                "dispossessed": 0.9953,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 3,
                "interceptions": 1,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 2,
                "total_contest": 2,
                "won_contest": 2,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 0,
                "goal_rate": 0.9953,
                "goals": 1,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.637,
                "ball_carries": 13,
                "total_progression": 25,
                "progressive_carries": 0
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0433)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0554,
                "assists": 0,
                "expected_goals": 0.1309,
                "rating": 6.8395,
                "minutes": 70,
                "total_pass": 30,
                "accurate_pass": 26,
                "ball_recovery": 4,
                "duels_won": 3,
                "total_shots": 3,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 12,
                "accurate_own_half_passes": 10,
                "total_opp_half_passes": 19,
                "accurate_opp_half_passes": 16,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 44,
                "possession_lost": 8.6289,
                "dispossessed": 0.9953,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 3,
                "interceptions": 1,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 2,
                "total_contest": 2,
                "won_contest": 2,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 0,
                "goal_rate": 0.9522,
                "goals": 1,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.637,
                "ball_carries": 13,
                "total_progression": 25,
                "progressive_carries": 0,
                "offsides": 0,
                "yellowCards": 0.625,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 81.7,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": -1.22
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0554,
                "assists": 0,
                "expected_goals": 0.1309,
                "rating": 6.8395,
                "minutes": 70,
                "total_pass": 30,
                "accurate_pass": 26,
                "ball_recovery": 4,
                "duels_won": 3,
                "total_shots": 3,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 12,
                "accurate_own_half_passes": 10,
                "total_opp_half_passes": 19,
                "accurate_opp_half_passes": 16,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 44,
                "possession_lost": 8.6289,
                "dispossessed": 0.9953,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 3,
                "interceptions": 1,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 2,
                "total_contest": 2,
                "won_contest": 2,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 0,
                "goal_rate": 0.9522,
                "goals": 1,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.637,
                "ball_carries": 13,
                "total_progression": 25,
                "progressive_carries": 0,
                "offsides": 0,
                "yellowCards": 0.625,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 81.7,
                "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.0554,
                "assists": 0,
                "expected_goals": 0.1309,
                "rating": 6.8395,
                "minutes": 70,
                "total_pass": 30,
                "accurate_pass": 26,
                "ball_recovery": 4,
                "duels_won": 3,
                "total_shots": 3,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 12,
                "accurate_own_half_passes": 10,
                "total_opp_half_passes": 19,
                "accurate_opp_half_passes": 16,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 44,
                "possession_lost": 8.6289,
                "dispossessed": 0.9953,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 3,
                "interceptions": 1,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 2,
                "total_contest": 2,
                "won_contest": 2,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 0,
                "goal_rate": 0.9522,
                "goals": 1,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.637,
                "ball_carries": 13,
                "total_progression": 25,
                "progressive_carries": 0,
                "offsides": 0,
                "yellowCards": 0.625,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 81.7,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 3,
                "dribbles_successful": 1.0,
                "crosses_attempted": 2.0,
                "duel_win_rate": 0.365,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Ronald Araújo",
                "opponent_faced": "Ronald Araújo",
                "antagonist_source": "attacking_duel, midfield_pairing"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 0.95 (squad xG sum 1.3873, xG scale 0.6877)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0554,
                "assists": 0,
                "expected_goals": 0.09,
                "rating": 6.8395,
                "minutes": 70,
                "total_pass": 30,
                "accurate_pass": 26,
                "ball_recovery": 4,
                "duels_won": 3,
                "total_shots": 3,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 12,
                "accurate_own_half_passes": 10,
                "total_opp_half_passes": 19,
                "accurate_opp_half_passes": 16,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 44,
                "possession_lost": 8.6289,
                "dispossessed": 0.9953,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 3,
                "interceptions": 1,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 2,
                "total_contest": 2,
                "won_contest": 2,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 0,
                "goal_rate": 0.9522,
                "goals": 0,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.637,
                "ball_carries": 13,
                "total_progression": 25,
                "progressive_carries": 0,
                "offsides": 0,
                "yellowCards": 0.625,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 81.7,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 3,
                "dribbles_successful": 1.0,
                "crosses_attempted": 2.0,
                "duel_win_rate": 0.365,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Ronald Araújo",
                "opponent_faced": "Ronald Araújo",
                "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 15, fifa_overall 67.0)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0554,
                "assists": 0,
                "expected_goals": 0.09,
                "rating": 6.8395,
                "minutes": 70,
                "total_pass": 30,
                "accurate_pass": 26,
                "ball_recovery": 4,
                "duels_won": 3,
                "total_shots": 3,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 12,
                "accurate_own_half_passes": 10,
                "total_opp_half_passes": 19,
                "accurate_opp_half_passes": 16,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 44,
                "possession_lost": 8.6289,
                "dispossessed": 0.9953,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 3,
                "interceptions": 1,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 2,
                "total_contest": 2,
                "won_contest": 2,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 0,
                "goal_rate": 0.9522,
                "goals": 0,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.637,
                "ball_carries": 13,
                "total_progression": 25,
                "progressive_carries": 0,
                "offsides": 0,
                "yellowCards": 0.625,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 81.7,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 3,
                "dribbles_successful": 1.0,
                "crosses_attempted": 2.0,
                "duel_win_rate": 0.365,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Ronald Araújo",
                "opponent_faced": "Ronald Araújo",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 67.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 0 projected goals distributed by scorer weight",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0554,
                "assists": 0,
                "expected_goals": 0.09,
                "rating": 6.8395,
                "minutes": 70,
                "total_pass": 30,
                "accurate_pass": 26,
                "ball_recovery": 4,
                "duels_won": 3,
                "total_shots": 3,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 12,
                "accurate_own_half_passes": 10,
                "total_opp_half_passes": 19,
                "accurate_opp_half_passes": 16,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 44,
                "possession_lost": 8.6289,
                "dispossessed": 0.9953,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 3,
                "interceptions": 1,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 2,
                "total_contest": 2,
                "won_contest": 2,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 0,
                "goal_rate": 0.9522,
                "goals": 0,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.637,
                "ball_carries": 13,
                "total_progression": 25,
                "progressive_carries": 0,
                "offsides": 0,
                "yellowCards": 0.625,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 81.7,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 3,
                "dribbles_successful": 1.0,
                "crosses_attempted": 2.0,
                "duel_win_rate": 0.365,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Ronald Araújo",
                "opponent_faced": "Ronald Araújo",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 67.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 0 projected assists distributed by provider weight",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0554,
                "assists": 0,
                "expected_goals": 0.09,
                "rating": 6.8395,
                "minutes": 70,
                "total_pass": 30,
                "accurate_pass": 26,
                "ball_recovery": 4,
                "duels_won": 3,
                "total_shots": 3,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 12,
                "accurate_own_half_passes": 10,
                "total_opp_half_passes": 19,
                "accurate_opp_half_passes": 16,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 44,
                "possession_lost": 8.6289,
                "dispossessed": 0.9953,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 3,
                "interceptions": 1,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 2,
                "total_contest": 2,
                "won_contest": 2,
                "challenges_lost": 0,
                "fouls": 2,
                "fouls_drawn": 0,
                "goal_rate": 0.9522,
                "goals": 0,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.637,
                "ball_carries": 13,
                "total_progression": 25,
                "progressive_carries": 0,
                "offsides": 0,
                "yellowCards": 0.625,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 81.7,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 3,
                "dribbles_successful": 1.0,
                "crosses_attempted": 2.0,
                "duel_win_rate": 0.365,
                "pressing_faced": "MEDIUM",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Ronald Araújo",
                "opponent_faced": "Ronald Araújo",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 67.0
              }
            }
          ]
        },
        "Joshua King": {
          "player_id": 1546231,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 24,
          "height": 172,
          "market_value": 26000000,
          "stats": {
            "key_pass": 1,
            "expected_assists": 0.1277,
            "assists": 0,
            "expected_goals": 0.1293,
            "rating": 7.4063,
            "minutes": 95,
            "total_pass": 38,
            "accurate_pass": 32,
            "ball_recovery": 4,
            "duels_won": 4,
            "total_shots": 3,
            "total_long_balls": 1,
            "accurate_long_balls": 1,
            "total_own_half_passes": 15,
            "accurate_own_half_passes": 14,
            "total_opp_half_passes": 24,
            "accurate_opp_half_passes": 18,
            "crosses_total": 1,
            "crosses_accurate": 0,
            "touches": 56,
            "possession_lost": 15.1289,
            "dispossessed": 1.0558,
            "duels_lost": 6,
            "aerial_won": 1,
            "aerial_lost": 2,
            "interceptions": 1,
            "tackles_won": 2,
            "tackles": 2,
            "clearances": 2,
            "total_contest": 5,
            "won_contest": 3,
            "challenges_lost": 1,
            "fouls": 2,
            "fouls_drawn": 1,
            "goal_rate": 1.0257,
            "goals": 0,
            "shots_on_target": 2,
            "shots_off_target": 1,
            "blocks": 1,
            "big_chances_created": 0,
            "big_chances_missed": 1,
            "xgot": 0.3062,
            "ball_carries": 20,
            "total_progression": 65,
            "progressive_carries": 4,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 40.0,
            "shotConversion": 0.2,
            "minutesPct": 100.0,
            "pointsPerMatch": 0.0,
            "netGoalDifferencePer90": 0.0,
            "dribbles_attempted": 3,
            "dribbles_successful": 0.5,
            "crosses_attempted": 0.0,
            "duel_win_rate": 0.18,
            "pressing_faced": "ULTRA_HIGH",
            "matchup_zone": "Attacking Mid vs Double Pivot — Tight Space Battle",
            "numerical_situation": "1v2",
            "opponent_defenders": "Florian Wirtz, Alexis Mac Allister",
            "opponent_faced": "Florian Wirtz, Alexis Mac Allister",
            "antagonist_source": "attacking_duel, midfield_pairing",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 78.0
          },
          "latest_10_games": [
            {
              "match_id": 16363269.0,
              "match_date": "2026-09-05",
              "home_team": "Fulham",
              "away_team": "Crystal Palace",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Fulham",
              "opponent": "Crystal Palace",
              "stats": {
                "minutes": 90,
                "rating": 8.1,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.3132,
                "expected_assists": 0.2695,
                "total_shots": 2,
                "shots_on_target": 1,
                "total_pass": 37,
                "accurate_pass": 33,
                "key_pass": 2,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 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": 16363255.0,
              "match_date": "2026-08-30",
              "home_team": "Sunderland",
              "away_team": "Fulham",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Fulham",
              "opponent": "Sunderland",
              "stats": {
                "minutes": 90,
                "rating": 5.8,
                "assists": 0,
                "expected_goals": 0.4696,
                "expected_assists": 0.035,
                "total_shots": 2,
                "shots_off_target": 1,
                "total_pass": 36,
                "accurate_pass": 30,
                "tackles": 2,
                "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": 16363244.0,
              "match_date": "2026-08-24",
              "home_team": "Fulham",
              "away_team": "Chelsea",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Fulham",
              "opponent": "Chelsea",
              "stats": {
                "minutes": 90,
                "rating": 7.1,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.1714,
                "expected_assists": 0.0363,
                "total_shots": 3,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "total_pass": 36,
                "accurate_pass": 28,
                "key_pass": 1,
                "tackles": 2,
                "tackles_won": 2,
                "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"
            }
          ],
          "ranking": {
            "global_player_rank": 3080,
            "combined_rank_score": 1046.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 809.0,
            "sofascore_rating": 6.6125,
            "sofascore_appearances": 32.0,
            "fifa_rank": 1284.0,
            "fifa_overall": 78.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 5,
            "squad_role": "starter",
            "projected_match_rating": 7.4063,
            "source_file": "data/player_rankings.csv",
            "player_name": "Joshua King",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Liam Delap",
                  "ranking": 3075
                },
                {
                  "player_name": "Leopold Querfeld",
                  "ranking": 3076
                },
                {
                  "player_name": "Daizen Maeda",
                  "ranking": 3077
                },
                {
                  "player_name": "Javi Galán",
                  "ranking": 3078
                },
                {
                  "player_name": "Matt O'Riley",
                  "ranking": 3079
                }
              ],
              "lower": [
                {
                  "player_name": "Aitor Ruibal",
                  "ranking": 3081
                },
                {
                  "player_name": "Artem Bondarenko",
                  "ranking": 3082
                },
                {
                  "player_name": "Igor Jesus",
                  "ranking": 3083
                },
                {
                  "player_name": "Luis Rioja",
                  "ranking": 3084
                },
                {
                  "player_name": "Roberto Alvarado",
                  "ranking": 3085
                }
              ]
            }
          },
          "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.0558,
            "fbref_prior_metrics": {
              "squad": "Fulham",
              "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": 2.5,
              "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, Fulham, 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.121,
                "assists": 0,
                "expected_goals": 0.178,
                "rating": 7.0152,
                "minutes": 90,
                "total_pass": 36,
                "accurate_pass": 30,
                "ball_recovery": 3,
                "duels_won": 4,
                "total_shots": 3,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 14,
                "accurate_own_half_passes": 13,
                "total_opp_half_passes": 22,
                "accurate_opp_half_passes": 17,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 53,
                "possession_lost": 14.33,
                "dispossessed": 1.0,
                "duels_lost": 6,
                "aerial_won": 0,
                "aerial_lost": 2,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 2,
                "total_contest": 5,
                "won_contest": 2,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 1,
                "goal_rate": 1.0,
                "goals": 1,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 1,
                "xgot": 0.29,
                "ball_carries": 19,
                "total_progression": 61,
                "progressive_carries": 4
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0558, quality 0.686)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.1277,
                "assists": 0,
                "expected_goals": 0.188,
                "rating": 7.4063,
                "minutes": 95,
                "total_pass": 38,
                "accurate_pass": 32,
                "ball_recovery": 4,
                "duels_won": 4,
                "total_shots": 3,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 15,
                "accurate_own_half_passes": 14,
                "total_opp_half_passes": 24,
                "accurate_opp_half_passes": 18,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 56,
                "possession_lost": 15.1289,
                "dispossessed": 1.0558,
                "duels_lost": 6,
                "aerial_won": 0,
                "aerial_lost": 2,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 2,
                "total_contest": 5,
                "won_contest": 3,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 1,
                "goal_rate": 1.0558,
                "goals": 1,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 1,
                "xgot": 0.3062,
                "ball_carries": 20,
                "total_progression": 65,
                "progressive_carries": 4
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0542)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.1277,
                "assists": 0,
                "expected_goals": 0.188,
                "rating": 7.4063,
                "minutes": 95,
                "total_pass": 38,
                "accurate_pass": 32,
                "ball_recovery": 4,
                "duels_won": 4,
                "total_shots": 3,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 15,
                "accurate_own_half_passes": 14,
                "total_opp_half_passes": 24,
                "accurate_opp_half_passes": 18,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 56,
                "possession_lost": 15.1289,
                "dispossessed": 1.0558,
                "duels_lost": 6,
                "aerial_won": 0,
                "aerial_lost": 2,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 2,
                "total_contest": 5,
                "won_contest": 3,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 1,
                "goal_rate": 1.0257,
                "goals": 1,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 1,
                "xgot": 0.3062,
                "ball_carries": 20,
                "total_progression": 65,
                "progressive_carries": 4,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 40.0,
                "shotConversion": 0.2,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": -1.0
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.1277,
                "assists": 0,
                "expected_goals": 0.188,
                "rating": 7.4063,
                "minutes": 95,
                "total_pass": 38,
                "accurate_pass": 32,
                "ball_recovery": 4,
                "duels_won": 4,
                "total_shots": 3,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 15,
                "accurate_own_half_passes": 14,
                "total_opp_half_passes": 24,
                "accurate_opp_half_passes": 18,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 56,
                "possession_lost": 15.1289,
                "dispossessed": 1.0558,
                "duels_lost": 6,
                "aerial_won": 0,
                "aerial_lost": 2,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 2,
                "total_contest": 5,
                "won_contest": 3,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 1,
                "goal_rate": 1.0257,
                "goals": 1,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 1,
                "xgot": 0.3062,
                "ball_carries": 20,
                "total_progression": 65,
                "progressive_carries": 4,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 40.0,
                "shotConversion": 0.2,
                "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": {
                "key_pass": 1,
                "expected_assists": 0.1277,
                "assists": 0,
                "expected_goals": 0.188,
                "rating": 7.4063,
                "minutes": 95,
                "total_pass": 38,
                "accurate_pass": 32,
                "ball_recovery": 4,
                "duels_won": 4,
                "total_shots": 3,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 15,
                "accurate_own_half_passes": 14,
                "total_opp_half_passes": 24,
                "accurate_opp_half_passes": 18,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 56,
                "possession_lost": 15.1289,
                "dispossessed": 1.0558,
                "duels_lost": 6,
                "aerial_won": 1,
                "aerial_lost": 2,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 2,
                "total_contest": 5,
                "won_contest": 3,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 1,
                "goal_rate": 1.0257,
                "goals": 1,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 1,
                "xgot": 0.3062,
                "ball_carries": 20,
                "total_progression": 65,
                "progressive_carries": 4,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 40.0,
                "shotConversion": 0.2,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 3,
                "dribbles_successful": 0.5,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "Attacking Mid vs Double Pivot — Tight Space Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Florian Wirtz, Alexis Mac Allister",
                "opponent_faced": "Florian Wirtz, Alexis Mac Allister",
                "antagonist_source": "attacking_duel, midfield_pairing"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 0.95 (squad xG sum 1.3873, xG scale 0.6877)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.1277,
                "assists": 0,
                "expected_goals": 0.1293,
                "rating": 7.4063,
                "minutes": 95,
                "total_pass": 38,
                "accurate_pass": 32,
                "ball_recovery": 4,
                "duels_won": 4,
                "total_shots": 3,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 15,
                "accurate_own_half_passes": 14,
                "total_opp_half_passes": 24,
                "accurate_opp_half_passes": 18,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 56,
                "possession_lost": 15.1289,
                "dispossessed": 1.0558,
                "duels_lost": 6,
                "aerial_won": 1,
                "aerial_lost": 2,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 2,
                "total_contest": 5,
                "won_contest": 3,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 1,
                "goal_rate": 1.0257,
                "goals": 0,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 1,
                "xgot": 0.3062,
                "ball_carries": 20,
                "total_progression": 65,
                "progressive_carries": 4,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 40.0,
                "shotConversion": 0.2,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 3,
                "dribbles_successful": 0.5,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "Attacking Mid vs Double Pivot — Tight Space Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Florian Wirtz, Alexis Mac Allister",
                "opponent_faced": "Florian Wirtz, Alexis Mac Allister",
                "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 78.0)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.1277,
                "assists": 0,
                "expected_goals": 0.1293,
                "rating": 7.4063,
                "minutes": 95,
                "total_pass": 38,
                "accurate_pass": 32,
                "ball_recovery": 4,
                "duels_won": 4,
                "total_shots": 3,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 15,
                "accurate_own_half_passes": 14,
                "total_opp_half_passes": 24,
                "accurate_opp_half_passes": 18,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 56,
                "possession_lost": 15.1289,
                "dispossessed": 1.0558,
                "duels_lost": 6,
                "aerial_won": 1,
                "aerial_lost": 2,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 2,
                "total_contest": 5,
                "won_contest": 3,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 1,
                "goal_rate": 1.0257,
                "goals": 0,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 1,
                "xgot": 0.3062,
                "ball_carries": 20,
                "total_progression": 65,
                "progressive_carries": 4,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 40.0,
                "shotConversion": 0.2,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 3,
                "dribbles_successful": 0.5,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "Attacking Mid vs Double Pivot — Tight Space Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Florian Wirtz, Alexis Mac Allister",
                "opponent_faced": "Florian Wirtz, Alexis Mac Allister",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "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": {
                "key_pass": 1,
                "expected_assists": 0.1277,
                "assists": 0,
                "expected_goals": 0.1293,
                "rating": 7.4063,
                "minutes": 95,
                "total_pass": 38,
                "accurate_pass": 32,
                "ball_recovery": 4,
                "duels_won": 4,
                "total_shots": 3,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 15,
                "accurate_own_half_passes": 14,
                "total_opp_half_passes": 24,
                "accurate_opp_half_passes": 18,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 56,
                "possession_lost": 15.1289,
                "dispossessed": 1.0558,
                "duels_lost": 6,
                "aerial_won": 1,
                "aerial_lost": 2,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 2,
                "total_contest": 5,
                "won_contest": 3,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 1,
                "goal_rate": 1.0257,
                "goals": 0,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 1,
                "xgot": 0.3062,
                "ball_carries": 20,
                "total_progression": 65,
                "progressive_carries": 4,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 40.0,
                "shotConversion": 0.2,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 3,
                "dribbles_successful": 0.5,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "Attacking Mid vs Double Pivot — Tight Space Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Florian Wirtz, Alexis Mac Allister",
                "opponent_faced": "Florian Wirtz, Alexis Mac Allister",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "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": {
                "key_pass": 1,
                "expected_assists": 0.1277,
                "assists": 0,
                "expected_goals": 0.1293,
                "rating": 7.4063,
                "minutes": 95,
                "total_pass": 38,
                "accurate_pass": 32,
                "ball_recovery": 4,
                "duels_won": 4,
                "total_shots": 3,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 15,
                "accurate_own_half_passes": 14,
                "total_opp_half_passes": 24,
                "accurate_opp_half_passes": 18,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 56,
                "possession_lost": 15.1289,
                "dispossessed": 1.0558,
                "duels_lost": 6,
                "aerial_won": 1,
                "aerial_lost": 2,
                "interceptions": 1,
                "tackles_won": 2,
                "tackles": 2,
                "clearances": 2,
                "total_contest": 5,
                "won_contest": 3,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 1,
                "goal_rate": 1.0257,
                "goals": 0,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 1,
                "xgot": 0.3062,
                "ball_carries": 20,
                "total_progression": 65,
                "progressive_carries": 4,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 40.0,
                "shotConversion": 0.2,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 3,
                "dribbles_successful": 0.5,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.18,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "Attacking Mid vs Double Pivot — Tight Space Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Florian Wirtz, Alexis Mac Allister",
                "opponent_faced": "Florian Wirtz, Alexis Mac Allister",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 78.0
              }
            }
          ]
        },
        "Oscar Bobb": {
          "player_id": 1065216,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 14,
          "height": 174,
          "market_value": 27000000,
          "stats": {
            "key_pass": 2,
            "expected_assists": 0.1505,
            "assists": 0,
            "expected_goals": 0.1267,
            "rating": 7.4059,
            "minutes": 75,
            "total_pass": 26,
            "accurate_pass": 21,
            "ball_recovery": 3,
            "duels_won": 4,
            "total_shots": 2,
            "total_long_balls": 1,
            "accurate_long_balls": 0,
            "total_own_half_passes": 6,
            "accurate_own_half_passes": 5,
            "total_opp_half_passes": 20,
            "accurate_opp_half_passes": 16,
            "crosses_total": 3,
            "crosses_accurate": 3,
            "touches": 42,
            "possession_lost": 11.2914,
            "dispossessed": 1.5874,
            "duels_lost": 5,
            "aerial_won": 1,
            "aerial_lost": 2,
            "interceptions": 1,
            "tackles_won": 1,
            "tackles": 3,
            "clearances": 0,
            "total_contest": 3,
            "won_contest": 2,
            "challenges_lost": 1,
            "fouls": 1,
            "fouls_drawn": 2,
            "goal_rate": 0.0,
            "goals": 0,
            "shots_on_target": 1,
            "shots_off_target": 1,
            "blocks": 0,
            "big_chances_created": 1,
            "big_chances_missed": 0,
            "xgot": 0.1587,
            "ball_carries": 15,
            "total_progression": 82,
            "progressive_carries": 4,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "minutesPct": 73.9,
            "pointsPerMatch": 0.0,
            "netGoalDifferencePer90": 0.0,
            "dribbles_attempted": 4,
            "dribbles_successful": 1.5,
            "crosses_attempted": 2.3,
            "duel_win_rate": 0.427,
            "pressing_faced": "HIGH",
            "matchup_zone": "Right Wing vs Left Back — Flank Battle",
            "numerical_situation": "1v1",
            "opponent_defenders": "Miloš Kerkez",
            "opponent_faced": "Miloš Kerkez",
            "antagonist_source": "attacking_duel, midfield_pairing",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 76.0
          },
          "latest_10_games": [
            {
              "match_id": 16363269.0,
              "match_date": "2026-09-05",
              "home_team": "Fulham",
              "away_team": "Crystal Palace",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Fulham",
              "opponent": "Crystal Palace",
              "stats": {
                "minutes": 79,
                "rating": 7.6,
                "assists": 0,
                "expected_goals": 0.3189,
                "expected_assists": 0.6486,
                "total_shots": 3,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 24,
                "accurate_pass": 18,
                "key_pass": 4,
                "duels_won": 2,
                "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": 16363255.0,
              "match_date": "2026-08-30",
              "home_team": "Sunderland",
              "away_team": "Fulham",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Fulham",
              "opponent": "Sunderland",
              "stats": {
                "minutes": 68,
                "rating": 6.4,
                "assists": 0,
                "expected_assists": 0.0093,
                "total_shots": 0,
                "total_pass": 25,
                "accurate_pass": 18,
                "key_pass": 1,
                "tackles": 2,
                "interceptions": 1,
                "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"
            },
            {
              "match_id": 16363244.0,
              "match_date": "2026-08-24",
              "home_team": "Fulham",
              "away_team": "Chelsea",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Fulham",
              "opponent": "Chelsea",
              "stats": {
                "minutes": 67,
                "rating": 6.7,
                "assists": 0,
                "expected_assists": 0.2638,
                "total_shots": 0,
                "total_pass": 25,
                "accurate_pass": 23,
                "key_pass": 1,
                "tackles": 3,
                "tackles_won": 1,
                "interceptions": 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": 3088,
            "combined_rank_score": 1056.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 310.0,
            "sofascore_rating": 7.0333,
            "sofascore_appearances": 6.0,
            "fifa_rank": 1803.0,
            "fifa_overall": 76.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 4,
            "squad_role": "starter",
            "projected_match_rating": 7.4059,
            "source_file": "data/player_rankings.csv",
            "player_name": "Oscar Bobb",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Igor Jesus",
                  "ranking": 3083
                },
                {
                  "player_name": "Luis Rioja",
                  "ranking": 3084
                },
                {
                  "player_name": "Roberto Alvarado",
                  "ranking": 3085
                },
                {
                  "player_name": "Callum Wilson",
                  "ranking": 3086
                },
                {
                  "player_name": "Victor Lindelöf",
                  "ranking": 3087
                }
              ],
              "lower": [
                {
                  "player_name": "Emmanuel Agbadou",
                  "ranking": 3089
                },
                {
                  "player_name": "Luis Romo",
                  "ranking": 3090
                },
                {
                  "player_name": "Ryan Sessegnon",
                  "ranking": 3091
                },
                {
                  "player_name": "Albian Hajdari",
                  "ranking": 3092
                },
                {
                  "player_name": "Joe Willock",
                  "ranking": 3093
                }
              ]
            }
          },
          "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.0582,
            "fbref_prior_metrics": {
              "squad": "Fulham",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 2.0,
              "minutes": 133.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, Fulham, 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.1422,
                "assists": 0,
                "expected_goals": 0.1741,
                "rating": 6.9983,
                "minutes": 71,
                "total_pass": 25,
                "accurate_pass": 20,
                "ball_recovery": 3,
                "duels_won": 4,
                "total_shots": 2,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 5,
                "accurate_own_half_passes": 5,
                "total_opp_half_passes": 19,
                "accurate_opp_half_passes": 15,
                "crosses_total": 3,
                "crosses_accurate": 3,
                "touches": 40,
                "possession_lost": 10.67,
                "dispossessed": 1.5,
                "duels_lost": 5,
                "aerial_won": 1,
                "aerial_lost": 2,
                "interceptions": 1,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 0,
                "total_contest": 3,
                "won_contest": 2,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.15,
                "ball_carries": 14,
                "total_progression": 78,
                "progressive_carries": 4
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0582, quality 0.694)",
              "stats": {
                "key_pass": 2,
                "expected_assists": 0.1505,
                "assists": 0,
                "expected_goals": 0.1843,
                "rating": 7.4059,
                "minutes": 75,
                "total_pass": 26,
                "accurate_pass": 21,
                "ball_recovery": 3,
                "duels_won": 4,
                "total_shots": 2,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 6,
                "accurate_own_half_passes": 5,
                "total_opp_half_passes": 20,
                "accurate_opp_half_passes": 16,
                "crosses_total": 3,
                "crosses_accurate": 3,
                "touches": 42,
                "possession_lost": 11.2914,
                "dispossessed": 1.5874,
                "duels_lost": 5,
                "aerial_won": 1,
                "aerial_lost": 2,
                "interceptions": 1,
                "tackles_won": 1,
                "tackles": 3,
                "clearances": 0,
                "total_contest": 3,
                "won_contest": 2,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.1587,
                "ball_carries": 15,
                "total_progression": 82,
                "progressive_carries": 4
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0406)",
              "stats": {
                "key_pass": 2,
                "expected_assists": 0.1505,
                "assists": 0,
                "expected_goals": 0.1843,
                "rating": 7.4059,
                "minutes": 75,
                "total_pass": 26,
                "accurate_pass": 21,
                "ball_recovery": 3,
                "duels_won": 4,
                "total_shots": 2,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 6,
                "accurate_own_half_passes": 5,
                "total_opp_half_passes": 20,
                "accurate_opp_half_passes": 16,
                "crosses_total": 3,
                "crosses_accurate": 3,
                "touches": 42,
                "possession_lost": 11.2914,
                "dispossessed": 1.5874,
                "duels_lost": 5,
                "aerial_won": 1,
                "aerial_lost": 2,
                "interceptions": 1,
                "tackles_won": 1,
                "tackles": 3,
                "clearances": 0,
                "total_contest": 3,
                "won_contest": 2,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.1587,
                "ball_carries": 15,
                "total_progression": 82,
                "progressive_carries": 4,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 73.9,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": -0.68
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 2,
                "expected_assists": 0.1505,
                "assists": 0,
                "expected_goals": 0.1843,
                "rating": 7.4059,
                "minutes": 75,
                "total_pass": 26,
                "accurate_pass": 21,
                "ball_recovery": 3,
                "duels_won": 4,
                "total_shots": 2,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 6,
                "accurate_own_half_passes": 5,
                "total_opp_half_passes": 20,
                "accurate_opp_half_passes": 16,
                "crosses_total": 3,
                "crosses_accurate": 3,
                "touches": 42,
                "possession_lost": 11.2914,
                "dispossessed": 1.5874,
                "duels_lost": 5,
                "aerial_won": 1,
                "aerial_lost": 2,
                "interceptions": 1,
                "tackles_won": 1,
                "tackles": 3,
                "clearances": 0,
                "total_contest": 3,
                "won_contest": 2,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.1587,
                "ball_carries": 15,
                "total_progression": 82,
                "progressive_carries": 4,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 73.9,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "key_pass": 2,
                "expected_assists": 0.1505,
                "assists": 0,
                "expected_goals": 0.1843,
                "rating": 7.4059,
                "minutes": 75,
                "total_pass": 26,
                "accurate_pass": 21,
                "ball_recovery": 3,
                "duels_won": 4,
                "total_shots": 2,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 6,
                "accurate_own_half_passes": 5,
                "total_opp_half_passes": 20,
                "accurate_opp_half_passes": 16,
                "crosses_total": 3,
                "crosses_accurate": 3,
                "touches": 42,
                "possession_lost": 11.2914,
                "dispossessed": 1.5874,
                "duels_lost": 5,
                "aerial_won": 1,
                "aerial_lost": 2,
                "interceptions": 1,
                "tackles_won": 1,
                "tackles": 3,
                "clearances": 0,
                "total_contest": 3,
                "won_contest": 2,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.1587,
                "ball_carries": 15,
                "total_progression": 82,
                "progressive_carries": 4,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 73.9,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 4,
                "dribbles_successful": 1.5,
                "crosses_attempted": 2.3,
                "duel_win_rate": 0.427,
                "pressing_faced": "HIGH",
                "matchup_zone": "Right Wing vs Left Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Miloš Kerkez",
                "opponent_faced": "Miloš Kerkez",
                "antagonist_source": "attacking_duel, midfield_pairing"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 0.95 (squad xG sum 1.3873, xG scale 0.6877)",
              "stats": {
                "key_pass": 2,
                "expected_assists": 0.1505,
                "assists": 0,
                "expected_goals": 0.1267,
                "rating": 7.4059,
                "minutes": 75,
                "total_pass": 26,
                "accurate_pass": 21,
                "ball_recovery": 3,
                "duels_won": 4,
                "total_shots": 2,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 6,
                "accurate_own_half_passes": 5,
                "total_opp_half_passes": 20,
                "accurate_opp_half_passes": 16,
                "crosses_total": 3,
                "crosses_accurate": 3,
                "touches": 42,
                "possession_lost": 11.2914,
                "dispossessed": 1.5874,
                "duels_lost": 5,
                "aerial_won": 1,
                "aerial_lost": 2,
                "interceptions": 1,
                "tackles_won": 1,
                "tackles": 3,
                "clearances": 0,
                "total_contest": 3,
                "won_contest": 2,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.1587,
                "ball_carries": 15,
                "total_progression": 82,
                "progressive_carries": 4,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 73.9,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 4,
                "dribbles_successful": 1.5,
                "crosses_attempted": 2.3,
                "duel_win_rate": 0.427,
                "pressing_faced": "HIGH",
                "matchup_zone": "Right Wing vs Left Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Miloš Kerkez",
                "opponent_faced": "Miloš Kerkez",
                "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 76.0)",
              "stats": {
                "key_pass": 2,
                "expected_assists": 0.1505,
                "assists": 0,
                "expected_goals": 0.1267,
                "rating": 7.4059,
                "minutes": 75,
                "total_pass": 26,
                "accurate_pass": 21,
                "ball_recovery": 3,
                "duels_won": 4,
                "total_shots": 2,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 6,
                "accurate_own_half_passes": 5,
                "total_opp_half_passes": 20,
                "accurate_opp_half_passes": 16,
                "crosses_total": 3,
                "crosses_accurate": 3,
                "touches": 42,
                "possession_lost": 11.2914,
                "dispossessed": 1.5874,
                "duels_lost": 5,
                "aerial_won": 1,
                "aerial_lost": 2,
                "interceptions": 1,
                "tackles_won": 1,
                "tackles": 3,
                "clearances": 0,
                "total_contest": 3,
                "won_contest": 2,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.1587,
                "ball_carries": 15,
                "total_progression": 82,
                "progressive_carries": 4,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 73.9,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 4,
                "dribbles_successful": 1.5,
                "crosses_attempted": 2.3,
                "duel_win_rate": 0.427,
                "pressing_faced": "HIGH",
                "matchup_zone": "Right Wing vs Left Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Miloš Kerkez",
                "opponent_faced": "Miloš Kerkez",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "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: 0 projected goals distributed by scorer weight",
              "stats": {
                "key_pass": 2,
                "expected_assists": 0.1505,
                "assists": 0,
                "expected_goals": 0.1267,
                "rating": 7.4059,
                "minutes": 75,
                "total_pass": 26,
                "accurate_pass": 21,
                "ball_recovery": 3,
                "duels_won": 4,
                "total_shots": 2,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 6,
                "accurate_own_half_passes": 5,
                "total_opp_half_passes": 20,
                "accurate_opp_half_passes": 16,
                "crosses_total": 3,
                "crosses_accurate": 3,
                "touches": 42,
                "possession_lost": 11.2914,
                "dispossessed": 1.5874,
                "duels_lost": 5,
                "aerial_won": 1,
                "aerial_lost": 2,
                "interceptions": 1,
                "tackles_won": 1,
                "tackles": 3,
                "clearances": 0,
                "total_contest": 3,
                "won_contest": 2,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.1587,
                "ball_carries": 15,
                "total_progression": 82,
                "progressive_carries": 4,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 73.9,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 4,
                "dribbles_successful": 1.5,
                "crosses_attempted": 2.3,
                "duel_win_rate": 0.427,
                "pressing_faced": "HIGH",
                "matchup_zone": "Right Wing vs Left Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Miloš Kerkez",
                "opponent_faced": "Miloš Kerkez",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 76.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 0 projected assists distributed by provider weight",
              "stats": {
                "key_pass": 2,
                "expected_assists": 0.1505,
                "assists": 0,
                "expected_goals": 0.1267,
                "rating": 7.4059,
                "minutes": 75,
                "total_pass": 26,
                "accurate_pass": 21,
                "ball_recovery": 3,
                "duels_won": 4,
                "total_shots": 2,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 6,
                "accurate_own_half_passes": 5,
                "total_opp_half_passes": 20,
                "accurate_opp_half_passes": 16,
                "crosses_total": 3,
                "crosses_accurate": 3,
                "touches": 42,
                "possession_lost": 11.2914,
                "dispossessed": 1.5874,
                "duels_lost": 5,
                "aerial_won": 1,
                "aerial_lost": 2,
                "interceptions": 1,
                "tackles_won": 1,
                "tackles": 3,
                "clearances": 0,
                "total_contest": 3,
                "won_contest": 2,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.1587,
                "ball_carries": 15,
                "total_progression": 82,
                "progressive_carries": 4,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 73.9,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 4,
                "dribbles_successful": 1.5,
                "crosses_attempted": 2.3,
                "duel_win_rate": 0.427,
                "pressing_faced": "HIGH",
                "matchup_zone": "Right Wing vs Left Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Miloš Kerkez",
                "opponent_faced": "Miloš Kerkez",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 76.0
              }
            }
          ]
        },
        "Alex Iwobi": {
          "player_id": 352770,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 17,
          "height": 183,
          "market_value": 21000000,
          "stats": {
            "key_pass": 1,
            "expected_assists": 0.1284,
            "assists": 0,
            "expected_goals": 0.0451,
            "rating": 7.3355,
            "minutes": 91,
            "total_pass": 77,
            "accurate_pass": 71,
            "ball_recovery": 4,
            "duels_won": 2,
            "total_shots": 1,
            "total_long_balls": 8,
            "accurate_long_balls": 7,
            "total_own_half_passes": 32,
            "accurate_own_half_passes": 30,
            "total_opp_half_passes": 46,
            "accurate_opp_half_passes": 41,
            "crosses_total": 3,
            "crosses_accurate": 1,
            "touches": 90,
            "possession_lost": 11.8085,
            "dispossessed": 1.0422,
            "duels_lost": 3,
            "aerial_won": 1,
            "aerial_lost": 1,
            "interceptions": 3,
            "tackles_won": 1,
            "tackles": 1,
            "clearances": 1,
            "total_contest": 1,
            "won_contest": 0,
            "challenges_lost": 2,
            "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": 34,
            "total_progression": 101,
            "progressive_carries": 1,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 0.0,
            "shotConversion": 0.0,
            "minutesPct": 100.0,
            "pointsPerMatch": 0.0,
            "netGoalDifferencePer90": 0.0,
            "dribbles_attempted": 2,
            "dribbles_successful": 0.6,
            "crosses_attempted": 0.0,
            "duel_win_rate": 0.339,
            "pressing_faced": "ULTRA_HIGH",
            "matchup_zone": "CDM vs CDM",
            "numerical_situation": "1v1",
            "opponent_defenders": "Florian Wirtz",
            "opponent_faced": "Florian Wirtz",
            "antagonist_source": "defensive_duel, 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": 16363269.0,
              "match_date": "2026-09-05",
              "home_team": "Fulham",
              "away_team": "Crystal Palace",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Fulham",
              "opponent": "Crystal Palace",
              "stats": {
                "minutes": 83,
                "rating": 7.3,
                "assists": 0,
                "expected_goals": 0.036,
                "expected_assists": 0.2573,
                "total_shots": 1,
                "total_pass": 70,
                "accurate_pass": 64,
                "key_pass": 1,
                "tackles": 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": 16363255.0,
              "match_date": "2026-08-30",
              "home_team": "Sunderland",
              "away_team": "Fulham",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Fulham",
              "opponent": "Sunderland",
              "stats": {
                "minutes": 90,
                "rating": 7.3,
                "assists": 0,
                "expected_goals": 0.0147,
                "expected_assists": 0.4028,
                "total_shots": 1,
                "total_pass": 60,
                "accurate_pass": 56,
                "key_pass": 2,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 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": 16363244.0,
              "match_date": "2026-08-24",
              "home_team": "Fulham",
              "away_team": "Chelsea",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Fulham",
              "opponent": "Chelsea",
              "stats": {
                "minutes": 90,
                "rating": 6.8,
                "assists": 0,
                "expected_assists": 0.0385,
                "total_shots": 0,
                "total_pass": 92,
                "accurate_pass": 83,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 3,
                "duels_won": 1,
                "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"
            }
          ],
          "ranking": {
            "global_player_rank": 1041,
            "combined_rank_score": 471.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 277.0,
            "sofascore_rating": 7.069,
            "sofascore_appearances": 29.0,
            "fifa_rank": 665.0,
            "fifa_overall": 80.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 9,
            "squad_role": "starter",
            "projected_match_rating": 7.3355,
            "source_file": "data/player_rankings.csv",
            "player_name": "Alex Iwobi",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Anthony Elanga",
                  "ranking": 1036
                },
                {
                  "player_name": "Sander Berge",
                  "ranking": 1037
                },
                {
                  "player_name": "Rustam Nartazhiev",
                  "ranking": 1038
                },
                {
                  "player_name": "Christian Bravo",
                  "ranking": 1039
                },
                {
                  "player_name": "Julián Quiñones",
                  "ranking": 1040
                }
              ],
              "lower": [
                {
                  "player_name": "Lee Ji-Hoon",
                  "ranking": 1042
                },
                {
                  "player_name": "Narimonjon Akhmadjonov",
                  "ranking": 1043
                },
                {
                  "player_name": "Stevan Jovetić",
                  "ranking": 1044
                },
                {
                  "player_name": "Ricardo Rodríguez",
                  "ranking": 1045
                },
                {
                  "player_name": "Alan Cariús",
                  "ranking": 1046
                }
              ]
            }
          },
          "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.0422,
            "fbref_prior_metrics": {
              "squad": "Fulham",
              "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": 0.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, Fulham, rel: 0.13, 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.1232,
                "assists": 0,
                "expected_goals": 0.0629,
                "rating": 7.0382,
                "minutes": 88,
                "total_pass": 74,
                "accurate_pass": 68,
                "ball_recovery": 4,
                "duels_won": 2,
                "total_shots": 1,
                "total_long_balls": 8,
                "accurate_long_balls": 6,
                "total_own_half_passes": 30,
                "accurate_own_half_passes": 28,
                "total_opp_half_passes": 44,
                "accurate_opp_half_passes": 39,
                "crosses_total": 3,
                "crosses_accurate": 1,
                "touches": 86,
                "possession_lost": 11.33,
                "dispossessed": 1.0,
                "duels_lost": 3,
                "aerial_won": 0,
                "aerial_lost": 1,
                "interceptions": 3,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 1,
                "total_contest": 1,
                "won_contest": 0,
                "challenges_lost": 2,
                "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": 33,
                "total_progression": 97,
                "progressive_carries": 1
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0422, quality 0.641)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.1284,
                "assists": 0,
                "expected_goals": 0.0656,
                "rating": 7.3355,
                "minutes": 91,
                "total_pass": 77,
                "accurate_pass": 71,
                "ball_recovery": 4,
                "duels_won": 2,
                "total_shots": 1,
                "total_long_balls": 8,
                "accurate_long_balls": 7,
                "total_own_half_passes": 32,
                "accurate_own_half_passes": 30,
                "total_opp_half_passes": 46,
                "accurate_opp_half_passes": 41,
                "crosses_total": 3,
                "crosses_accurate": 1,
                "touches": 90,
                "possession_lost": 11.8085,
                "dispossessed": 1.0422,
                "duels_lost": 3,
                "aerial_won": 0,
                "aerial_lost": 1,
                "interceptions": 3,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 1,
                "total_contest": 1,
                "won_contest": 0,
                "challenges_lost": 2,
                "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": 34,
                "total_progression": 101,
                "progressive_carries": 1
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0542)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.1284,
                "assists": 0,
                "expected_goals": 0.0656,
                "rating": 7.3355,
                "minutes": 91,
                "total_pass": 77,
                "accurate_pass": 71,
                "ball_recovery": 4,
                "duels_won": 2,
                "total_shots": 1,
                "total_long_balls": 8,
                "accurate_long_balls": 7,
                "total_own_half_passes": 32,
                "accurate_own_half_passes": 30,
                "total_opp_half_passes": 46,
                "accurate_opp_half_passes": 41,
                "crosses_total": 3,
                "crosses_accurate": 1,
                "touches": 90,
                "possession_lost": 11.8085,
                "dispossessed": 1.0422,
                "duels_lost": 3,
                "aerial_won": 0,
                "aerial_lost": 1,
                "interceptions": 3,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 1,
                "total_contest": 1,
                "won_contest": 0,
                "challenges_lost": 2,
                "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": 34,
                "total_progression": 101,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": -1.0
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.1284,
                "assists": 0,
                "expected_goals": 0.0656,
                "rating": 7.3355,
                "minutes": 91,
                "total_pass": 77,
                "accurate_pass": 71,
                "ball_recovery": 4,
                "duels_won": 2,
                "total_shots": 1,
                "total_long_balls": 8,
                "accurate_long_balls": 7,
                "total_own_half_passes": 32,
                "accurate_own_half_passes": 30,
                "total_opp_half_passes": 46,
                "accurate_opp_half_passes": 41,
                "crosses_total": 3,
                "crosses_accurate": 1,
                "touches": 90,
                "possession_lost": 11.8085,
                "dispossessed": 1.0422,
                "duels_lost": 3,
                "aerial_won": 0,
                "aerial_lost": 1,
                "interceptions": 3,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 1,
                "total_contest": 1,
                "won_contest": 0,
                "challenges_lost": 2,
                "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": 34,
                "total_progression": 101,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.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": {
                "key_pass": 1,
                "expected_assists": 0.1284,
                "assists": 0,
                "expected_goals": 0.0656,
                "rating": 7.3355,
                "minutes": 91,
                "total_pass": 77,
                "accurate_pass": 71,
                "ball_recovery": 4,
                "duels_won": 2,
                "total_shots": 1,
                "total_long_balls": 8,
                "accurate_long_balls": 7,
                "total_own_half_passes": 32,
                "accurate_own_half_passes": 30,
                "total_opp_half_passes": 46,
                "accurate_opp_half_passes": 41,
                "crosses_total": 3,
                "crosses_accurate": 1,
                "touches": 90,
                "possession_lost": 11.8085,
                "dispossessed": 1.0422,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 3,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 1,
                "total_contest": 1,
                "won_contest": 0,
                "challenges_lost": 2,
                "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": 34,
                "total_progression": 101,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.6,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.339,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Florian Wirtz",
                "opponent_faced": "Florian Wirtz",
                "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 0.95 (squad xG sum 1.3873, xG scale 0.6877)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.1284,
                "assists": 0,
                "expected_goals": 0.0451,
                "rating": 7.3355,
                "minutes": 91,
                "total_pass": 77,
                "accurate_pass": 71,
                "ball_recovery": 4,
                "duels_won": 2,
                "total_shots": 1,
                "total_long_balls": 8,
                "accurate_long_balls": 7,
                "total_own_half_passes": 32,
                "accurate_own_half_passes": 30,
                "total_opp_half_passes": 46,
                "accurate_opp_half_passes": 41,
                "crosses_total": 3,
                "crosses_accurate": 1,
                "touches": 90,
                "possession_lost": 11.8085,
                "dispossessed": 1.0422,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 3,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 1,
                "total_contest": 1,
                "won_contest": 0,
                "challenges_lost": 2,
                "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": 34,
                "total_progression": 101,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.6,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.339,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Florian Wirtz",
                "opponent_faced": "Florian Wirtz",
                "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 9, fifa_overall 80.0)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.1284,
                "assists": 0,
                "expected_goals": 0.0451,
                "rating": 7.3355,
                "minutes": 91,
                "total_pass": 77,
                "accurate_pass": 71,
                "ball_recovery": 4,
                "duels_won": 2,
                "total_shots": 1,
                "total_long_balls": 8,
                "accurate_long_balls": 7,
                "total_own_half_passes": 32,
                "accurate_own_half_passes": 30,
                "total_opp_half_passes": 46,
                "accurate_opp_half_passes": 41,
                "crosses_total": 3,
                "crosses_accurate": 1,
                "touches": 90,
                "possession_lost": 11.8085,
                "dispossessed": 1.0422,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 3,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 1,
                "total_contest": 1,
                "won_contest": 0,
                "challenges_lost": 2,
                "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": 34,
                "total_progression": 101,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.6,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.339,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Florian Wirtz",
                "opponent_faced": "Florian Wirtz",
                "antagonist_source": "defensive_duel, 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.1284,
                "assists": 0,
                "expected_goals": 0.0451,
                "rating": 7.3355,
                "minutes": 91,
                "total_pass": 77,
                "accurate_pass": 71,
                "ball_recovery": 4,
                "duels_won": 2,
                "total_shots": 1,
                "total_long_balls": 8,
                "accurate_long_balls": 7,
                "total_own_half_passes": 32,
                "accurate_own_half_passes": 30,
                "total_opp_half_passes": 46,
                "accurate_opp_half_passes": 41,
                "crosses_total": 3,
                "crosses_accurate": 1,
                "touches": 90,
                "possession_lost": 11.8085,
                "dispossessed": 1.0422,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 3,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 1,
                "total_contest": 1,
                "won_contest": 0,
                "challenges_lost": 2,
                "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": 34,
                "total_progression": 101,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.6,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.339,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Florian Wirtz",
                "opponent_faced": "Florian Wirtz",
                "antagonist_source": "defensive_duel, 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.1284,
                "assists": 0,
                "expected_goals": 0.0451,
                "rating": 7.3355,
                "minutes": 91,
                "total_pass": 77,
                "accurate_pass": 71,
                "ball_recovery": 4,
                "duels_won": 2,
                "total_shots": 1,
                "total_long_balls": 8,
                "accurate_long_balls": 7,
                "total_own_half_passes": 32,
                "accurate_own_half_passes": 30,
                "total_opp_half_passes": 46,
                "accurate_opp_half_passes": 41,
                "crosses_total": 3,
                "crosses_accurate": 1,
                "touches": 90,
                "possession_lost": 11.8085,
                "dispossessed": 1.0422,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 3,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 1,
                "total_contest": 1,
                "won_contest": 0,
                "challenges_lost": 2,
                "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": 34,
                "total_progression": 101,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.6,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.339,
                "pressing_faced": "ULTRA_HIGH",
                "matchup_zone": "CDM vs CDM",
                "numerical_situation": "1v1",
                "opponent_defenders": "Florian Wirtz",
                "opponent_faced": "Florian Wirtz",
                "antagonist_source": "defensive_duel, attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 80.0
              }
            }
          ]
        },
        "Shea Charles": {
          "player_id": 1131449,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 19,
          "height": 189,
          "market_value": 14500000,
          "stats": {
            "key_pass": 1,
            "expected_assists": 0.0689,
            "assists": 0,
            "expected_goals": 0.0356,
            "rating": 7.132,
            "minutes": 42,
            "total_pass": 35,
            "accurate_pass": 33,
            "ball_recovery": 4,
            "duels_won": 1,
            "total_shots": 1,
            "total_long_balls": 2,
            "accurate_long_balls": 1,
            "total_own_half_passes": 16,
            "accurate_own_half_passes": 15,
            "total_opp_half_passes": 19,
            "accurate_opp_half_passes": 17,
            "crosses_total": 1,
            "crosses_accurate": 0,
            "touches": 42,
            "possession_lost": 4.0884,
            "dispossessed": 0.0,
            "duels_lost": 3,
            "aerial_won": 1,
            "aerial_lost": 2,
            "interceptions": 2,
            "tackles_won": 1,
            "tackles": 1,
            "clearances": 0,
            "total_contest": 1,
            "won_contest": 1,
            "challenges_lost": 2,
            "fouls": 0,
            "fouls_drawn": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "shots_on_target": 0,
            "shots_off_target": 1,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "ball_carries": 12,
            "total_progression": 65,
            "progressive_carries": 2,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 0.0,
            "shotConversion": 0.0,
            "minutesPct": 26.1,
            "pointsPerMatch": 0.0,
            "netGoalDifferencePer90": 0.0,
            "opponent_faced": "Dominik Szoboszlai",
            "matchup_zone": "Midfield lane",
            "antagonist_source": "midfield_pairing",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 73.0
          },
          "latest_10_games": [
            {
              "match_id": 16363269.0,
              "match_date": "2026-09-05",
              "home_team": "Fulham",
              "away_team": "Crystal Palace",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Fulham",
              "opponent": "Crystal Palace",
              "stats": {
                "minutes": 79,
                "rating": 6.6,
                "assists": 0,
                "expected_assists": 0.0897,
                "total_shots": 0,
                "total_pass": 54,
                "accurate_pass": 49,
                "key_pass": 3,
                "interceptions": 3,
                "duels_won": 1,
                "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"
            },
            {
              "match_id": 16363255.0,
              "match_date": "2026-08-30",
              "home_team": "Sunderland",
              "away_team": "Fulham",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Fulham",
              "opponent": "Sunderland",
              "stats": {
                "minutes": 22,
                "rating": 6.5,
                "assists": 0,
                "expected_goals": 0.0906,
                "expected_assists": 0.0314,
                "total_shots": 2,
                "shots_off_target": 1,
                "total_pass": 21,
                "accurate_pass": 20,
                "interceptions": 1,
                "aerial_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": 16363244.0,
              "match_date": "2026-08-24",
              "home_team": "Fulham",
              "away_team": "Chelsea",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Fulham",
              "opponent": "Chelsea",
              "stats": {
                "minutes": 23,
                "rating": 6.8,
                "assists": 0,
                "expected_assists": 0.0046,
                "total_shots": 0,
                "total_pass": 29,
                "accurate_pass": 27,
                "tackles": 1,
                "tackles_won": 1,
                "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": 3733,
            "combined_rank_score": 1722.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 126.0,
            "sofascore_rating": 7.38,
            "sofascore_appearances": 5.0,
            "fifa_rank": 3319.0,
            "fifa_overall": 73.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 13,
            "squad_role": "starter",
            "projected_match_rating": 7.132,
            "source_file": "data/player_rankings.csv",
            "player_name": "Shea Charles",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Oskar Pietuszewski",
                  "ranking": 3728
                },
                {
                  "player_name": "Honest Ahanor",
                  "ranking": 3729
                },
                {
                  "player_name": "Alexandru Mitriță",
                  "ranking": 3730
                },
                {
                  "player_name": "Fabio Carvalho",
                  "ranking": 3731
                },
                {
                  "player_name": "Facundo Buonanotte",
                  "ranking": 3732
                }
              ],
              "lower": [
                {
                  "player_name": "Mojmír Chytil",
                  "ranking": 3734
                },
                {
                  "player_name": "Kendry Páez",
                  "ranking": 3735
                },
                {
                  "player_name": "Josip Juranović",
                  "ranking": 3736
                },
                {
                  "player_name": "Michel Aebischer",
                  "ranking": 3737
                },
                {
                  "player_name": "Rafael Borré",
                  "ranking": 3738
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.442,
          "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.442,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.0221,
            "fbref_prior_metrics": {
              "squad": "Fulham",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 0.0,
              "minutes": 47.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 3.83,
              "shots_on_target_pct": 0.0,
              "prior_reliability": 0.0333
            },
            "rationale": "XGBoost regressor (M_service) evaluated 3 historical appearances across 5 target models; FBref 2026-2027 prior blended (Premier League, Fulham, rel: 0.03, 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.0674,
                "assists": 0,
                "expected_goals": 0.0506,
                "rating": 6.9777,
                "minutes": 41,
                "total_pass": 35,
                "accurate_pass": 32,
                "ball_recovery": 4,
                "duels_won": 1,
                "total_shots": 1,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 16,
                "accurate_own_half_passes": 15,
                "total_opp_half_passes": 19,
                "accurate_opp_half_passes": 17,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 41,
                "possession_lost": 4.0,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_won": 1,
                "aerial_lost": 2,
                "interceptions": 2,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 0,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 2,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 12,
                "total_progression": 63,
                "progressive_carries": 2
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0221, quality 0.574)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0689,
                "assists": 0,
                "expected_goals": 0.0517,
                "rating": 7.132,
                "minutes": 42,
                "total_pass": 35,
                "accurate_pass": 33,
                "ball_recovery": 4,
                "duels_won": 1,
                "total_shots": 1,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 16,
                "accurate_own_half_passes": 15,
                "total_opp_half_passes": 19,
                "accurate_opp_half_passes": 17,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 42,
                "possession_lost": 4.0884,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 2,
                "interceptions": 2,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 0,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 2,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 12,
                "total_progression": 65,
                "progressive_carries": 2
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0135)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0689,
                "assists": 0,
                "expected_goals": 0.0517,
                "rating": 7.132,
                "minutes": 42,
                "total_pass": 35,
                "accurate_pass": 33,
                "ball_recovery": 4,
                "duels_won": 1,
                "total_shots": 1,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 16,
                "accurate_own_half_passes": 15,
                "total_opp_half_passes": 19,
                "accurate_opp_half_passes": 17,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 42,
                "possession_lost": 4.0884,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 2,
                "interceptions": 2,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 0,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 2,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 12,
                "total_progression": 65,
                "progressive_carries": 2,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 26.1,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": -1.91
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0689,
                "assists": 0,
                "expected_goals": 0.0517,
                "rating": 7.132,
                "minutes": 42,
                "total_pass": 35,
                "accurate_pass": 33,
                "ball_recovery": 4,
                "duels_won": 1,
                "total_shots": 1,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 16,
                "accurate_own_half_passes": 15,
                "total_opp_half_passes": 19,
                "accurate_opp_half_passes": 17,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 42,
                "possession_lost": 4.0884,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 2,
                "interceptions": 2,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 0,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 2,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 12,
                "total_progression": 65,
                "progressive_carries": 2,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 26.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.0689,
                "assists": 0,
                "expected_goals": 0.0517,
                "rating": 7.132,
                "minutes": 42,
                "total_pass": 35,
                "accurate_pass": 33,
                "ball_recovery": 4,
                "duels_won": 1,
                "total_shots": 1,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 16,
                "accurate_own_half_passes": 15,
                "total_opp_half_passes": 19,
                "accurate_opp_half_passes": 17,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 42,
                "possession_lost": 4.0884,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 2,
                "interceptions": 2,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 0,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 2,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 12,
                "total_progression": 65,
                "progressive_carries": 2,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 26.1,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "opponent_faced": "Dominik Szoboszlai",
                "matchup_zone": "Midfield lane",
                "antagonist_source": "midfield_pairing"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 0.95 (squad xG sum 1.3873, xG scale 0.6877)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0689,
                "assists": 0,
                "expected_goals": 0.0356,
                "rating": 7.132,
                "minutes": 42,
                "total_pass": 35,
                "accurate_pass": 33,
                "ball_recovery": 4,
                "duels_won": 1,
                "total_shots": 1,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 16,
                "accurate_own_half_passes": 15,
                "total_opp_half_passes": 19,
                "accurate_opp_half_passes": 17,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 42,
                "possession_lost": 4.0884,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 2,
                "interceptions": 2,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 0,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 2,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 12,
                "total_progression": 65,
                "progressive_carries": 2,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 26.1,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "opponent_faced": "Dominik Szoboszlai",
                "matchup_zone": "Midfield lane",
                "antagonist_source": "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 13, fifa_overall 73.0)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0689,
                "assists": 0,
                "expected_goals": 0.0356,
                "rating": 7.132,
                "minutes": 42,
                "total_pass": 35,
                "accurate_pass": 33,
                "ball_recovery": 4,
                "duels_won": 1,
                "total_shots": 1,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 16,
                "accurate_own_half_passes": 15,
                "total_opp_half_passes": 19,
                "accurate_opp_half_passes": 17,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 42,
                "possession_lost": 4.0884,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 2,
                "interceptions": 2,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 0,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 2,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 12,
                "total_progression": 65,
                "progressive_carries": 2,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 26.1,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "opponent_faced": "Dominik Szoboszlai",
                "matchup_zone": "Midfield lane",
                "antagonist_source": "midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 73.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 0 projected goals distributed by scorer weight",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0689,
                "assists": 0,
                "expected_goals": 0.0356,
                "rating": 7.132,
                "minutes": 42,
                "total_pass": 35,
                "accurate_pass": 33,
                "ball_recovery": 4,
                "duels_won": 1,
                "total_shots": 1,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 16,
                "accurate_own_half_passes": 15,
                "total_opp_half_passes": 19,
                "accurate_opp_half_passes": 17,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 42,
                "possession_lost": 4.0884,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 2,
                "interceptions": 2,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 0,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 2,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 12,
                "total_progression": 65,
                "progressive_carries": 2,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 26.1,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "opponent_faced": "Dominik Szoboszlai",
                "matchup_zone": "Midfield lane",
                "antagonist_source": "midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 73.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 0 projected assists distributed by provider weight",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0689,
                "assists": 0,
                "expected_goals": 0.0356,
                "rating": 7.132,
                "minutes": 42,
                "total_pass": 35,
                "accurate_pass": 33,
                "ball_recovery": 4,
                "duels_won": 1,
                "total_shots": 1,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 16,
                "accurate_own_half_passes": 15,
                "total_opp_half_passes": 19,
                "accurate_opp_half_passes": 17,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 42,
                "possession_lost": 4.0884,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 2,
                "interceptions": 2,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 0,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 2,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 12,
                "total_progression": 65,
                "progressive_carries": 2,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 26.1,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "opponent_faced": "Dominik Szoboszlai",
                "matchup_zone": "Midfield lane",
                "antagonist_source": "midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 73.0
              }
            }
          ]
        },
        "Antonee Robinson": {
          "player_id": 803174,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 33,
          "height": 183,
          "market_value": 24000000,
          "stats": {
            "interceptions": 1,
            "tackles": 2,
            "tackles_won": 2,
            "clearances": 2,
            "aerial_won": 1,
            "rating": 7.0329,
            "minutes": 88,
            "total_pass": 52,
            "accurate_pass": 42,
            "duels_won": 5,
            "total_long_balls": 3,
            "accurate_long_balls": 2,
            "total_own_half_passes": 21,
            "accurate_own_half_passes": 17,
            "total_opp_half_passes": 31,
            "accurate_opp_half_passes": 25,
            "crosses_total": 4,
            "crosses_accurate": 2,
            "touches": 75,
            "possession_lost": 16.8089,
            "dispossessed": 1.0506,
            "duels_lost": 5,
            "aerial_lost": 2,
            "total_contest": 2,
            "won_contest": 1,
            "ball_recovery": 4,
            "challenges_lost": 3,
            "fouls": 0,
            "fouls_drawn": 1,
            "blocks": 1,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.0795,
            "expected_assists": 0.063,
            "total_shots": 1,
            "shots_on_target": 0,
            "shots_off_target": 1,
            "big_chances_created": 0,
            "xgot": 0.0,
            "ball_carries": 16,
            "total_progression": 84,
            "progressive_carries": 2,
            "key_pass": 2,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 0.0,
            "shotConversion": 0.0,
            "minutesPct": 95.0,
            "pointsPerMatch": 0.0,
            "netGoalDifferencePer90": 0.0,
            "tackles_in_zone": 2.1,
            "tackles_won_in_zone": 1.5,
            "interceptions_in_zone": 1.1,
            "clearances_in_zone": 0.9,
            "aerial_duels_won": 0.8,
            "defensive_success_rate": 0.405,
            "opponent_faced": "Dominik Szoboszlai",
            "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": 80.0
          },
          "latest_10_games": [
            {
              "match_id": 16363269.0,
              "match_date": "2026-09-05",
              "home_team": "Fulham",
              "away_team": "Crystal Palace",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Fulham",
              "opponent": "Crystal Palace",
              "stats": {
                "minutes": 79,
                "rating": 6.4,
                "assists": 0,
                "expected_goals": 0.0791,
                "expected_assists": 0.1044,
                "total_shots": 2,
                "shots_off_target": 1,
                "total_pass": 50,
                "accurate_pass": 43,
                "key_pass": 2,
                "tackles": 2,
                "tackles_won": 2,
                "clearances": 3,
                "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": 16363255.0,
              "match_date": "2026-08-30",
              "home_team": "Sunderland",
              "away_team": "Fulham",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Fulham",
              "opponent": "Sunderland",
              "stats": {
                "minutes": 90,
                "rating": 6.4,
                "assists": 0,
                "expected_assists": 0.024,
                "total_shots": 0,
                "total_pass": 49,
                "accurate_pass": 38,
                "tackles": 3,
                "tackles_won": 2,
                "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"
            },
            {
              "match_id": 16363244.0,
              "match_date": "2026-08-24",
              "home_team": "Fulham",
              "away_team": "Chelsea",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Fulham",
              "opponent": "Chelsea",
              "stats": {
                "minutes": 82,
                "rating": 6.3,
                "assists": 0,
                "expected_goals": 0.133,
                "expected_assists": 0.0405,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 50,
                "accurate_pass": 38,
                "key_pass": 1,
                "tackles": 3,
                "tackles_won": 3,
                "interceptions": 1,
                "clearances": 2,
                "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"
            }
          ],
          "ranking": {
            "global_player_rank": 876,
            "combined_rank_score": 413.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 157.0,
            "sofascore_rating": 7.3,
            "sofascore_appearances": 3.0,
            "fifa_rank": 670.0,
            "fifa_overall": 80.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 7,
            "squad_role": "starter",
            "projected_match_rating": 7.0329,
            "source_file": "data/player_rankings.csv",
            "player_name": "Antonee Robinson",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Sardor Sobirkhuzhaev",
                  "ranking": 871
                },
                {
                  "player_name": "Sung-joon Kim",
                  "ranking": 872
                },
                {
                  "player_name": "Derlan",
                  "ranking": 873
                },
                {
                  "player_name": "Vladimír Coufal",
                  "ranking": 874
                },
                {
                  "player_name": "Manuel Neuer",
                  "ranking": 875
                }
              ],
              "lower": [
                {
                  "player_name": "Amadou Onana",
                  "ranking": 877
                },
                {
                  "player_name": "Kim Hyeong-jin",
                  "ranking": 878
                },
                {
                  "player_name": "Sancet",
                  "ranking": 879
                },
                {
                  "player_name": "Jaloliddin Jumaboyev",
                  "ranking": 880
                },
                {
                  "player_name": "Vivian",
                  "ranking": 881
                }
              ]
            }
          },
          "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.0506,
            "fbref_prior_metrics": {
              "squad": "Fulham",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 2.0,
              "minutes": 171.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 0.53,
              "shots_on_target_pct": 0.0,
              "prior_reliability": 0.1267
            },
            "rationale": "XGBoost regressor (D_service) evaluated 3 historical appearances across 6 target models; FBref 2026-2027 prior blended (Premier League, Fulham, 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": 2,
                "tackles_won": 2,
                "clearances": 2,
                "aerial_won": 1,
                "rating": 6.6944,
                "minutes": 84,
                "total_pass": 50,
                "accurate_pass": 40,
                "duels_won": 4,
                "total_long_balls": 3,
                "accurate_long_balls": 2,
                "total_own_half_passes": 20,
                "accurate_own_half_passes": 16,
                "total_opp_half_passes": 30,
                "accurate_opp_half_passes": 24,
                "crosses_total": 3,
                "crosses_accurate": 2,
                "touches": 72,
                "possession_lost": 16.0,
                "dispossessed": 1.0,
                "duels_lost": 4,
                "aerial_lost": 2,
                "total_contest": 2,
                "won_contest": 1,
                "ball_recovery": 4,
                "challenges_lost": 2,
                "fouls": 0,
                "fouls_drawn": 1,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.11,
                "expected_assists": 0.06,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 15,
                "total_progression": 80,
                "progressive_carries": 2,
                "key_pass": 2
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0506, quality 0.669)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 2,
                "clearances": 2,
                "aerial_won": 1,
                "rating": 7.0329,
                "minutes": 88,
                "total_pass": 52,
                "accurate_pass": 42,
                "duels_won": 5,
                "total_long_balls": 3,
                "accurate_long_balls": 2,
                "total_own_half_passes": 21,
                "accurate_own_half_passes": 17,
                "total_opp_half_passes": 31,
                "accurate_opp_half_passes": 25,
                "crosses_total": 3,
                "crosses_accurate": 2,
                "touches": 75,
                "possession_lost": 16.8089,
                "dispossessed": 1.0506,
                "duels_lost": 5,
                "aerial_lost": 2,
                "total_contest": 2,
                "won_contest": 1,
                "ball_recovery": 4,
                "challenges_lost": 3,
                "fouls": 0,
                "fouls_drawn": 1,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.1156,
                "expected_assists": 0.063,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 16,
                "total_progression": 84,
                "progressive_carries": 2,
                "key_pass": 2
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0515)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 2,
                "clearances": 2,
                "aerial_won": 1,
                "rating": 7.0329,
                "minutes": 88,
                "total_pass": 52,
                "accurate_pass": 42,
                "duels_won": 5,
                "total_long_balls": 3,
                "accurate_long_balls": 2,
                "total_own_half_passes": 21,
                "accurate_own_half_passes": 17,
                "total_opp_half_passes": 31,
                "accurate_opp_half_passes": 25,
                "crosses_total": 4,
                "crosses_accurate": 2,
                "touches": 75,
                "possession_lost": 16.8089,
                "dispossessed": 1.0506,
                "duels_lost": 5,
                "aerial_lost": 2,
                "total_contest": 2,
                "won_contest": 1,
                "ball_recovery": 4,
                "challenges_lost": 3,
                "fouls": 0,
                "fouls_drawn": 1,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.1156,
                "expected_assists": 0.063,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 16,
                "total_progression": 84,
                "progressive_carries": 2,
                "key_pass": 2,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 95.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": -1.05
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 2,
                "clearances": 2,
                "aerial_won": 1,
                "rating": 7.0329,
                "minutes": 88,
                "total_pass": 52,
                "accurate_pass": 42,
                "duels_won": 5,
                "total_long_balls": 3,
                "accurate_long_balls": 2,
                "total_own_half_passes": 21,
                "accurate_own_half_passes": 17,
                "total_opp_half_passes": 31,
                "accurate_opp_half_passes": 25,
                "crosses_total": 4,
                "crosses_accurate": 2,
                "touches": 75,
                "possession_lost": 16.8089,
                "dispossessed": 1.0506,
                "duels_lost": 5,
                "aerial_lost": 2,
                "total_contest": 2,
                "won_contest": 1,
                "ball_recovery": 4,
                "challenges_lost": 3,
                "fouls": 0,
                "fouls_drawn": 1,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.1156,
                "expected_assists": 0.063,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 16,
                "total_progression": 84,
                "progressive_carries": 2,
                "key_pass": 2,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 95.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": 2,
                "clearances": 2,
                "aerial_won": 1,
                "rating": 7.0329,
                "minutes": 88,
                "total_pass": 52,
                "accurate_pass": 42,
                "duels_won": 5,
                "total_long_balls": 3,
                "accurate_long_balls": 2,
                "total_own_half_passes": 21,
                "accurate_own_half_passes": 17,
                "total_opp_half_passes": 31,
                "accurate_opp_half_passes": 25,
                "crosses_total": 4,
                "crosses_accurate": 2,
                "touches": 75,
                "possession_lost": 16.8089,
                "dispossessed": 1.0506,
                "duels_lost": 5,
                "aerial_lost": 2,
                "total_contest": 2,
                "won_contest": 1,
                "ball_recovery": 4,
                "challenges_lost": 3,
                "fouls": 0,
                "fouls_drawn": 1,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.1156,
                "expected_assists": 0.063,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 16,
                "total_progression": 84,
                "progressive_carries": 2,
                "key_pass": 2,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 95.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 2.1,
                "tackles_won_in_zone": 1.5,
                "interceptions_in_zone": 1.1,
                "clearances_in_zone": 0.9,
                "aerial_duels_won": 0.8,
                "defensive_success_rate": 0.405,
                "opponent_faced": "Dominik Szoboszlai",
                "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 0.95 (squad xG sum 1.3873, xG scale 0.6877)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 2,
                "clearances": 2,
                "aerial_won": 1,
                "rating": 7.0329,
                "minutes": 88,
                "total_pass": 52,
                "accurate_pass": 42,
                "duels_won": 5,
                "total_long_balls": 3,
                "accurate_long_balls": 2,
                "total_own_half_passes": 21,
                "accurate_own_half_passes": 17,
                "total_opp_half_passes": 31,
                "accurate_opp_half_passes": 25,
                "crosses_total": 4,
                "crosses_accurate": 2,
                "touches": 75,
                "possession_lost": 16.8089,
                "dispossessed": 1.0506,
                "duels_lost": 5,
                "aerial_lost": 2,
                "total_contest": 2,
                "won_contest": 1,
                "ball_recovery": 4,
                "challenges_lost": 3,
                "fouls": 0,
                "fouls_drawn": 1,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0795,
                "expected_assists": 0.063,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 16,
                "total_progression": 84,
                "progressive_carries": 2,
                "key_pass": 2,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 95.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 2.1,
                "tackles_won_in_zone": 1.5,
                "interceptions_in_zone": 1.1,
                "clearances_in_zone": 0.9,
                "aerial_duels_won": 0.8,
                "defensive_success_rate": 0.405,
                "opponent_faced": "Dominik Szoboszlai",
                "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 7, fifa_overall 80.0)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 2,
                "clearances": 2,
                "aerial_won": 1,
                "rating": 7.0329,
                "minutes": 88,
                "total_pass": 52,
                "accurate_pass": 42,
                "duels_won": 5,
                "total_long_balls": 3,
                "accurate_long_balls": 2,
                "total_own_half_passes": 21,
                "accurate_own_half_passes": 17,
                "total_opp_half_passes": 31,
                "accurate_opp_half_passes": 25,
                "crosses_total": 4,
                "crosses_accurate": 2,
                "touches": 75,
                "possession_lost": 16.8089,
                "dispossessed": 1.0506,
                "duels_lost": 5,
                "aerial_lost": 2,
                "total_contest": 2,
                "won_contest": 1,
                "ball_recovery": 4,
                "challenges_lost": 3,
                "fouls": 0,
                "fouls_drawn": 1,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0795,
                "expected_assists": 0.063,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 16,
                "total_progression": 84,
                "progressive_carries": 2,
                "key_pass": 2,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 95.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 2.1,
                "tackles_won_in_zone": 1.5,
                "interceptions_in_zone": 1.1,
                "clearances_in_zone": 0.9,
                "aerial_duels_won": 0.8,
                "defensive_success_rate": 0.405,
                "opponent_faced": "Dominik Szoboszlai",
                "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": 80.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 0 projected goals distributed by scorer weight",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 2,
                "clearances": 2,
                "aerial_won": 1,
                "rating": 7.0329,
                "minutes": 88,
                "total_pass": 52,
                "accurate_pass": 42,
                "duels_won": 5,
                "total_long_balls": 3,
                "accurate_long_balls": 2,
                "total_own_half_passes": 21,
                "accurate_own_half_passes": 17,
                "total_opp_half_passes": 31,
                "accurate_opp_half_passes": 25,
                "crosses_total": 4,
                "crosses_accurate": 2,
                "touches": 75,
                "possession_lost": 16.8089,
                "dispossessed": 1.0506,
                "duels_lost": 5,
                "aerial_lost": 2,
                "total_contest": 2,
                "won_contest": 1,
                "ball_recovery": 4,
                "challenges_lost": 3,
                "fouls": 0,
                "fouls_drawn": 1,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0795,
                "expected_assists": 0.063,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 16,
                "total_progression": 84,
                "progressive_carries": 2,
                "key_pass": 2,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 95.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 2.1,
                "tackles_won_in_zone": 1.5,
                "interceptions_in_zone": 1.1,
                "clearances_in_zone": 0.9,
                "aerial_duels_won": 0.8,
                "defensive_success_rate": 0.405,
                "opponent_faced": "Dominik Szoboszlai",
                "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": 80.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 0 projected assists distributed by provider weight",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 2,
                "clearances": 2,
                "aerial_won": 1,
                "rating": 7.0329,
                "minutes": 88,
                "total_pass": 52,
                "accurate_pass": 42,
                "duels_won": 5,
                "total_long_balls": 3,
                "accurate_long_balls": 2,
                "total_own_half_passes": 21,
                "accurate_own_half_passes": 17,
                "total_opp_half_passes": 31,
                "accurate_opp_half_passes": 25,
                "crosses_total": 4,
                "crosses_accurate": 2,
                "touches": 75,
                "possession_lost": 16.8089,
                "dispossessed": 1.0506,
                "duels_lost": 5,
                "aerial_lost": 2,
                "total_contest": 2,
                "won_contest": 1,
                "ball_recovery": 4,
                "challenges_lost": 3,
                "fouls": 0,
                "fouls_drawn": 1,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0795,
                "expected_assists": 0.063,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 16,
                "total_progression": 84,
                "progressive_carries": 2,
                "key_pass": 2,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 95.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 2.1,
                "tackles_won_in_zone": 1.5,
                "interceptions_in_zone": 1.1,
                "clearances_in_zone": 0.9,
                "aerial_duels_won": 0.8,
                "defensive_success_rate": 0.405,
                "opponent_faced": "Dominik Szoboszlai",
                "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": 80.0
              }
            }
          ]
        },
        "Joachim Andersen": {
          "player_id": 362682,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 5,
          "height": 190,
          "market_value": 21000000,
          "stats": {
            "interceptions": 1,
            "tackles": 1,
            "tackles_won": 1,
            "clearances": 5,
            "aerial_won": 2,
            "rating": 7.1567,
            "minutes": 94,
            "total_pass": 104,
            "accurate_pass": 93,
            "duels_won": 6,
            "total_long_balls": 11,
            "accurate_long_balls": 6,
            "total_own_half_passes": 63,
            "accurate_own_half_passes": 60,
            "total_opp_half_passes": 42,
            "accurate_opp_half_passes": 32,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 117,
            "possession_lost": 12.5068,
            "dispossessed": 1.0422,
            "duels_lost": 4,
            "aerial_lost": 2,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 5,
            "challenges_lost": 0,
            "fouls": 3,
            "fouls_drawn": 1,
            "blocks": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.0,
            "expected_assists": 0.0521,
            "total_shots": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0,
            "ball_carries": 27,
            "total_progression": 82,
            "progressive_carries": 1,
            "key_pass": 2,
            "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.0,
            "interceptions_in_zone": 1.0,
            "clearances_in_zone": 0.9,
            "aerial_duels_won": 0.5,
            "defensive_success_rate": 0.682,
            "opponent_faced": "Alexander Isak",
            "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
          },
          "latest_10_games": [
            {
              "match_id": 16363269.0,
              "match_date": "2026-09-05",
              "home_team": "Fulham",
              "away_team": "Crystal Palace",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Fulham",
              "opponent": "Crystal Palace",
              "stats": {
                "minutes": 90,
                "rating": 7.3,
                "assists": 0,
                "expected_assists": 0.0649,
                "total_shots": 0,
                "total_pass": 112,
                "accurate_pass": 101,
                "key_pass": 2,
                "tackles": 2,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 4,
                "aerial_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": 16363255.0,
              "match_date": "2026-08-30",
              "home_team": "Sunderland",
              "away_team": "Fulham",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Fulham",
              "opponent": "Sunderland",
              "stats": {
                "minutes": 90,
                "rating": 6.6,
                "assists": 0,
                "expected_assists": 0.0375,
                "total_shots": 0,
                "total_pass": 88,
                "accurate_pass": 77,
                "key_pass": 1,
                "interceptions": 1,
                "clearances": 7,
                "aerial_won": 5,
                "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": 1034,
            "combined_rank_score": 462.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 68.0,
            "sofascore_rating": 7.6,
            "sofascore_appearances": 6.0,
            "fifa_rank": 856.0,
            "fifa_overall": 79.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 10,
            "squad_role": "starter",
            "projected_match_rating": 7.1567,
            "source_file": "data/player_rankings.csv",
            "player_name": "Joachim Andersen",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Jonas Urbig",
                  "ranking": 1029
                },
                {
                  "player_name": "James Donachie",
                  "ranking": 1030
                },
                {
                  "player_name": "Felipe Campos",
                  "ranking": 1031
                },
                {
                  "player_name": "Carlos Romero",
                  "ranking": 1032
                },
                {
                  "player_name": "Shota Gvazava",
                  "ranking": 1033
                }
              ],
              "lower": [
                {
                  "player_name": "Alisson",
                  "ranking": 1035
                },
                {
                  "player_name": "Anthony Elanga",
                  "ranking": 1036
                },
                {
                  "player_name": "Sander Berge",
                  "ranking": 1037
                },
                {
                  "player_name": "Rustam Nartazhiev",
                  "ranking": 1038
                },
                {
                  "player_name": "Christian Bravo",
                  "ranking": 1039
                }
              ]
            }
          },
          "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.0422,
            "fbref_prior_metrics": {
              "squad": "Fulham",
              "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, Fulham, 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": 4,
                "aerial_won": 2,
                "rating": 6.8667,
                "minutes": 90,
                "total_pass": 100,
                "accurate_pass": 89,
                "duels_won": 6,
                "total_long_balls": 11,
                "accurate_long_balls": 6,
                "total_own_half_passes": 60,
                "accurate_own_half_passes": 58,
                "total_opp_half_passes": 40,
                "accurate_opp_half_passes": 31,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 112,
                "possession_lost": 12.0,
                "dispossessed": 1.0,
                "duels_lost": 4,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 4,
                "challenges_lost": 0,
                "fouls": 3,
                "fouls_drawn": 1,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.05,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 26,
                "total_progression": 79,
                "progressive_carries": 1,
                "key_pass": 2
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0422, quality 0.641)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 5,
                "aerial_won": 2,
                "rating": 7.1567,
                "minutes": 94,
                "total_pass": 104,
                "accurate_pass": 93,
                "duels_won": 6,
                "total_long_balls": 11,
                "accurate_long_balls": 6,
                "total_own_half_passes": 63,
                "accurate_own_half_passes": 60,
                "total_opp_half_passes": 42,
                "accurate_opp_half_passes": 32,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 117,
                "possession_lost": 12.5068,
                "dispossessed": 1.0422,
                "duels_lost": 4,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 5,
                "challenges_lost": 0,
                "fouls": 3,
                "fouls_drawn": 1,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0521,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 27,
                "total_progression": 82,
                "progressive_carries": 1,
                "key_pass": 2
              }
            },
            {
              "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.1567,
                "minutes": 94,
                "total_pass": 104,
                "accurate_pass": 93,
                "duels_won": 6,
                "total_long_balls": 11,
                "accurate_long_balls": 6,
                "total_own_half_passes": 63,
                "accurate_own_half_passes": 60,
                "total_opp_half_passes": 42,
                "accurate_opp_half_passes": 32,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 117,
                "possession_lost": 12.5068,
                "dispossessed": 1.0422,
                "duels_lost": 4,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 5,
                "challenges_lost": 0,
                "fouls": 3,
                "fouls_drawn": 1,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0521,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 27,
                "total_progression": 82,
                "progressive_carries": 1,
                "key_pass": 2,
                "offsides": 0,
                "yellowCards": 1.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 50.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": -1.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.1567,
                "minutes": 94,
                "total_pass": 104,
                "accurate_pass": 93,
                "duels_won": 6,
                "total_long_balls": 11,
                "accurate_long_balls": 6,
                "total_own_half_passes": 63,
                "accurate_own_half_passes": 60,
                "total_opp_half_passes": 42,
                "accurate_opp_half_passes": 32,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 117,
                "possession_lost": 12.5068,
                "dispossessed": 1.0422,
                "duels_lost": 4,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 5,
                "challenges_lost": 0,
                "fouls": 3,
                "fouls_drawn": 1,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0521,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 27,
                "total_progression": 82,
                "progressive_carries": 1,
                "key_pass": 2,
                "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.1567,
                "minutes": 94,
                "total_pass": 104,
                "accurate_pass": 93,
                "duels_won": 6,
                "total_long_balls": 11,
                "accurate_long_balls": 6,
                "total_own_half_passes": 63,
                "accurate_own_half_passes": 60,
                "total_opp_half_passes": 42,
                "accurate_opp_half_passes": 32,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 117,
                "possession_lost": 12.5068,
                "dispossessed": 1.0422,
                "duels_lost": 4,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 5,
                "challenges_lost": 0,
                "fouls": 3,
                "fouls_drawn": 1,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0521,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 27,
                "total_progression": 82,
                "progressive_carries": 1,
                "key_pass": 2,
                "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.0,
                "interceptions_in_zone": 1.0,
                "clearances_in_zone": 0.9,
                "aerial_duels_won": 0.5,
                "defensive_success_rate": 0.682,
                "opponent_faced": "Alexander Isak",
                "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 0.95 (squad xG sum 1.3873, xG scale 0.6877)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 5,
                "aerial_won": 2,
                "rating": 7.1567,
                "minutes": 94,
                "total_pass": 104,
                "accurate_pass": 93,
                "duels_won": 6,
                "total_long_balls": 11,
                "accurate_long_balls": 6,
                "total_own_half_passes": 63,
                "accurate_own_half_passes": 60,
                "total_opp_half_passes": 42,
                "accurate_opp_half_passes": 32,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 117,
                "possession_lost": 12.5068,
                "dispossessed": 1.0422,
                "duels_lost": 4,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 5,
                "challenges_lost": 0,
                "fouls": 3,
                "fouls_drawn": 1,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0521,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 27,
                "total_progression": 82,
                "progressive_carries": 1,
                "key_pass": 2,
                "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.0,
                "interceptions_in_zone": 1.0,
                "clearances_in_zone": 0.9,
                "aerial_duels_won": 0.5,
                "defensive_success_rate": 0.682,
                "opponent_faced": "Alexander Isak",
                "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 10, fifa_overall 79.0)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 5,
                "aerial_won": 2,
                "rating": 7.1567,
                "minutes": 94,
                "total_pass": 104,
                "accurate_pass": 93,
                "duels_won": 6,
                "total_long_balls": 11,
                "accurate_long_balls": 6,
                "total_own_half_passes": 63,
                "accurate_own_half_passes": 60,
                "total_opp_half_passes": 42,
                "accurate_opp_half_passes": 32,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 117,
                "possession_lost": 12.5068,
                "dispossessed": 1.0422,
                "duels_lost": 4,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 5,
                "challenges_lost": 0,
                "fouls": 3,
                "fouls_drawn": 1,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0521,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 27,
                "total_progression": 82,
                "progressive_carries": 1,
                "key_pass": 2,
                "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.0,
                "interceptions_in_zone": 1.0,
                "clearances_in_zone": 0.9,
                "aerial_duels_won": 0.5,
                "defensive_success_rate": 0.682,
                "opponent_faced": "Alexander Isak",
                "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: 0 projected goals distributed by scorer weight",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 5,
                "aerial_won": 2,
                "rating": 7.1567,
                "minutes": 94,
                "total_pass": 104,
                "accurate_pass": 93,
                "duels_won": 6,
                "total_long_balls": 11,
                "accurate_long_balls": 6,
                "total_own_half_passes": 63,
                "accurate_own_half_passes": 60,
                "total_opp_half_passes": 42,
                "accurate_opp_half_passes": 32,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 117,
                "possession_lost": 12.5068,
                "dispossessed": 1.0422,
                "duels_lost": 4,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 5,
                "challenges_lost": 0,
                "fouls": 3,
                "fouls_drawn": 1,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0521,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 27,
                "total_progression": 82,
                "progressive_carries": 1,
                "key_pass": 2,
                "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.0,
                "interceptions_in_zone": 1.0,
                "clearances_in_zone": 0.9,
                "aerial_duels_won": 0.5,
                "defensive_success_rate": 0.682,
                "opponent_faced": "Alexander Isak",
                "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_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.1567,
                "minutes": 94,
                "total_pass": 104,
                "accurate_pass": 93,
                "duels_won": 6,
                "total_long_balls": 11,
                "accurate_long_balls": 6,
                "total_own_half_passes": 63,
                "accurate_own_half_passes": 60,
                "total_opp_half_passes": 42,
                "accurate_opp_half_passes": 32,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 117,
                "possession_lost": 12.5068,
                "dispossessed": 1.0422,
                "duels_lost": 4,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 5,
                "challenges_lost": 0,
                "fouls": 3,
                "fouls_drawn": 1,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0521,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 27,
                "total_progression": 82,
                "progressive_carries": 1,
                "key_pass": 2,
                "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.0,
                "interceptions_in_zone": 1.0,
                "clearances_in_zone": 0.9,
                "aerial_duels_won": 0.5,
                "defensive_success_rate": 0.682,
                "opponent_faced": "Alexander Isak",
                "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
              }
            }
          ]
        }
      },
      "bench_players": {
        "Benjamin Lecomte": {
          "player_id": 123207,
          "position": "G",
          "position_depth": "G_BENCH",
          "is_starter": false,
          "shirt_number": 23,
          "height": 186,
          "market_value": 825000,
          "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.792,
            "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": 73.0
          },
          "latest_10_games": [],
          "ranking": {
            "global_player_rank": 3761,
            "combined_rank_score": 1750.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": null,
            "sofascore_rating": null,
            "sofascore_appearances": 0.0,
            "fifa_rank": 3261.0,
            "fifa_overall": 73.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": "Benjamin Lecomte",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Thiago Fernández",
                  "ranking": 3756
                },
                {
                  "player_name": "Jarne Steuckers",
                  "ranking": 3757
                },
                {
                  "player_name": "Rodrigo Gomes",
                  "ranking": 3758
                },
                {
                  "player_name": "Myrto Uzuni",
                  "ranking": 3759
                },
                {
                  "player_name": "Joel Ordoñez",
                  "ranking": 3760
                }
              ],
              "lower": [
                {
                  "player_name": "Matte Smets",
                  "ranking": 3762
                },
                {
                  "player_name": "Lars Unnerstall",
                  "ranking": 3763
                },
                {
                  "player_name": "Amir Murillo",
                  "ranking": 3764
                },
                {
                  "player_name": "Tatsuhiro Sakamoto",
                  "ranking": 3765
                },
                {
                  "player_name": "Steven Berghuis",
                  "ranking": 3766
                }
              ]
            }
          },
          "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": "Fulham",
              "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 (€825,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 73.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.792,
                "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": 73.0
              }
            }
          ]
        },
        "Ryan Sessegnon": {
          "player_id": 836698,
          "position": "D",
          "position_depth": "D_BENCH",
          "is_starter": false,
          "shirt_number": 30,
          "height": 178,
          "market_value": 21000000,
          "stats": {
            "interceptions": 0,
            "tackles": 1,
            "tackles_won": 0,
            "clearances": 1,
            "aerial_won": 1,
            "duels_won": 1,
            "total_pass": 10,
            "accurate_pass": 8,
            "expected_goals": 0.0029,
            "rating": 7.1,
            "minutes": 18,
            "total_long_balls": 1,
            "accurate_long_balls": 1,
            "total_own_half_passes": 6,
            "accurate_own_half_passes": 5,
            "total_opp_half_passes": 2,
            "accurate_opp_half_passes": 2,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 13,
            "possession_lost": 1.4416,
            "dispossessed": 0.5,
            "duels_lost": 1,
            "aerial_lost": 2,
            "total_contest": 1,
            "won_contest": 1,
            "ball_recovery": 1,
            "challenges_lost": 1,
            "fouls": 0,
            "fouls_drawn": 0,
            "blocks": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_assists": 0.0122,
            "total_shots": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0032,
            "key_pass": 0,
            "ball_carries": 5,
            "total_progression": 14,
            "progressive_carries": 1,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 50.0,
            "shotConversion": 0.0,
            "minutesPct": 22.8,
            "pointsPerMatch": 0.0,
            "netGoalDifferencePer90": 0.0,
            "bench_appearance_probability": 0.618,
            "bench_expected_minutes": 18.02,
            "projected_substitution_order": 2,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 2.792,
            "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": 77.0
          },
          "latest_10_games": [
            {
              "match_id": 16363269.0,
              "match_date": "2026-09-05",
              "home_team": "Fulham",
              "away_team": "Crystal Palace",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Fulham",
              "opponent": "Crystal Palace",
              "stats": {
                "minutes": 11,
                "rating": 6.5,
                "assists": 0,
                "expected_goals": 0.0791,
                "expected_assists": 0.3199,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 17,
                "accurate_pass": 14,
                "key_pass": 1,
                "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": 16363255.0,
              "match_date": "2026-08-30",
              "home_team": "Sunderland",
              "away_team": "Fulham",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Fulham",
              "opponent": "Sunderland",
              "stats": {
                "minutes": 22,
                "rating": 6.8,
                "assists": 0,
                "expected_goals": 0.021,
                "expected_assists": 0.1245,
                "total_shots": 1,
                "total_pass": 16,
                "accurate_pass": 13,
                "tackles": 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": 16363244.0,
              "match_date": "2026-08-24",
              "home_team": "Fulham",
              "away_team": "Chelsea",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Fulham",
              "opponent": "Chelsea",
              "stats": {
                "minutes": 17,
                "rating": 6.6,
                "assists": 0,
                "expected_goals": 0.0325,
                "expected_assists": 0.0027,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 7,
                "accurate_pass": 4,
                "interceptions": 1,
                "aerial_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"
            }
          ],
          "ranking": {
            "global_player_rank": 3091,
            "combined_rank_score": 1057.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 698.0,
            "sofascore_rating": 6.7,
            "sofascore_appearances": 2.0,
            "fifa_rank": 1417.0,
            "fifa_overall": 77.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 11,
            "squad_role": "substitute",
            "projected_match_rating": 7.1,
            "source_file": "data/player_rankings.csv",
            "player_name": "Ryan Sessegnon",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Callum Wilson",
                  "ranking": 3086
                },
                {
                  "player_name": "Victor Lindelöf",
                  "ranking": 3087
                },
                {
                  "player_name": "Oscar Bobb",
                  "ranking": 3088
                },
                {
                  "player_name": "Emmanuel Agbadou",
                  "ranking": 3089
                },
                {
                  "player_name": "Luis Romo",
                  "ranking": 3090
                }
              ],
              "lower": [
                {
                  "player_name": "Albian Hajdari",
                  "ranking": 3092
                },
                {
                  "player_name": "Joe Willock",
                  "ranking": 3093
                },
                {
                  "player_name": "Adam Hložek",
                  "ranking": 3094
                },
                {
                  "player_name": "Jamie Gittens",
                  "ranking": 3095
                },
                {
                  "player_name": "Gonzalo Montiel",
                  "ranking": 3096
                }
              ]
            }
          },
          "data_sources": [
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.255,
          "history_matches": 0,
          "xgboost_reasoning": {
            "model_source": "market_value_prior",
            "position_service": "D_service",
            "features_evaluated": [],
            "targets_predicted": [],
            "history_matches": 0,
            "data_confidence": 0.255,
            "data_sources": [
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 18.02,
            "bench_appearance_prob": 0.618,
            "market_value_adjustment": 0.6408,
            "fbref_prior_metrics": {
              "squad": "Fulham",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 0.0,
              "sub_appearances": 2.0,
              "minutes_per_sub": 21.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "prior_reliability": 0.0333
            },
            "rationale": "Bench projection from market-value prior (€21,000,000) scaled to 18.0 expected mins; FBref playing time empirical prior: 2.0 sub appearances, 21.0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "market_value_prior",
              "description": "Market-value baseline for position D (quality 0.64)",
              "stats": {
                "interceptions": 2,
                "tackles": 3,
                "tackles_won": 2,
                "clearances": 3,
                "aerial_won": 3,
                "duels_won": 6,
                "total_pass": 49,
                "accurate_pass": 39,
                "expected_goals": 0.021,
                "rating": 7.1,
                "minutes": 90,
                "total_long_balls": 6,
                "accurate_long_balls": 3,
                "total_own_half_passes": 31,
                "accurate_own_half_passes": 25,
                "total_opp_half_passes": 11,
                "accurate_opp_half_passes": 8,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 64,
                "possession_lost": 7.2,
                "dispossessed": 0.5,
                "duels_lost": 4,
                "aerial_lost": 2,
                "total_contest": 5,
                "won_contest": 3,
                "ball_recovery": 6,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_assists": 0.061,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.016,
                "key_pass": 1,
                "ball_carries": 23,
                "total_progression": 68,
                "progressive_carries": 5
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0216)",
              "stats": {
                "interceptions": 2,
                "tackles": 3,
                "tackles_won": 2,
                "clearances": 3,
                "aerial_won": 3,
                "duels_won": 6,
                "total_pass": 49,
                "accurate_pass": 39,
                "expected_goals": 0.021,
                "rating": 7.1,
                "minutes": 90,
                "total_long_balls": 6,
                "accurate_long_balls": 3,
                "total_own_half_passes": 31,
                "accurate_own_half_passes": 25,
                "total_opp_half_passes": 11,
                "accurate_opp_half_passes": 8,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 64,
                "possession_lost": 7.2,
                "dispossessed": 0.5,
                "duels_lost": 4,
                "aerial_lost": 2,
                "total_contest": 5,
                "won_contest": 3,
                "ball_recovery": 6,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_assists": 0.061,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.016,
                "key_pass": 1,
                "ball_carries": 23,
                "total_progression": 68,
                "progressive_carries": 5,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 50.0,
                "shotConversion": 0.0,
                "minutesPct": 22.8,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": -2.2
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 18.0 expected minutes (appearance prob 0.62)",
              "stats": {
                "interceptions": 0,
                "tackles": 1,
                "tackles_won": 0,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 1,
                "total_pass": 10,
                "accurate_pass": 8,
                "expected_goals": 0.0042,
                "rating": 7.1,
                "minutes": 18,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 6,
                "accurate_own_half_passes": 5,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 13,
                "possession_lost": 1.4416,
                "dispossessed": 0.5,
                "duels_lost": 1,
                "aerial_lost": 2,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 1,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_assists": 0.0122,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0032,
                "key_pass": 0,
                "ball_carries": 5,
                "total_progression": 14,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 50.0,
                "shotConversion": 0.0,
                "minutesPct": 22.8,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.618,
                "bench_expected_minutes": 18.02
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 0,
                "tackles": 1,
                "tackles_won": 0,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 1,
                "total_pass": 10,
                "accurate_pass": 8,
                "expected_goals": 0.0042,
                "rating": 7.1,
                "minutes": 18,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 6,
                "accurate_own_half_passes": 5,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 13,
                "possession_lost": 1.4416,
                "dispossessed": 0.5,
                "duels_lost": 1,
                "aerial_lost": 2,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 1,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_assists": 0.0122,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0032,
                "key_pass": 0,
                "ball_carries": 5,
                "total_progression": 14,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 50.0,
                "shotConversion": 0.0,
                "minutesPct": 22.8,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.618,
                "bench_expected_minutes": 18.02
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 0.95 (squad xG sum 1.3873, xG scale 0.6877)",
              "stats": {
                "interceptions": 0,
                "tackles": 1,
                "tackles_won": 0,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 1,
                "total_pass": 10,
                "accurate_pass": 8,
                "expected_goals": 0.0029,
                "rating": 7.1,
                "minutes": 18,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 6,
                "accurate_own_half_passes": 5,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 13,
                "possession_lost": 1.4416,
                "dispossessed": 0.5,
                "duels_lost": 1,
                "aerial_lost": 2,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 1,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_assists": 0.0122,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0032,
                "key_pass": 0,
                "ball_carries": 5,
                "total_progression": 14,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 50.0,
                "shotConversion": 0.0,
                "minutesPct": 22.8,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.618,
                "bench_expected_minutes": 18.02,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.792,
                "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 11, fifa_overall 77.0)",
              "stats": {
                "interceptions": 0,
                "tackles": 1,
                "tackles_won": 0,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 1,
                "total_pass": 10,
                "accurate_pass": 8,
                "expected_goals": 0.0029,
                "rating": 7.1,
                "minutes": 18,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 6,
                "accurate_own_half_passes": 5,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 13,
                "possession_lost": 1.4416,
                "dispossessed": 0.5,
                "duels_lost": 1,
                "aerial_lost": 2,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 1,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_assists": 0.0122,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0032,
                "key_pass": 0,
                "ball_carries": 5,
                "total_progression": 14,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 50.0,
                "shotConversion": 0.0,
                "minutesPct": 22.8,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.618,
                "bench_expected_minutes": 18.02,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.792,
                "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": 77.0
              }
            }
          ]
        },
        "David Affengruber": {
          "player_id": 988672,
          "position": "D",
          "position_depth": "D_BENCH",
          "is_starter": false,
          "shirt_number": 22,
          "height": 185,
          "market_value": 18100000,
          "stats": {
            "interceptions": 0,
            "tackles": 0,
            "tackles_won": 0,
            "clearances": 0,
            "aerial_won": 0,
            "rating": 6.7945,
            "minutes": 14,
            "total_pass": 12,
            "accurate_pass": 10,
            "duels_won": 1,
            "total_long_balls": 1,
            "accurate_long_balls": 0,
            "total_own_half_passes": 7,
            "accurate_own_half_passes": 7,
            "total_opp_half_passes": 4,
            "accurate_opp_half_passes": 4,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 15,
            "possession_lost": 1.584,
            "dispossessed": 1.0336,
            "duels_lost": 0,
            "aerial_lost": 2,
            "total_contest": 0,
            "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_goals": 0.018,
            "expected_assists": 0.0033,
            "total_shots": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0,
            "ball_carries": 4,
            "total_progression": 9,
            "progressive_carries": 0,
            "key_pass": 0,
            "bench_appearance_probability": 0.33,
            "bench_expected_minutes": 14.26,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 2.792,
            "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": 76.0
          },
          "latest_10_games": [
            {
              "match_id": 16416304.0,
              "match_date": "2026-08-28",
              "home_team": "Real Racing Club",
              "away_team": "Elche",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Elche",
              "opponent": "Real Racing Club",
              "stats": {
                "minutes": 90,
                "rating": 6.8,
                "assists": 0,
                "expected_goals": 0.1202,
                "expected_assists": 0.0362,
                "total_shots": 2,
                "shots_off_target": 1,
                "total_pass": 77,
                "accurate_pass": 70,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 4,
                "aerial_won": 2,
                "duels_won": 5,
                "ball_recovery": 7
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16416311.0,
              "match_date": "2026-08-23",
              "home_team": "Elche",
              "away_team": "FC Barcelona",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Elche",
              "opponent": "FC Barcelona",
              "stats": {
                "minutes": 90,
                "rating": 5.1,
                "assists": 0,
                "expected_goals": 0.0761,
                "expected_assists": 0.0035,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 47,
                "accurate_pass": 37,
                "interceptions": 4,
                "clearances": 2,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 4
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            },
            {
              "match_id": 16421050.0,
              "match_date": "2026-08-17",
              "home_team": "Deportivo de A Coruña",
              "away_team": "Elche",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Elche",
              "opponent": "Deportivo de A Coruña",
              "stats": {
                "minutes": 90,
                "rating": 7.0,
                "assists": 0,
                "expected_goals": 0.131,
                "expected_assists": 0.0108,
                "total_shots": 2,
                "shots_off_target": 1,
                "total_pass": 88,
                "accurate_pass": 83,
                "tackles": 2,
                "tackles_won": 2,
                "clearances": 5,
                "duels_won": 5,
                "ball_recovery": 6
              },
              "has_player_stats": true,
              "league_name": "LaLiga",
              "league_id": "8.0",
              "league_slug": "laliga",
              "league_country": "Spain",
              "season_id": "97268.0",
              "season_name": "LaLiga 26/27",
              "season_year": "26/27"
            }
          ],
          "ranking": {
            "global_player_rank": 3203,
            "combined_rank_score": 1157.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 336.0,
            "sofascore_rating": 7.0,
            "sofascore_appearances": 1.0,
            "fifa_rank": 1979.0,
            "fifa_overall": 76.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 12,
            "squad_role": "substitute",
            "projected_match_rating": 6.7945,
            "source_file": "data/player_rankings.csv",
            "player_name": "David Affengruber",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "David Zima",
                  "ranking": 3198
                },
                {
                  "player_name": "Juan Iglesias",
                  "ranking": 3199
                },
                {
                  "player_name": "Thierno Barry",
                  "ranking": 3200
                },
                {
                  "player_name": "Tiago Palacios",
                  "ranking": 3201
                },
                {
                  "player_name": "Frederik Rønnow",
                  "ranking": 3202
                }
              ],
              "lower": [
                {
                  "player_name": "Kike Salas",
                  "ranking": 3204
                },
                {
                  "player_name": "Franck Honorat",
                  "ranking": 3205
                },
                {
                  "player_name": "Djibril Sow",
                  "ranking": 3206
                },
                {
                  "player_name": "Pepelu",
                  "ranking": 3207
                },
                {
                  "player_name": "Dayann Methalie",
                  "ranking": 3208
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.438,
          "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.438,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "bench_expected_minutes": 14.26342464087466,
            "bench_appearance_prob": 0.3301556654943028,
            "market_value_adjustment": 1.0336,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection scaled from XGBoost D_service (3 historical appearances) to 14.3 expected mins (appearance prob 0.33)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 6 target models",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 1,
                "aerial_won": 1,
                "rating": 6.5737,
                "minutes": 90,
                "total_pass": 71,
                "accurate_pass": 63,
                "duels_won": 4,
                "total_long_balls": 4,
                "accurate_long_balls": 2,
                "total_own_half_passes": 44,
                "accurate_own_half_passes": 41,
                "total_opp_half_passes": 27,
                "accurate_opp_half_passes": 22,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 89,
                "possession_lost": 9.67,
                "dispossessed": 1.0,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 6,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 2,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.11,
                "expected_assists": 0.02,
                "total_shots": 2,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 23,
                "total_progression": 57,
                "progressive_carries": 1,
                "key_pass": 1
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0336, quality 0.612)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 1,
                "aerial_won": 1,
                "rating": 6.7945,
                "minutes": 93,
                "total_pass": 73,
                "accurate_pass": 65,
                "duels_won": 4,
                "total_long_balls": 4,
                "accurate_long_balls": 2,
                "total_own_half_passes": 45,
                "accurate_own_half_passes": 42,
                "total_opp_half_passes": 28,
                "accurate_opp_half_passes": 23,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 92,
                "possession_lost": 9.9948,
                "dispossessed": 1.0336,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 6,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 2,
                "blocks": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.1137,
                "expected_assists": 0.0207,
                "total_shots": 2,
                "shots_on_target": 0,
                "shots_off_target": 1,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 24,
                "total_progression": 59,
                "progressive_carries": 1,
                "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": 6.7945,
                "minutes": 14,
                "total_pass": 12,
                "accurate_pass": 10,
                "duels_won": 1,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 4,
                "accurate_opp_half_passes": 4,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 15,
                "possession_lost": 1.584,
                "dispossessed": 1.0336,
                "duels_lost": 0,
                "aerial_lost": 2,
                "total_contest": 0,
                "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_goals": 0.018,
                "expected_assists": 0.0033,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 4,
                "total_progression": 9,
                "progressive_carries": 0,
                "key_pass": 0,
                "bench_appearance_probability": 0.33,
                "bench_expected_minutes": 14.26
              }
            },
            {
              "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": 6.7945,
                "minutes": 14,
                "total_pass": 12,
                "accurate_pass": 10,
                "duels_won": 1,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 4,
                "accurate_opp_half_passes": 4,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 15,
                "possession_lost": 1.584,
                "dispossessed": 1.0336,
                "duels_lost": 0,
                "aerial_lost": 2,
                "total_contest": 0,
                "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_goals": 0.018,
                "expected_assists": 0.0033,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 4,
                "total_progression": 9,
                "progressive_carries": 0,
                "key_pass": 0,
                "bench_appearance_probability": 0.33,
                "bench_expected_minutes": 14.26
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 12, fifa_overall 76.0)",
              "stats": {
                "interceptions": 0,
                "tackles": 0,
                "tackles_won": 0,
                "clearances": 0,
                "aerial_won": 0,
                "rating": 6.7945,
                "minutes": 14,
                "total_pass": 12,
                "accurate_pass": 10,
                "duels_won": 1,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 4,
                "accurate_opp_half_passes": 4,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 15,
                "possession_lost": 1.584,
                "dispossessed": 1.0336,
                "duels_lost": 0,
                "aerial_lost": 2,
                "total_contest": 0,
                "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_goals": 0.018,
                "expected_assists": 0.0033,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 4,
                "total_progression": 9,
                "progressive_carries": 0,
                "key_pass": 0,
                "bench_appearance_probability": 0.33,
                "bench_expected_minutes": 14.26,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.792,
                "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": 76.0
              }
            }
          ]
        },
        "Hugo Larsson": {
          "player_id": 1142211,
          "position": "M",
          "position_depth": "M_BENCH",
          "is_starter": false,
          "shirt_number": 15,
          "height": 187,
          "market_value": 30000000,
          "stats": {
            "key_pass": 0,
            "expected_assists": 0.019,
            "assists": 0,
            "expected_goals": 0.01,
            "rating": 7.2096,
            "minutes": 23,
            "total_pass": 5,
            "accurate_pass": 4,
            "ball_recovery": 1,
            "duels_won": 0,
            "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": 3,
            "accurate_opp_half_passes": 2,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 6,
            "possession_lost": 0.8196,
            "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": 1,
            "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": 1,
            "total_progression": 3,
            "progressive_carries": 0,
            "bench_appearance_probability": 0.549,
            "bench_expected_minutes": 23.08,
            "projected_substitution_order": 4,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 2.792,
            "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": 77.0
          },
          "latest_10_games": [
            {
              "match_id": 16363269.0,
              "match_date": "2026-09-05",
              "home_team": "Fulham",
              "away_team": "Crystal Palace",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Fulham",
              "opponent": "Crystal Palace",
              "stats": {
                "minutes": 11,
                "rating": 7.3,
                "assists": 0,
                "expected_goals": 0.1278,
                "expected_assists": 0.2213,
                "total_shots": 1,
                "total_pass": 17,
                "accurate_pass": 14,
                "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": 3138,
            "combined_rank_score": 1104.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 698.0,
            "sofascore_rating": 6.7,
            "sofascore_appearances": 2.0,
            "fifa_rank": 1511.0,
            "fifa_overall": 77.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 2,
            "squad_role": "substitute",
            "projected_match_rating": 7.2096,
            "source_file": "data/player_rankings.csv",
            "player_name": "Hugo Larsson",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Robert Navarro",
                  "ranking": 3133
                },
                {
                  "player_name": "Luka Sučić",
                  "ranking": 3134
                },
                {
                  "player_name": "Che Adams",
                  "ranking": 3135
                },
                {
                  "player_name": "Carlos Vicente",
                  "ranking": 3136
                },
                {
                  "player_name": "Lautaro Di Lollo",
                  "ranking": 3137
                }
              ],
              "lower": [
                {
                  "player_name": "Kasper Dolberg",
                  "ranking": 3139
                },
                {
                  "player_name": "Matt Grimes",
                  "ranking": 3140
                },
                {
                  "player_name": "Sem Steijn",
                  "ranking": 3141
                },
                {
                  "player_name": "David Brooks",
                  "ranking": 3142
                },
                {
                  "player_name": "André Silva",
                  "ranking": 3143
                }
              ]
            }
          },
          "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"
            ],
            "bench_expected_minutes": 23.081594925726826,
            "bench_appearance_prob": 0.5491634057148558,
            "market_value_adjustment": 1.0653,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection scaled from XGBoost M_service (1 historical appearances) to 23.1 expected mins (appearance prob 0.55)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 5 target models",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0696,
                "assists": 0,
                "expected_goals": 0.0535,
                "rating": 6.7679,
                "minutes": 11,
                "total_pass": 17,
                "accurate_pass": 14,
                "ball_recovery": 3,
                "duels_won": 1,
                "total_shots": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 5,
                "accurate_own_half_passes": 5,
                "total_opp_half_passes": 12,
                "accurate_opp_half_passes": 9,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 21,
                "possession_lost": 3.0,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 1,
                "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": 4,
                "total_progression": 9,
                "progressive_carries": 0
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0653, quality 0.718)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0741,
                "assists": 0,
                "expected_goals": 0.057,
                "rating": 7.2096,
                "minutes": 12,
                "total_pass": 18,
                "accurate_pass": 15,
                "ball_recovery": 3,
                "duels_won": 1,
                "total_shots": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 5,
                "accurate_own_half_passes": 5,
                "total_opp_half_passes": 13,
                "accurate_opp_half_passes": 10,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 22,
                "possession_lost": 3.1958,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 1,
                "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": 4,
                "total_progression": 10,
                "progressive_carries": 0
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 23.1 expected minutes (appearance prob 0.55)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.019,
                "assists": 0,
                "expected_goals": 0.0146,
                "rating": 7.2096,
                "minutes": 23,
                "total_pass": 5,
                "accurate_pass": 4,
                "ball_recovery": 1,
                "duels_won": 0,
                "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": 3,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 6,
                "possession_lost": 0.8196,
                "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": 1,
                "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": 1,
                "total_progression": 3,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.549,
                "bench_expected_minutes": 23.08
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.019,
                "assists": 0,
                "expected_goals": 0.0146,
                "rating": 7.2096,
                "minutes": 23,
                "total_pass": 5,
                "accurate_pass": 4,
                "ball_recovery": 1,
                "duels_won": 0,
                "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": 3,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 6,
                "possession_lost": 0.8196,
                "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": 1,
                "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": 1,
                "total_progression": 3,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.549,
                "bench_expected_minutes": 23.08
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 0.95 (squad xG sum 1.3873, xG scale 0.6877)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.019,
                "assists": 0,
                "expected_goals": 0.01,
                "rating": 7.2096,
                "minutes": 23,
                "total_pass": 5,
                "accurate_pass": 4,
                "ball_recovery": 1,
                "duels_won": 0,
                "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": 3,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 6,
                "possession_lost": 0.8196,
                "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": 1,
                "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": 1,
                "total_progression": 3,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.549,
                "bench_expected_minutes": 23.08,
                "projected_substitution_order": 4,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.792,
                "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 2, fifa_overall 77.0)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.019,
                "assists": 0,
                "expected_goals": 0.01,
                "rating": 7.2096,
                "minutes": 23,
                "total_pass": 5,
                "accurate_pass": 4,
                "ball_recovery": 1,
                "duels_won": 0,
                "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": 3,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 6,
                "possession_lost": 0.8196,
                "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": 1,
                "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": 1,
                "total_progression": 3,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.549,
                "bench_expected_minutes": 23.08,
                "projected_substitution_order": 4,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.792,
                "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": 77.0
              }
            }
          ]
        },
        "Sander Berge": {
          "player_id": 793167,
          "position": "M",
          "position_depth": "M_BENCH",
          "is_starter": false,
          "shirt_number": 16,
          "height": 195,
          "market_value": 26000000,
          "stats": {
            "key_pass": 0,
            "expected_assists": 0.0192,
            "assists": 0,
            "expected_goals": 0.0069,
            "rating": 7.2076,
            "minutes": 23,
            "total_pass": 14,
            "accurate_pass": 13,
            "ball_recovery": 1,
            "duels_won": 1,
            "total_shots": 0,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_own_half_passes": 7,
            "accurate_own_half_passes": 7,
            "total_opp_half_passes": 6,
            "accurate_opp_half_passes": 6,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 15,
            "possession_lost": 1.2576,
            "dispossessed": 1.0558,
            "duels_lost": 1,
            "aerial_won": 0,
            "aerial_lost": 2,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "total_contest": 0,
            "won_contest": 0,
            "challenges_lost": 2,
            "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": 6,
            "total_progression": 14,
            "progressive_carries": 0,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 0.0,
            "shotConversion": 0.0,
            "minutesPct": 85.6,
            "pointsPerMatch": 0.0,
            "netGoalDifferencePer90": 0.0,
            "bench_appearance_probability": 0.327,
            "bench_expected_minutes": 22.96,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 2.792,
            "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": 16363269.0,
              "match_date": "2026-09-05",
              "home_team": "Fulham",
              "away_team": "Crystal Palace",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Fulham",
              "opponent": "Crystal Palace",
              "stats": {
                "minutes": 29,
                "rating": 6.9,
                "assists": 0,
                "expected_assists": 0.1012,
                "total_shots": 0,
                "total_pass": 34,
                "accurate_pass": 34,
                "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": 16363255.0,
              "match_date": "2026-08-30",
              "home_team": "Sunderland",
              "away_team": "Fulham",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Fulham",
              "opponent": "Sunderland",
              "stats": {
                "minutes": 83,
                "rating": 6.3,
                "assists": 0,
                "expected_assists": 0.1964,
                "total_shots": 0,
                "total_pass": 56,
                "accurate_pass": 50,
                "key_pass": 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": 16363244.0,
              "match_date": "2026-08-24",
              "home_team": "Fulham",
              "away_team": "Chelsea",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Fulham",
              "opponent": "Chelsea",
              "stats": {
                "minutes": 73,
                "rating": 6.7,
                "assists": 0,
                "expected_goals": 0.0294,
                "expected_assists": 0.0271,
                "total_shots": 1,
                "total_pass": 61,
                "accurate_pass": 58,
                "key_pass": 2,
                "tackles": 1,
                "aerial_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"
            }
          ],
          "ranking": {
            "global_player_rank": 1037,
            "combined_rank_score": 465.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 69.0,
            "sofascore_rating": 7.5875,
            "sofascore_appearances": 8.0,
            "fifa_rank": 861.0,
            "fifa_overall": 79.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 6,
            "squad_role": "substitute",
            "projected_match_rating": 7.2076,
            "source_file": "data/player_rankings.csv",
            "player_name": "Sander Berge",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Carlos Romero",
                  "ranking": 1032
                },
                {
                  "player_name": "Shota Gvazava",
                  "ranking": 1033
                },
                {
                  "player_name": "Joachim Andersen",
                  "ranking": 1034
                },
                {
                  "player_name": "Alisson",
                  "ranking": 1035
                },
                {
                  "player_name": "Anthony Elanga",
                  "ranking": 1036
                }
              ],
              "lower": [
                {
                  "player_name": "Rustam Nartazhiev",
                  "ranking": 1038
                },
                {
                  "player_name": "Christian Bravo",
                  "ranking": 1039
                },
                {
                  "player_name": "Julián Quiñones",
                  "ranking": 1040
                },
                {
                  "player_name": "Alex Iwobi",
                  "ranking": 1041
                },
                {
                  "player_name": "Lee Ji-Hoon",
                  "ranking": 1042
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.454,
          "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.454,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 22.95590653284853,
            "bench_appearance_prob": 0.327,
            "market_value_adjustment": 1.0558,
            "fbref_prior_metrics": {
              "squad": "Fulham",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 2.0,
              "sub_appearances": 0.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "prior_reliability": 0.1133
            },
            "rationale": "Bench projection scaled from XGBoost M_service (3 historical appearances) to 23.0 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 M_service raw output over 5 target models",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0713,
                "assists": 0,
                "expected_goals": 0.0256,
                "rating": 6.827,
                "minutes": 62,
                "total_pass": 50,
                "accurate_pass": 47,
                "ball_recovery": 2,
                "duels_won": 2,
                "total_shots": 0,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 27,
                "accurate_own_half_passes": 26,
                "total_opp_half_passes": 23,
                "accurate_opp_half_passes": 21,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 54,
                "possession_lost": 4.67,
                "dispossessed": 1.0,
                "duels_lost": 4,
                "aerial_won": 1,
                "aerial_lost": 2,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 1,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 21,
                "total_progression": 52,
                "progressive_carries": 0
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0558, quality 0.686)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0753,
                "assists": 0,
                "expected_goals": 0.027,
                "rating": 7.2076,
                "minutes": 65,
                "total_pass": 53,
                "accurate_pass": 50,
                "ball_recovery": 2,
                "duels_won": 2,
                "total_shots": 0,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 29,
                "accurate_own_half_passes": 27,
                "total_opp_half_passes": 25,
                "accurate_opp_half_passes": 23,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 57,
                "possession_lost": 4.9304,
                "dispossessed": 1.0558,
                "duels_lost": 5,
                "aerial_won": 1,
                "aerial_lost": 2,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 1,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 22,
                "total_progression": 55,
                "progressive_carries": 0
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0460)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0753,
                "assists": 0,
                "expected_goals": 0.027,
                "rating": 7.2076,
                "minutes": 65,
                "total_pass": 53,
                "accurate_pass": 50,
                "ball_recovery": 2,
                "duels_won": 2,
                "total_shots": 0,
                "total_long_balls": 2,
                "accurate_long_balls": 1,
                "total_own_half_passes": 29,
                "accurate_own_half_passes": 27,
                "total_opp_half_passes": 25,
                "accurate_opp_half_passes": 23,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 57,
                "possession_lost": 4.9304,
                "dispossessed": 1.0558,
                "duels_lost": 5,
                "aerial_won": 1,
                "aerial_lost": 2,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 2,
                "fouls": 1,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 1,
                "big_chances_created": 1,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 22,
                "total_progression": 55,
                "progressive_carries": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 85.6,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": -1.17
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 23.0 expected minutes (appearance prob 0.33)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0192,
                "assists": 0,
                "expected_goals": 0.0069,
                "rating": 7.2076,
                "minutes": 23,
                "total_pass": 14,
                "accurate_pass": 13,
                "ball_recovery": 1,
                "duels_won": 1,
                "total_shots": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 6,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 15,
                "possession_lost": 1.2576,
                "dispossessed": 1.0558,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 2,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 2,
                "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": 6,
                "total_progression": 14,
                "progressive_carries": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 85.6,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.327,
                "bench_expected_minutes": 22.96
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0192,
                "assists": 0,
                "expected_goals": 0.0069,
                "rating": 7.2076,
                "minutes": 23,
                "total_pass": 14,
                "accurate_pass": 13,
                "ball_recovery": 1,
                "duels_won": 1,
                "total_shots": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 6,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 15,
                "possession_lost": 1.2576,
                "dispossessed": 1.0558,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 2,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 2,
                "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": 6,
                "total_progression": 14,
                "progressive_carries": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 85.6,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.327,
                "bench_expected_minutes": 22.96
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 6, fifa_overall 79.0)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0192,
                "assists": 0,
                "expected_goals": 0.0069,
                "rating": 7.2076,
                "minutes": 23,
                "total_pass": 14,
                "accurate_pass": 13,
                "ball_recovery": 1,
                "duels_won": 1,
                "total_shots": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 6,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 15,
                "possession_lost": 1.2576,
                "dispossessed": 1.0558,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 2,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 2,
                "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": 6,
                "total_progression": 14,
                "progressive_carries": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 85.6,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.327,
                "bench_expected_minutes": 22.96,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.792,
                "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
              }
            }
          ]
        },
        "Rodrigo Muniz": {
          "player_id": 1015256,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 9,
          "height": 184,
          "market_value": 22000000,
          "stats": {
            "expected_goals": 0.0174,
            "goal_rate": 0.0215,
            "goals": 0,
            "shots_on_target": 0,
            "expected_assists": 0.0041,
            "key_pass": 0,
            "rating": 6.091,
            "minutes": 17,
            "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": 1,
            "possession_lost": 0.4851,
            "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,
            "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.0116,
            "offsides": 0,
            "ball_carries": 1,
            "total_progression": 0,
            "progressive_carries": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 100.0,
            "shotConversion": 0.0,
            "minutesPct": 5.0,
            "pointsPerMatch": 0.0,
            "netGoalDifferencePer90": 0.0,
            "bench_appearance_probability": 0.736,
            "bench_expected_minutes": 16.71,
            "projected_substitution_order": 1,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 2.792,
            "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": 76.0
          },
          "latest_10_games": [
            {
              "match_id": 16363269.0,
              "match_date": "2026-09-05",
              "home_team": "Fulham",
              "away_team": "Crystal Palace",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Fulham",
              "opponent": "Crystal Palace",
              "stats": {
                "minutes": 12,
                "rating": 6.1,
                "assists": 0,
                "expected_goals": 0.382,
                "expected_assists": 0.0001,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 2,
                "accurate_pass": 1,
                "key_pass": 1,
                "aerial_won": 2,
                "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"
            },
            {
              "match_id": 16363244.0,
              "match_date": "2026-08-24",
              "home_team": "Fulham",
              "away_team": "Chelsea",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Fulham",
              "opponent": "Chelsea",
              "stats": {
                "minutes": 8,
                "rating": 6.7,
                "assists": 0,
                "expected_goals": 0.0196,
                "expected_assists": 0.0016,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 4,
                "accurate_pass": 2,
                "key_pass": 1,
                "clearances": 1,
                "aerial_won": 3,
                "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"
            }
          ],
          "ranking": {
            "global_player_rank": 3299,
            "combined_rank_score": 1249.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 698.0,
            "sofascore_rating": 6.7,
            "sofascore_appearances": 1.0,
            "fifa_rank": 1800.0,
            "fifa_overall": 76.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 8,
            "squad_role": "substitute",
            "projected_match_rating": 6.091,
            "source_file": "data/player_rankings.csv",
            "player_name": "Rodrigo Muniz",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Michael Zetterer",
                  "ranking": 3294
                },
                {
                  "player_name": "Lukas Nmecha",
                  "ranking": 3295
                },
                {
                  "player_name": "Ruslan Malinovskyi",
                  "ranking": 3296
                },
                {
                  "player_name": "Ibrahim Mbaye",
                  "ranking": 3297
                },
                {
                  "player_name": "Unai Núñez",
                  "ranking": 3298
                }
              ],
              "lower": [
                {
                  "player_name": "Raíllo",
                  "ranking": 3300
                },
                {
                  "player_name": "Gelson Martins",
                  "ranking": 3301
                },
                {
                  "player_name": "Abel Bretones",
                  "ranking": 3302
                },
                {
                  "player_name": "Chiquinho",
                  "ranking": 3303
                },
                {
                  "player_name": "Kaiki",
                  "ranking": 3304
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.376,
          "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.376,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 16.71,
            "bench_appearance_prob": 0.736,
            "market_value_adjustment": 1.0451,
            "fbref_prior_metrics": {
              "squad": "Fulham",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 1.0,
              "starts": 0.0,
              "sub_appearances": 1.0,
              "minutes_per_sub": 9.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "prior_reliability": 0.0067
            },
            "rationale": "Bench projection scaled from XGBoost F_service (2 historical appearances) to 16.7 expected mins (appearance prob 0.74); FBref playing time empirical prior: 1.0 sub appearances, 9.0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 6 target models",
              "stats": {
                "expected_goals": 0.1305,
                "goal_rate": 0.1113,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0213,
                "key_pass": 0,
                "rating": 5.8282,
                "minutes": 10,
                "total_shots": 2,
                "duels_won": 2,
                "aerial_won": 2,
                "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": 8,
                "possession_lost": 2.5,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 1,
                "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": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.06,
                "offsides": 0,
                "ball_carries": 3,
                "total_progression": 0,
                "progressive_carries": 0
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0451, quality 0.650)",
              "stats": {
                "expected_goals": 0.1364,
                "goal_rate": 0.1164,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0223,
                "key_pass": 0,
                "rating": 6.091,
                "minutes": 10,
                "total_shots": 2,
                "duels_won": 3,
                "aerial_won": 3,
                "total_pass": 3,
                "accurate_pass": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 3,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 8,
                "possession_lost": 2.6127,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 1,
                "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": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0627,
                "offsides": 0,
                "ball_carries": 3,
                "total_progression": 0,
                "progressive_carries": 0
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0031)",
              "stats": {
                "expected_goals": 0.1364,
                "goal_rate": 0.116,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0223,
                "key_pass": 0,
                "rating": 6.091,
                "minutes": 10,
                "total_shots": 2,
                "duels_won": 3,
                "aerial_won": 3,
                "total_pass": 3,
                "accurate_pass": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 3,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 8,
                "possession_lost": 2.6127,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 1,
                "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": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0627,
                "offsides": 0,
                "ball_carries": 3,
                "total_progression": 0,
                "progressive_carries": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.0,
                "minutesPct": 5.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 16.7 expected minutes (appearance prob 0.74)",
              "stats": {
                "expected_goals": 0.0253,
                "goal_rate": 0.0215,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0041,
                "key_pass": 0,
                "rating": 6.091,
                "minutes": 17,
                "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": 1,
                "possession_lost": 0.4851,
                "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,
                "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.0116,
                "offsides": 0,
                "ball_carries": 1,
                "total_progression": 0,
                "progressive_carries": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.0,
                "minutesPct": 5.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.736,
                "bench_expected_minutes": 16.71
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.0253,
                "goal_rate": 0.0215,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0041,
                "key_pass": 0,
                "rating": 6.091,
                "minutes": 17,
                "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": 1,
                "possession_lost": 0.4851,
                "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,
                "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.0116,
                "offsides": 0,
                "ball_carries": 1,
                "total_progression": 0,
                "progressive_carries": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.0,
                "minutesPct": 5.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.736,
                "bench_expected_minutes": 16.71
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 0.95 (squad xG sum 1.3873, xG scale 0.6877)",
              "stats": {
                "expected_goals": 0.0174,
                "goal_rate": 0.0215,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0041,
                "key_pass": 0,
                "rating": 6.091,
                "minutes": 17,
                "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": 1,
                "possession_lost": 0.4851,
                "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,
                "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.0116,
                "offsides": 0,
                "ball_carries": 1,
                "total_progression": 0,
                "progressive_carries": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.0,
                "minutesPct": 5.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.736,
                "bench_expected_minutes": 16.71,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.792,
                "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 8, fifa_overall 76.0)",
              "stats": {
                "expected_goals": 0.0174,
                "goal_rate": 0.0215,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0041,
                "key_pass": 0,
                "rating": 6.091,
                "minutes": 17,
                "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": 1,
                "possession_lost": 0.4851,
                "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,
                "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.0116,
                "offsides": 0,
                "ball_carries": 1,
                "total_progression": 0,
                "progressive_carries": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.0,
                "minutesPct": 5.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.736,
                "bench_expected_minutes": 16.71,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.792,
                "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": 76.0
              }
            }
          ]
        },
        "Jonah Kusi-Asare": {
          "player_id": 1503757,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 18,
          "height": 196,
          "market_value": 3300000,
          "stats": {
            "expected_goals": 0.0441,
            "goal_rate": 0.0422,
            "goals": 0,
            "total_shots": 1,
            "shots_on_target": 0,
            "expected_assists": 0.0231,
            "duels_won": 1,
            "aerial_won": 0,
            "rating": 6.9,
            "minutes": 25,
            "total_pass": 8,
            "accurate_pass": 6,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 4,
            "accurate_opp_half_passes": 3,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 12,
            "possession_lost": 2.2776,
            "dispossessed": 1.0,
            "duels_lost": 1,
            "aerial_lost": 1,
            "total_contest": 1,
            "won_contest": 1,
            "ball_recovery": 1,
            "challenges_lost": 1,
            "fouls": 0,
            "fouls_drawn": 0,
            "assists": 0,
            "shots_off_target": 0,
            "key_pass": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0484,
            "offsides": 1,
            "ball_carries": 5,
            "total_progression": 13,
            "progressive_carries": 1,
            "bench_appearance_probability": 0.559,
            "bench_expected_minutes": 25.31,
            "projected_substitution_order": 3,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 2.792,
            "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": 62.0
          },
          "latest_10_games": [],
          "ranking": {
            "global_player_rank": 9309,
            "combined_rank_score": 7945.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 933.0,
            "sofascore_rating": 6.4667,
            "sofascore_appearances": 7.0,
            "fifa_rank": 14958.0,
            "fifa_overall": 62.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 17,
            "squad_role": "substitute",
            "projected_match_rating": 6.9,
            "source_file": "data/player_rankings.csv",
            "player_name": "Jonah Kusi-Asare",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Pietro Pellegri",
                  "ranking": 9304
                },
                {
                  "player_name": "Vakoun Issouf Bayo",
                  "ranking": 9305
                },
                {
                  "player_name": "Konan N'Dri",
                  "ranking": 9306
                },
                {
                  "player_name": "Tino Anjorin",
                  "ranking": 9307
                },
                {
                  "player_name": "Luca Moro",
                  "ranking": 9308
                }
              ],
              "lower": [
                {
                  "player_name": "Joel Drakes-Thomas",
                  "ranking": 9310
                },
                {
                  "player_name": "Matthias Braunöder",
                  "ranking": 9311
                },
                {
                  "player_name": "Bjarki Steinn Bjarkason",
                  "ranking": 9312
                },
                {
                  "player_name": "Þórir Jóhann Helgason",
                  "ranking": 9313
                },
                {
                  "player_name": "Alessandro Gabrielloni",
                  "ranking": 9314
                }
              ]
            }
          },
          "data_sources": [
            "market_value"
          ],
          "data_confidence": 0.25,
          "history_matches": 0,
          "xgboost_reasoning": {
            "model_source": "market_value_prior",
            "position_service": "F_service",
            "features_evaluated": [],
            "targets_predicted": [],
            "history_matches": 0,
            "data_confidence": 0.25,
            "data_sources": [
              "market_value"
            ],
            "bench_expected_minutes": 25.306980405874903,
            "bench_appearance_prob": 0.5594082002670411,
            "market_value_adjustment": 0.4412,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection from market-value prior (€3,300,000) scaled to 25.3 expected mins."
          },
          "stat_evolution": [
            {
              "step": "market_value_prior",
              "description": "Market-value baseline for position F (quality 0.44)",
              "stats": {
                "expected_goals": 0.228,
                "goal_rate": 0.15,
                "goals": 0,
                "total_shots": 2,
                "shots_on_target": 1,
                "expected_assists": 0.082,
                "duels_won": 4,
                "aerial_won": 1,
                "rating": 6.9,
                "minutes": 90,
                "total_pass": 28,
                "accurate_pass": 20,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_opp_half_passes": 15,
                "accurate_opp_half_passes": 10,
                "crosses_total": 1,
                "crosses_accurate": 1,
                "touches": 41,
                "possession_lost": 8.1,
                "dispossessed": 1.0,
                "duels_lost": 4,
                "aerial_lost": 1,
                "total_contest": 5,
                "won_contest": 3,
                "ball_recovery": 2,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "assists": 0,
                "shots_off_target": 1,
                "key_pass": 1,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.172,
                "offsides": 1,
                "ball_carries": 19,
                "total_progression": 47,
                "progressive_carries": 5
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 25.3 expected minutes (appearance prob 0.56)",
              "stats": {
                "expected_goals": 0.0641,
                "goal_rate": 0.0422,
                "goals": 0,
                "total_shots": 1,
                "shots_on_target": 0,
                "expected_assists": 0.0231,
                "duels_won": 1,
                "aerial_won": 0,
                "rating": 6.9,
                "minutes": 25,
                "total_pass": 8,
                "accurate_pass": 6,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 4,
                "accurate_opp_half_passes": 3,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 12,
                "possession_lost": 2.2776,
                "dispossessed": 1.0,
                "duels_lost": 1,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 1,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "key_pass": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0484,
                "offsides": 1,
                "ball_carries": 5,
                "total_progression": 13,
                "progressive_carries": 1,
                "bench_appearance_probability": 0.559,
                "bench_expected_minutes": 25.31
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.0641,
                "goal_rate": 0.0422,
                "goals": 0,
                "total_shots": 1,
                "shots_on_target": 0,
                "expected_assists": 0.0231,
                "duels_won": 1,
                "aerial_won": 0,
                "rating": 6.9,
                "minutes": 25,
                "total_pass": 8,
                "accurate_pass": 6,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 4,
                "accurate_opp_half_passes": 3,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 12,
                "possession_lost": 2.2776,
                "dispossessed": 1.0,
                "duels_lost": 1,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 1,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "key_pass": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0484,
                "offsides": 1,
                "ball_carries": 5,
                "total_progression": 13,
                "progressive_carries": 1,
                "bench_appearance_probability": 0.559,
                "bench_expected_minutes": 25.31
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 0.95 (squad xG sum 1.3873, xG scale 0.6877)",
              "stats": {
                "expected_goals": 0.0441,
                "goal_rate": 0.0422,
                "goals": 0,
                "total_shots": 1,
                "shots_on_target": 0,
                "expected_assists": 0.0231,
                "duels_won": 1,
                "aerial_won": 0,
                "rating": 6.9,
                "minutes": 25,
                "total_pass": 8,
                "accurate_pass": 6,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 4,
                "accurate_opp_half_passes": 3,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 12,
                "possession_lost": 2.2776,
                "dispossessed": 1.0,
                "duels_lost": 1,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 1,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "key_pass": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0484,
                "offsides": 1,
                "ball_carries": 5,
                "total_progression": 13,
                "progressive_carries": 1,
                "bench_appearance_probability": 0.559,
                "bench_expected_minutes": 25.31,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.792,
                "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 17, fifa_overall 62.0)",
              "stats": {
                "expected_goals": 0.0441,
                "goal_rate": 0.0422,
                "goals": 0,
                "total_shots": 1,
                "shots_on_target": 0,
                "expected_assists": 0.0231,
                "duels_won": 1,
                "aerial_won": 0,
                "rating": 6.9,
                "minutes": 25,
                "total_pass": 8,
                "accurate_pass": 6,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 4,
                "accurate_opp_half_passes": 3,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 12,
                "possession_lost": 2.2776,
                "dispossessed": 1.0,
                "duels_lost": 1,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 1,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "key_pass": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0484,
                "offsides": 1,
                "ball_carries": 5,
                "total_progression": 13,
                "progressive_carries": 1,
                "bench_appearance_probability": 0.559,
                "bench_expected_minutes": 25.31,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.792,
                "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": 62.0
              }
            }
          ]
        }
      },
      "substitutes": {
        "Rodrigo Muniz": {
          "player_id": 1015256,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 9,
          "height": 184,
          "market_value": 22000000,
          "stats": {
            "expected_goals": 0.0174,
            "goal_rate": 0.0215,
            "goals": 0,
            "shots_on_target": 0,
            "expected_assists": 0.0041,
            "key_pass": 0,
            "rating": 6.091,
            "minutes": 17,
            "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": 1,
            "possession_lost": 0.4851,
            "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,
            "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.0116,
            "offsides": 0,
            "ball_carries": 1,
            "total_progression": 0,
            "progressive_carries": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 100.0,
            "shotConversion": 0.0,
            "minutesPct": 5.0,
            "pointsPerMatch": 0.0,
            "netGoalDifferencePer90": 0.0,
            "bench_appearance_probability": 0.736,
            "bench_expected_minutes": 16.71,
            "projected_substitution_order": 1,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 2.792,
            "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": 76.0
          },
          "latest_10_games": [
            {
              "match_id": 16363269.0,
              "match_date": "2026-09-05",
              "home_team": "Fulham",
              "away_team": "Crystal Palace",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Fulham",
              "opponent": "Crystal Palace",
              "stats": {
                "minutes": 12,
                "rating": 6.1,
                "assists": 0,
                "expected_goals": 0.382,
                "expected_assists": 0.0001,
                "total_shots": 2,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 2,
                "accurate_pass": 1,
                "key_pass": 1,
                "aerial_won": 2,
                "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"
            },
            {
              "match_id": 16363244.0,
              "match_date": "2026-08-24",
              "home_team": "Fulham",
              "away_team": "Chelsea",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Fulham",
              "opponent": "Chelsea",
              "stats": {
                "minutes": 8,
                "rating": 6.7,
                "assists": 0,
                "expected_goals": 0.0196,
                "expected_assists": 0.0016,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 4,
                "accurate_pass": 2,
                "key_pass": 1,
                "clearances": 1,
                "aerial_won": 3,
                "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"
            }
          ],
          "ranking": {
            "global_player_rank": 3299,
            "combined_rank_score": 1249.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 698.0,
            "sofascore_rating": 6.7,
            "sofascore_appearances": 1.0,
            "fifa_rank": 1800.0,
            "fifa_overall": 76.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 8,
            "squad_role": "substitute",
            "projected_match_rating": 6.091,
            "source_file": "data/player_rankings.csv",
            "player_name": "Rodrigo Muniz",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Michael Zetterer",
                  "ranking": 3294
                },
                {
                  "player_name": "Lukas Nmecha",
                  "ranking": 3295
                },
                {
                  "player_name": "Ruslan Malinovskyi",
                  "ranking": 3296
                },
                {
                  "player_name": "Ibrahim Mbaye",
                  "ranking": 3297
                },
                {
                  "player_name": "Unai Núñez",
                  "ranking": 3298
                }
              ],
              "lower": [
                {
                  "player_name": "Raíllo",
                  "ranking": 3300
                },
                {
                  "player_name": "Gelson Martins",
                  "ranking": 3301
                },
                {
                  "player_name": "Abel Bretones",
                  "ranking": 3302
                },
                {
                  "player_name": "Chiquinho",
                  "ranking": 3303
                },
                {
                  "player_name": "Kaiki",
                  "ranking": 3304
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.376,
          "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.376,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 16.71,
            "bench_appearance_prob": 0.736,
            "market_value_adjustment": 1.0451,
            "fbref_prior_metrics": {
              "squad": "Fulham",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 1.0,
              "starts": 0.0,
              "sub_appearances": 1.0,
              "minutes_per_sub": 9.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "prior_reliability": 0.0067
            },
            "rationale": "Bench projection scaled from XGBoost F_service (2 historical appearances) to 16.7 expected mins (appearance prob 0.74); FBref playing time empirical prior: 1.0 sub appearances, 9.0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 6 target models",
              "stats": {
                "expected_goals": 0.1305,
                "goal_rate": 0.1113,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0213,
                "key_pass": 0,
                "rating": 5.8282,
                "minutes": 10,
                "total_shots": 2,
                "duels_won": 2,
                "aerial_won": 2,
                "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": 8,
                "possession_lost": 2.5,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 1,
                "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": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.06,
                "offsides": 0,
                "ball_carries": 3,
                "total_progression": 0,
                "progressive_carries": 0
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0451, quality 0.650)",
              "stats": {
                "expected_goals": 0.1364,
                "goal_rate": 0.1164,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0223,
                "key_pass": 0,
                "rating": 6.091,
                "minutes": 10,
                "total_shots": 2,
                "duels_won": 3,
                "aerial_won": 3,
                "total_pass": 3,
                "accurate_pass": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 3,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 8,
                "possession_lost": 2.6127,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 1,
                "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": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0627,
                "offsides": 0,
                "ball_carries": 3,
                "total_progression": 0,
                "progressive_carries": 0
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0031)",
              "stats": {
                "expected_goals": 0.1364,
                "goal_rate": 0.116,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0223,
                "key_pass": 0,
                "rating": 6.091,
                "minutes": 10,
                "total_shots": 2,
                "duels_won": 3,
                "aerial_won": 3,
                "total_pass": 3,
                "accurate_pass": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 3,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 8,
                "possession_lost": 2.6127,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 1,
                "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": 1,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0627,
                "offsides": 0,
                "ball_carries": 3,
                "total_progression": 0,
                "progressive_carries": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.0,
                "minutesPct": 5.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 16.7 expected minutes (appearance prob 0.74)",
              "stats": {
                "expected_goals": 0.0253,
                "goal_rate": 0.0215,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0041,
                "key_pass": 0,
                "rating": 6.091,
                "minutes": 17,
                "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": 1,
                "possession_lost": 0.4851,
                "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,
                "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.0116,
                "offsides": 0,
                "ball_carries": 1,
                "total_progression": 0,
                "progressive_carries": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.0,
                "minutesPct": 5.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.736,
                "bench_expected_minutes": 16.71
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.0253,
                "goal_rate": 0.0215,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0041,
                "key_pass": 0,
                "rating": 6.091,
                "minutes": 17,
                "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": 1,
                "possession_lost": 0.4851,
                "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,
                "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.0116,
                "offsides": 0,
                "ball_carries": 1,
                "total_progression": 0,
                "progressive_carries": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.0,
                "minutesPct": 5.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.736,
                "bench_expected_minutes": 16.71
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 0.95 (squad xG sum 1.3873, xG scale 0.6877)",
              "stats": {
                "expected_goals": 0.0174,
                "goal_rate": 0.0215,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0041,
                "key_pass": 0,
                "rating": 6.091,
                "minutes": 17,
                "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": 1,
                "possession_lost": 0.4851,
                "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,
                "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.0116,
                "offsides": 0,
                "ball_carries": 1,
                "total_progression": 0,
                "progressive_carries": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.0,
                "minutesPct": 5.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.736,
                "bench_expected_minutes": 16.71,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.792,
                "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 8, fifa_overall 76.0)",
              "stats": {
                "expected_goals": 0.0174,
                "goal_rate": 0.0215,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0041,
                "key_pass": 0,
                "rating": 6.091,
                "minutes": 17,
                "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": 1,
                "possession_lost": 0.4851,
                "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,
                "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.0116,
                "offsides": 0,
                "ball_carries": 1,
                "total_progression": 0,
                "progressive_carries": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.0,
                "minutesPct": 5.0,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.736,
                "bench_expected_minutes": 16.71,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.792,
                "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": 76.0
              }
            }
          ]
        },
        "Ryan Sessegnon": {
          "player_id": 836698,
          "position": "D",
          "position_depth": "D_BENCH",
          "is_starter": false,
          "shirt_number": 30,
          "height": 178,
          "market_value": 21000000,
          "stats": {
            "interceptions": 0,
            "tackles": 1,
            "tackles_won": 0,
            "clearances": 1,
            "aerial_won": 1,
            "duels_won": 1,
            "total_pass": 10,
            "accurate_pass": 8,
            "expected_goals": 0.0029,
            "rating": 7.1,
            "minutes": 18,
            "total_long_balls": 1,
            "accurate_long_balls": 1,
            "total_own_half_passes": 6,
            "accurate_own_half_passes": 5,
            "total_opp_half_passes": 2,
            "accurate_opp_half_passes": 2,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 13,
            "possession_lost": 1.4416,
            "dispossessed": 0.5,
            "duels_lost": 1,
            "aerial_lost": 2,
            "total_contest": 1,
            "won_contest": 1,
            "ball_recovery": 1,
            "challenges_lost": 1,
            "fouls": 0,
            "fouls_drawn": 0,
            "blocks": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_assists": 0.0122,
            "total_shots": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0032,
            "key_pass": 0,
            "ball_carries": 5,
            "total_progression": 14,
            "progressive_carries": 1,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 50.0,
            "shotConversion": 0.0,
            "minutesPct": 22.8,
            "pointsPerMatch": 0.0,
            "netGoalDifferencePer90": 0.0,
            "bench_appearance_probability": 0.618,
            "bench_expected_minutes": 18.02,
            "projected_substitution_order": 2,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 2.792,
            "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": 77.0
          },
          "latest_10_games": [
            {
              "match_id": 16363269.0,
              "match_date": "2026-09-05",
              "home_team": "Fulham",
              "away_team": "Crystal Palace",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Fulham",
              "opponent": "Crystal Palace",
              "stats": {
                "minutes": 11,
                "rating": 6.5,
                "assists": 0,
                "expected_goals": 0.0791,
                "expected_assists": 0.3199,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 17,
                "accurate_pass": 14,
                "key_pass": 1,
                "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": 16363255.0,
              "match_date": "2026-08-30",
              "home_team": "Sunderland",
              "away_team": "Fulham",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Fulham",
              "opponent": "Sunderland",
              "stats": {
                "minutes": 22,
                "rating": 6.8,
                "assists": 0,
                "expected_goals": 0.021,
                "expected_assists": 0.1245,
                "total_shots": 1,
                "total_pass": 16,
                "accurate_pass": 13,
                "tackles": 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": 16363244.0,
              "match_date": "2026-08-24",
              "home_team": "Fulham",
              "away_team": "Chelsea",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Fulham",
              "opponent": "Chelsea",
              "stats": {
                "minutes": 17,
                "rating": 6.6,
                "assists": 0,
                "expected_goals": 0.0325,
                "expected_assists": 0.0027,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 7,
                "accurate_pass": 4,
                "interceptions": 1,
                "aerial_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"
            }
          ],
          "ranking": {
            "global_player_rank": 3091,
            "combined_rank_score": 1057.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 698.0,
            "sofascore_rating": 6.7,
            "sofascore_appearances": 2.0,
            "fifa_rank": 1417.0,
            "fifa_overall": 77.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 11,
            "squad_role": "substitute",
            "projected_match_rating": 7.1,
            "source_file": "data/player_rankings.csv",
            "player_name": "Ryan Sessegnon",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Callum Wilson",
                  "ranking": 3086
                },
                {
                  "player_name": "Victor Lindelöf",
                  "ranking": 3087
                },
                {
                  "player_name": "Oscar Bobb",
                  "ranking": 3088
                },
                {
                  "player_name": "Emmanuel Agbadou",
                  "ranking": 3089
                },
                {
                  "player_name": "Luis Romo",
                  "ranking": 3090
                }
              ],
              "lower": [
                {
                  "player_name": "Albian Hajdari",
                  "ranking": 3092
                },
                {
                  "player_name": "Joe Willock",
                  "ranking": 3093
                },
                {
                  "player_name": "Adam Hložek",
                  "ranking": 3094
                },
                {
                  "player_name": "Jamie Gittens",
                  "ranking": 3095
                },
                {
                  "player_name": "Gonzalo Montiel",
                  "ranking": 3096
                }
              ]
            }
          },
          "data_sources": [
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.255,
          "history_matches": 0,
          "xgboost_reasoning": {
            "model_source": "market_value_prior",
            "position_service": "D_service",
            "features_evaluated": [],
            "targets_predicted": [],
            "history_matches": 0,
            "data_confidence": 0.255,
            "data_sources": [
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 18.02,
            "bench_appearance_prob": 0.618,
            "market_value_adjustment": 0.6408,
            "fbref_prior_metrics": {
              "squad": "Fulham",
              "competition": "Premier League",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 0.0,
              "sub_appearances": 2.0,
              "minutes_per_sub": 21.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "prior_reliability": 0.0333
            },
            "rationale": "Bench projection from market-value prior (€21,000,000) scaled to 18.0 expected mins; FBref playing time empirical prior: 2.0 sub appearances, 21.0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "market_value_prior",
              "description": "Market-value baseline for position D (quality 0.64)",
              "stats": {
                "interceptions": 2,
                "tackles": 3,
                "tackles_won": 2,
                "clearances": 3,
                "aerial_won": 3,
                "duels_won": 6,
                "total_pass": 49,
                "accurate_pass": 39,
                "expected_goals": 0.021,
                "rating": 7.1,
                "minutes": 90,
                "total_long_balls": 6,
                "accurate_long_balls": 3,
                "total_own_half_passes": 31,
                "accurate_own_half_passes": 25,
                "total_opp_half_passes": 11,
                "accurate_opp_half_passes": 8,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 64,
                "possession_lost": 7.2,
                "dispossessed": 0.5,
                "duels_lost": 4,
                "aerial_lost": 2,
                "total_contest": 5,
                "won_contest": 3,
                "ball_recovery": 6,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_assists": 0.061,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.016,
                "key_pass": 1,
                "ball_carries": 23,
                "total_progression": 68,
                "progressive_carries": 5
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0216)",
              "stats": {
                "interceptions": 2,
                "tackles": 3,
                "tackles_won": 2,
                "clearances": 3,
                "aerial_won": 3,
                "duels_won": 6,
                "total_pass": 49,
                "accurate_pass": 39,
                "expected_goals": 0.021,
                "rating": 7.1,
                "minutes": 90,
                "total_long_balls": 6,
                "accurate_long_balls": 3,
                "total_own_half_passes": 31,
                "accurate_own_half_passes": 25,
                "total_opp_half_passes": 11,
                "accurate_opp_half_passes": 8,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 64,
                "possession_lost": 7.2,
                "dispossessed": 0.5,
                "duels_lost": 4,
                "aerial_lost": 2,
                "total_contest": 5,
                "won_contest": 3,
                "ball_recovery": 6,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_assists": 0.061,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.016,
                "key_pass": 1,
                "ball_carries": 23,
                "total_progression": 68,
                "progressive_carries": 5,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 50.0,
                "shotConversion": 0.0,
                "minutesPct": 22.8,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": -2.2
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 18.0 expected minutes (appearance prob 0.62)",
              "stats": {
                "interceptions": 0,
                "tackles": 1,
                "tackles_won": 0,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 1,
                "total_pass": 10,
                "accurate_pass": 8,
                "expected_goals": 0.0042,
                "rating": 7.1,
                "minutes": 18,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 6,
                "accurate_own_half_passes": 5,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 13,
                "possession_lost": 1.4416,
                "dispossessed": 0.5,
                "duels_lost": 1,
                "aerial_lost": 2,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 1,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_assists": 0.0122,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0032,
                "key_pass": 0,
                "ball_carries": 5,
                "total_progression": 14,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 50.0,
                "shotConversion": 0.0,
                "minutesPct": 22.8,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.618,
                "bench_expected_minutes": 18.02
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 0,
                "tackles": 1,
                "tackles_won": 0,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 1,
                "total_pass": 10,
                "accurate_pass": 8,
                "expected_goals": 0.0042,
                "rating": 7.1,
                "minutes": 18,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 6,
                "accurate_own_half_passes": 5,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 13,
                "possession_lost": 1.4416,
                "dispossessed": 0.5,
                "duels_lost": 1,
                "aerial_lost": 2,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 1,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_assists": 0.0122,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0032,
                "key_pass": 0,
                "ball_carries": 5,
                "total_progression": 14,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 50.0,
                "shotConversion": 0.0,
                "minutesPct": 22.8,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.618,
                "bench_expected_minutes": 18.02
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 0.95 (squad xG sum 1.3873, xG scale 0.6877)",
              "stats": {
                "interceptions": 0,
                "tackles": 1,
                "tackles_won": 0,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 1,
                "total_pass": 10,
                "accurate_pass": 8,
                "expected_goals": 0.0029,
                "rating": 7.1,
                "minutes": 18,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 6,
                "accurate_own_half_passes": 5,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 13,
                "possession_lost": 1.4416,
                "dispossessed": 0.5,
                "duels_lost": 1,
                "aerial_lost": 2,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 1,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_assists": 0.0122,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0032,
                "key_pass": 0,
                "ball_carries": 5,
                "total_progression": 14,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 50.0,
                "shotConversion": 0.0,
                "minutesPct": 22.8,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.618,
                "bench_expected_minutes": 18.02,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.792,
                "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 11, fifa_overall 77.0)",
              "stats": {
                "interceptions": 0,
                "tackles": 1,
                "tackles_won": 0,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 1,
                "total_pass": 10,
                "accurate_pass": 8,
                "expected_goals": 0.0029,
                "rating": 7.1,
                "minutes": 18,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_own_half_passes": 6,
                "accurate_own_half_passes": 5,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 13,
                "possession_lost": 1.4416,
                "dispossessed": 0.5,
                "duels_lost": 1,
                "aerial_lost": 2,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 1,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_assists": 0.0122,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0032,
                "key_pass": 0,
                "ball_carries": 5,
                "total_progression": 14,
                "progressive_carries": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 50.0,
                "shotConversion": 0.0,
                "minutesPct": 22.8,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.618,
                "bench_expected_minutes": 18.02,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.792,
                "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": 77.0
              }
            }
          ]
        },
        "Jonah Kusi-Asare": {
          "player_id": 1503757,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 18,
          "height": 196,
          "market_value": 3300000,
          "stats": {
            "expected_goals": 0.0441,
            "goal_rate": 0.0422,
            "goals": 0,
            "total_shots": 1,
            "shots_on_target": 0,
            "expected_assists": 0.0231,
            "duels_won": 1,
            "aerial_won": 0,
            "rating": 6.9,
            "minutes": 25,
            "total_pass": 8,
            "accurate_pass": 6,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 4,
            "accurate_opp_half_passes": 3,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 12,
            "possession_lost": 2.2776,
            "dispossessed": 1.0,
            "duels_lost": 1,
            "aerial_lost": 1,
            "total_contest": 1,
            "won_contest": 1,
            "ball_recovery": 1,
            "challenges_lost": 1,
            "fouls": 0,
            "fouls_drawn": 0,
            "assists": 0,
            "shots_off_target": 0,
            "key_pass": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0484,
            "offsides": 1,
            "ball_carries": 5,
            "total_progression": 13,
            "progressive_carries": 1,
            "bench_appearance_probability": 0.559,
            "bench_expected_minutes": 25.31,
            "projected_substitution_order": 3,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 2.792,
            "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": 62.0
          },
          "latest_10_games": [],
          "ranking": {
            "global_player_rank": 9309,
            "combined_rank_score": 7945.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 933.0,
            "sofascore_rating": 6.4667,
            "sofascore_appearances": 7.0,
            "fifa_rank": 14958.0,
            "fifa_overall": 62.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 17,
            "squad_role": "substitute",
            "projected_match_rating": 6.9,
            "source_file": "data/player_rankings.csv",
            "player_name": "Jonah Kusi-Asare",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Pietro Pellegri",
                  "ranking": 9304
                },
                {
                  "player_name": "Vakoun Issouf Bayo",
                  "ranking": 9305
                },
                {
                  "player_name": "Konan N'Dri",
                  "ranking": 9306
                },
                {
                  "player_name": "Tino Anjorin",
                  "ranking": 9307
                },
                {
                  "player_name": "Luca Moro",
                  "ranking": 9308
                }
              ],
              "lower": [
                {
                  "player_name": "Joel Drakes-Thomas",
                  "ranking": 9310
                },
                {
                  "player_name": "Matthias Braunöder",
                  "ranking": 9311
                },
                {
                  "player_name": "Bjarki Steinn Bjarkason",
                  "ranking": 9312
                },
                {
                  "player_name": "Þórir Jóhann Helgason",
                  "ranking": 9313
                },
                {
                  "player_name": "Alessandro Gabrielloni",
                  "ranking": 9314
                }
              ]
            }
          },
          "data_sources": [
            "market_value"
          ],
          "data_confidence": 0.25,
          "history_matches": 0,
          "xgboost_reasoning": {
            "model_source": "market_value_prior",
            "position_service": "F_service",
            "features_evaluated": [],
            "targets_predicted": [],
            "history_matches": 0,
            "data_confidence": 0.25,
            "data_sources": [
              "market_value"
            ],
            "bench_expected_minutes": 25.306980405874903,
            "bench_appearance_prob": 0.5594082002670411,
            "market_value_adjustment": 0.4412,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection from market-value prior (€3,300,000) scaled to 25.3 expected mins."
          },
          "stat_evolution": [
            {
              "step": "market_value_prior",
              "description": "Market-value baseline for position F (quality 0.44)",
              "stats": {
                "expected_goals": 0.228,
                "goal_rate": 0.15,
                "goals": 0,
                "total_shots": 2,
                "shots_on_target": 1,
                "expected_assists": 0.082,
                "duels_won": 4,
                "aerial_won": 1,
                "rating": 6.9,
                "minutes": 90,
                "total_pass": 28,
                "accurate_pass": 20,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_opp_half_passes": 15,
                "accurate_opp_half_passes": 10,
                "crosses_total": 1,
                "crosses_accurate": 1,
                "touches": 41,
                "possession_lost": 8.1,
                "dispossessed": 1.0,
                "duels_lost": 4,
                "aerial_lost": 1,
                "total_contest": 5,
                "won_contest": 3,
                "ball_recovery": 2,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "assists": 0,
                "shots_off_target": 1,
                "key_pass": 1,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.172,
                "offsides": 1,
                "ball_carries": 19,
                "total_progression": 47,
                "progressive_carries": 5
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 25.3 expected minutes (appearance prob 0.56)",
              "stats": {
                "expected_goals": 0.0641,
                "goal_rate": 0.0422,
                "goals": 0,
                "total_shots": 1,
                "shots_on_target": 0,
                "expected_assists": 0.0231,
                "duels_won": 1,
                "aerial_won": 0,
                "rating": 6.9,
                "minutes": 25,
                "total_pass": 8,
                "accurate_pass": 6,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 4,
                "accurate_opp_half_passes": 3,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 12,
                "possession_lost": 2.2776,
                "dispossessed": 1.0,
                "duels_lost": 1,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 1,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "key_pass": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0484,
                "offsides": 1,
                "ball_carries": 5,
                "total_progression": 13,
                "progressive_carries": 1,
                "bench_appearance_probability": 0.559,
                "bench_expected_minutes": 25.31
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.0641,
                "goal_rate": 0.0422,
                "goals": 0,
                "total_shots": 1,
                "shots_on_target": 0,
                "expected_assists": 0.0231,
                "duels_won": 1,
                "aerial_won": 0,
                "rating": 6.9,
                "minutes": 25,
                "total_pass": 8,
                "accurate_pass": 6,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 4,
                "accurate_opp_half_passes": 3,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 12,
                "possession_lost": 2.2776,
                "dispossessed": 1.0,
                "duels_lost": 1,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 1,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "key_pass": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0484,
                "offsides": 1,
                "ball_carries": 5,
                "total_progression": 13,
                "progressive_carries": 1,
                "bench_appearance_probability": 0.559,
                "bench_expected_minutes": 25.31
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 0.95 (squad xG sum 1.3873, xG scale 0.6877)",
              "stats": {
                "expected_goals": 0.0441,
                "goal_rate": 0.0422,
                "goals": 0,
                "total_shots": 1,
                "shots_on_target": 0,
                "expected_assists": 0.0231,
                "duels_won": 1,
                "aerial_won": 0,
                "rating": 6.9,
                "minutes": 25,
                "total_pass": 8,
                "accurate_pass": 6,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 4,
                "accurate_opp_half_passes": 3,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 12,
                "possession_lost": 2.2776,
                "dispossessed": 1.0,
                "duels_lost": 1,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 1,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "key_pass": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0484,
                "offsides": 1,
                "ball_carries": 5,
                "total_progression": 13,
                "progressive_carries": 1,
                "bench_appearance_probability": 0.559,
                "bench_expected_minutes": 25.31,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.792,
                "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 17, fifa_overall 62.0)",
              "stats": {
                "expected_goals": 0.0441,
                "goal_rate": 0.0422,
                "goals": 0,
                "total_shots": 1,
                "shots_on_target": 0,
                "expected_assists": 0.0231,
                "duels_won": 1,
                "aerial_won": 0,
                "rating": 6.9,
                "minutes": 25,
                "total_pass": 8,
                "accurate_pass": 6,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 4,
                "accurate_opp_half_passes": 3,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 12,
                "possession_lost": 2.2776,
                "dispossessed": 1.0,
                "duels_lost": 1,
                "aerial_lost": 1,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 1,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "key_pass": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0484,
                "offsides": 1,
                "ball_carries": 5,
                "total_progression": 13,
                "progressive_carries": 1,
                "bench_appearance_probability": 0.559,
                "bench_expected_minutes": 25.31,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.792,
                "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": 62.0
              }
            }
          ]
        },
        "Hugo Larsson": {
          "player_id": 1142211,
          "position": "M",
          "position_depth": "M_BENCH",
          "is_starter": false,
          "shirt_number": 15,
          "height": 187,
          "market_value": 30000000,
          "stats": {
            "key_pass": 0,
            "expected_assists": 0.019,
            "assists": 0,
            "expected_goals": 0.01,
            "rating": 7.2096,
            "minutes": 23,
            "total_pass": 5,
            "accurate_pass": 4,
            "ball_recovery": 1,
            "duels_won": 0,
            "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": 3,
            "accurate_opp_half_passes": 2,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 6,
            "possession_lost": 0.8196,
            "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": 1,
            "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": 1,
            "total_progression": 3,
            "progressive_carries": 0,
            "bench_appearance_probability": 0.549,
            "bench_expected_minutes": 23.08,
            "projected_substitution_order": 4,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 2.792,
            "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": 77.0
          },
          "latest_10_games": [
            {
              "match_id": 16363269.0,
              "match_date": "2026-09-05",
              "home_team": "Fulham",
              "away_team": "Crystal Palace",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Fulham",
              "opponent": "Crystal Palace",
              "stats": {
                "minutes": 11,
                "rating": 7.3,
                "assists": 0,
                "expected_goals": 0.1278,
                "expected_assists": 0.2213,
                "total_shots": 1,
                "total_pass": 17,
                "accurate_pass": 14,
                "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": 3138,
            "combined_rank_score": 1104.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 698.0,
            "sofascore_rating": 6.7,
            "sofascore_appearances": 2.0,
            "fifa_rank": 1511.0,
            "fifa_overall": 77.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 2,
            "squad_role": "substitute",
            "projected_match_rating": 7.2096,
            "source_file": "data/player_rankings.csv",
            "player_name": "Hugo Larsson",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Robert Navarro",
                  "ranking": 3133
                },
                {
                  "player_name": "Luka Sučić",
                  "ranking": 3134
                },
                {
                  "player_name": "Che Adams",
                  "ranking": 3135
                },
                {
                  "player_name": "Carlos Vicente",
                  "ranking": 3136
                },
                {
                  "player_name": "Lautaro Di Lollo",
                  "ranking": 3137
                }
              ],
              "lower": [
                {
                  "player_name": "Kasper Dolberg",
                  "ranking": 3139
                },
                {
                  "player_name": "Matt Grimes",
                  "ranking": 3140
                },
                {
                  "player_name": "Sem Steijn",
                  "ranking": 3141
                },
                {
                  "player_name": "David Brooks",
                  "ranking": 3142
                },
                {
                  "player_name": "André Silva",
                  "ranking": 3143
                }
              ]
            }
          },
          "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"
            ],
            "bench_expected_minutes": 23.081594925726826,
            "bench_appearance_prob": 0.5491634057148558,
            "market_value_adjustment": 1.0653,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection scaled from XGBoost M_service (1 historical appearances) to 23.1 expected mins (appearance prob 0.55)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 5 target models",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0696,
                "assists": 0,
                "expected_goals": 0.0535,
                "rating": 6.7679,
                "minutes": 11,
                "total_pass": 17,
                "accurate_pass": 14,
                "ball_recovery": 3,
                "duels_won": 1,
                "total_shots": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 5,
                "accurate_own_half_passes": 5,
                "total_opp_half_passes": 12,
                "accurate_opp_half_passes": 9,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 21,
                "possession_lost": 3.0,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 1,
                "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": 4,
                "total_progression": 9,
                "progressive_carries": 0
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0653, quality 0.718)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0741,
                "assists": 0,
                "expected_goals": 0.057,
                "rating": 7.2096,
                "minutes": 12,
                "total_pass": 18,
                "accurate_pass": 15,
                "ball_recovery": 3,
                "duels_won": 1,
                "total_shots": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 5,
                "accurate_own_half_passes": 5,
                "total_opp_half_passes": 13,
                "accurate_opp_half_passes": 10,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 22,
                "possession_lost": 3.1958,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 1,
                "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": 4,
                "total_progression": 10,
                "progressive_carries": 0
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 23.1 expected minutes (appearance prob 0.55)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.019,
                "assists": 0,
                "expected_goals": 0.0146,
                "rating": 7.2096,
                "minutes": 23,
                "total_pass": 5,
                "accurate_pass": 4,
                "ball_recovery": 1,
                "duels_won": 0,
                "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": 3,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 6,
                "possession_lost": 0.8196,
                "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": 1,
                "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": 1,
                "total_progression": 3,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.549,
                "bench_expected_minutes": 23.08
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.019,
                "assists": 0,
                "expected_goals": 0.0146,
                "rating": 7.2096,
                "minutes": 23,
                "total_pass": 5,
                "accurate_pass": 4,
                "ball_recovery": 1,
                "duels_won": 0,
                "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": 3,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 6,
                "possession_lost": 0.8196,
                "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": 1,
                "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": 1,
                "total_progression": 3,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.549,
                "bench_expected_minutes": 23.08
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 0.95 (squad xG sum 1.3873, xG scale 0.6877)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.019,
                "assists": 0,
                "expected_goals": 0.01,
                "rating": 7.2096,
                "minutes": 23,
                "total_pass": 5,
                "accurate_pass": 4,
                "ball_recovery": 1,
                "duels_won": 0,
                "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": 3,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 6,
                "possession_lost": 0.8196,
                "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": 1,
                "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": 1,
                "total_progression": 3,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.549,
                "bench_expected_minutes": 23.08,
                "projected_substitution_order": 4,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.792,
                "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 2, fifa_overall 77.0)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.019,
                "assists": 0,
                "expected_goals": 0.01,
                "rating": 7.2096,
                "minutes": 23,
                "total_pass": 5,
                "accurate_pass": 4,
                "ball_recovery": 1,
                "duels_won": 0,
                "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": 3,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 6,
                "possession_lost": 0.8196,
                "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": 1,
                "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": 1,
                "total_progression": 3,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.549,
                "bench_expected_minutes": 23.08,
                "projected_substitution_order": 4,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.792,
                "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": 77.0
              }
            }
          ]
        }
      },
      "team_totals": {
        "projected_goals": 0,
        "expected_goals": 0.95,
        "expected_assists": 0.9,
        "total_shots": 18,
        "shots_on_target": 7,
        "total_passes": 588,
        "interceptions": 13,
        "tackles": 16,
        "avg_rating": 7.12,
        "possession_estimated_pct": 47.4,
        "pressing_actions_per_90": 7.2
      }
    }
  },
  "antagonist_report": {
    "home_attacking_duels": [
      {
        "attacker": "Dominik Szoboszlai",
        "attacker_role": "LW",
        "attacker_market_value": 91000000,
        "attacker_height": 187,
        "attacker_skill_quality": 0.89,
        "defenders": [
          "Antonee Robinson"
        ],
        "defender_roles": [
          "RB"
        ],
        "def_skill_quality_avg": 0.669,
        "duel_zone": "Left Wing vs Right Back — Flank Battle",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.595,
        "xg_contribution": 0.157,
        "shots_in_zone": 2.2,
        "dribbles_attempted": 4,
        "dribbles_successful": 2.1,
        "aerial_duels": 2,
        "aerial_won": 1.2,
        "crosses_in_zone": 2.7,
        "fouls_drawn": 1.2,
        "pressing_intensity_on_attacker": "MEDIUM",
        "defender_stats": [
          {
            "player": "Antonee Robinson",
            "role": "RB",
            "market_value": 24000000,
            "tackles_attempted": 2.1,
            "tackles_won": 1.5,
            "fouls_committed": 0.5,
            "interceptions_in_zone": 1.1,
            "clearances_in_zone": 0.9,
            "aerial_duels_won": 0.8,
            "defensive_success_rate": 0.405
          }
        ],
        "duel_analysis": "Dominik Szoboszlai (LW) is slightly favored against Antonee Robinson in a direct 1v1 contest. Duel win probability: 60%. The quality gap is significant (€91M vs €24M avg). Projected xG contribution: 0.157 — creating consistent moderate threat."
      },
      {
        "attacker": "Alexander Isak",
        "attacker_role": "ST",
        "attacker_market_value": 88000000,
        "attacker_height": 193,
        "attacker_skill_quality": 0.888,
        "defenders": [
          "Calvin Bassey",
          "Joachim Andersen"
        ],
        "defender_roles": [
          "CB",
          "CB"
        ],
        "def_skill_quality_avg": 0.675,
        "duel_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "numerical_situation": "1v2",
        "duel_win_rate": 0.318,
        "xg_contribution": 0.388,
        "shots_in_zone": 2.6,
        "dribbles_attempted": 2,
        "dribbles_successful": 0.6,
        "aerial_duels": 3,
        "aerial_won": 2.1,
        "crosses_in_zone": 0.0,
        "fouls_drawn": 1.7,
        "pressing_intensity_on_attacker": "MEDIUM",
        "defender_stats": [
          {
            "player": "Calvin Bassey",
            "role": "CB",
            "market_value": 29000000,
            "tackles_attempted": 1.1,
            "tackles_won": 1.1,
            "fouls_committed": 0.4,
            "interceptions_in_zone": 1.1,
            "clearances_in_zone": 1.0,
            "aerial_duels_won": 0.5,
            "defensive_success_rate": 0.682
          },
          {
            "player": "Joachim Andersen",
            "role": "CB",
            "market_value": 21000000,
            "tackles_attempted": 1.1,
            "tackles_won": 1.0,
            "fouls_committed": 0.5,
            "interceptions_in_zone": 1.0,
            "clearances_in_zone": 0.9,
            "aerial_duels_won": 0.5,
            "defensive_success_rate": 0.682
          }
        ],
        "duel_analysis": "Alexander Isak (ST) is heavily outmatched defensively against Calvin Bassey and Joachim Andersen in a 2-defender block. Duel win probability: 32%. The quality gap is significant (€88M vs €25M avg). Projected xG contribution: 0.388 — with very limited chance creation expected."
      },
      {
        "attacker": "Florian Wirtz",
        "attacker_role": "CDM",
        "attacker_market_value": 95000000,
        "attacker_height": 175,
        "attacker_skill_quality": 0.891,
        "defenders": [
          "Alex Iwobi"
        ],
        "defender_roles": [
          "CDM"
        ],
        "def_skill_quality_avg": 0.641,
        "duel_zone": "CDM vs CDM",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.501,
        "xg_contribution": 0.2,
        "shots_in_zone": 1.1,
        "dribbles_attempted": 2,
        "dribbles_successful": 0.9,
        "aerial_duels": 2,
        "aerial_won": 0.9,
        "crosses_in_zone": 0.0,
        "fouls_drawn": 1.4,
        "pressing_intensity_on_attacker": "MEDIUM",
        "defender_stats": [
          {
            "player": "Alex Iwobi",
            "role": "CDM",
            "market_value": 21000000,
            "tackles_attempted": 2.1,
            "tackles_won": 1.7,
            "fouls_committed": 0.5,
            "interceptions_in_zone": 1.0,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 1.1,
            "defensive_success_rate": 0.499
          }
        ],
        "duel_analysis": "Florian Wirtz (CDM) is slightly favored against Alex Iwobi in a direct 1v1 contest. Duel win probability: 50%. The quality gap is significant (€95M vs €21M avg). Projected xG contribution: 0.200 — creating consistent moderate threat."
      }
    ],
    "away_attacking_duels": [
      {
        "attacker": "César Palacios",
        "attacker_role": "LW",
        "attacker_market_value": 6800000,
        "attacker_height": 181,
        "attacker_skill_quality": 0.484,
        "defenders": [
          "Ronald Araújo"
        ],
        "defender_roles": [
          "RB"
        ],
        "def_skill_quality_avg": 0.65,
        "duel_zone": "Left Wing vs Right Back — Flank Battle",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.365,
        "xg_contribution": 0.12,
        "shots_in_zone": 1.7,
        "dribbles_attempted": 3,
        "dribbles_successful": 1.0,
        "aerial_duels": 2,
        "aerial_won": 1.1,
        "crosses_in_zone": 2.0,
        "fouls_drawn": 1.2,
        "pressing_intensity_on_attacker": "MEDIUM",
        "defender_stats": [
          {
            "player": "Ronald Araújo",
            "role": "RB",
            "market_value": 22000000,
            "tackles_attempted": 2.1,
            "tackles_won": 2.0,
            "fouls_committed": 0.5,
            "interceptions_in_zone": 1.0,
            "clearances_in_zone": 0.9,
            "aerial_duels_won": 0.9,
            "defensive_success_rate": 0.635
          }
        ],
        "duel_analysis": "César Palacios (LW) faces tough defensive resistance against Ronald Araújo in a direct 1v1 contest. Duel win probability: 37%. The quality gap is significant (€7M vs €22M avg). Projected xG contribution: 0.120 — and is restricted in space and time on the ball."
      },
      {
        "attacker": "Oscar Bobb",
        "attacker_role": "RW",
        "attacker_market_value": 27000000,
        "attacker_height": 174,
        "attacker_skill_quality": 0.694,
        "defenders": [
          "Miloš Kerkez"
        ],
        "defender_roles": [
          "LB"
        ],
        "def_skill_quality_avg": 0.758,
        "duel_zone": "Right Wing vs Left Back — Flank Battle",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.427,
        "xg_contribution": 0.1858,
        "shots_in_zone": 1.8,
        "dribbles_attempted": 4,
        "dribbles_successful": 1.5,
        "aerial_duels": 2,
        "aerial_won": 0.9,
        "crosses_in_zone": 2.3,
        "fouls_drawn": 1.3,
        "pressing_intensity_on_attacker": "HIGH",
        "defender_stats": [
          {
            "player": "Miloš Kerkez",
            "role": "LB",
            "market_value": 36000000,
            "tackles_attempted": 2.2,
            "tackles_won": 1.9,
            "fouls_committed": 0.4,
            "interceptions_in_zone": 1.2,
            "clearances_in_zone": 1.1,
            "aerial_duels_won": 1.1,
            "defensive_success_rate": 0.573
          }
        ],
        "duel_analysis": "Oscar Bobb (RW) is evenly matched against Miloš Kerkez in a direct 1v1 contest. Duel win probability: 43%.  Projected xG contribution: 0.186 — with neither side clearly dominant."
      },
      {
        "attacker": "Joshua King",
        "attacker_role": "CAM",
        "attacker_market_value": 26000000,
        "attacker_height": 172,
        "attacker_skill_quality": 0.686,
        "defenders": [
          "Florian Wirtz",
          "Alexis Mac Allister"
        ],
        "defender_roles": [
          "CDM",
          "CDM"
        ],
        "def_skill_quality_avg": 0.885,
        "duel_zone": "Attacking Mid vs Double Pivot — Tight Space Battle",
        "numerical_situation": "1v2",
        "duel_win_rate": 0.18,
        "xg_contribution": 0.1212,
        "shots_in_zone": 1.5,
        "dribbles_attempted": 3,
        "dribbles_successful": 0.5,
        "aerial_duels": 2,
        "aerial_won": 0.8,
        "crosses_in_zone": 0.0,
        "fouls_drawn": 1.7,
        "pressing_intensity_on_attacker": "ULTRA_HIGH",
        "defender_stats": [
          {
            "player": "Florian Wirtz",
            "role": "CDM",
            "market_value": 95000000,
            "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.6,
            "defensive_success_rate": 0.82
          },
          {
            "player": "Alexis Mac Allister",
            "role": "CDM",
            "market_value": 77000000,
            "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.6,
            "defensive_success_rate": 0.82
          }
        ],
        "duel_analysis": "Joshua King (CAM) is heavily outmatched defensively against Florian Wirtz and Alexis Mac Allister in a 2-defender block. Duel win probability: 18%. The quality gap is significant (€26M vs €86M avg). Projected xG contribution: 0.121 — with very limited chance creation expected."
      },
      {
        "attacker": "Gonzalo García",
        "attacker_role": "ST",
        "attacker_market_value": 31000000,
        "attacker_height": 182,
        "attacker_skill_quality": 0.725,
        "defenders": [
          "Virgil van Dijk",
          "Jérémy Jacquet"
        ],
        "defender_roles": [
          "CB",
          "CB"
        ],
        "def_skill_quality_avg": 0.715,
        "duel_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "numerical_situation": "1v2",
        "duel_win_rate": 0.18,
        "xg_contribution": 0.1823,
        "shots_in_zone": 2.0,
        "dribbles_attempted": 2,
        "dribbles_successful": 0.3,
        "aerial_duels": 3,
        "aerial_won": 1.7,
        "crosses_in_zone": 0.0,
        "fouls_drawn": 1.7,
        "pressing_intensity_on_attacker": "MEDIUM",
        "defender_stats": [
          {
            "player": "Virgil van Dijk",
            "role": "CB",
            "market_value": 15500000,
            "tackles_attempted": 1.0,
            "tackles_won": 1.2,
            "fouls_committed": 0.5,
            "interceptions_in_zone": 0.9,
            "clearances_in_zone": 0.8,
            "aerial_duels_won": 0.7,
            "defensive_success_rate": 0.82
          },
          {
            "player": "Jérémy Jacquet",
            "role": "CB",
            "market_value": 57000000,
            "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.7,
            "defensive_success_rate": 0.82
          }
        ],
        "duel_analysis": "Gonzalo García (ST) is heavily outmatched defensively against Virgil van Dijk and Jérémy Jacquet in a 2-defender block. Duel win probability: 18%.  Projected xG contribution: 0.182 — with very limited chance creation expected."
      },
      {
        "attacker": "Alex Iwobi",
        "attacker_role": "CDM",
        "attacker_market_value": 21000000,
        "attacker_height": 183,
        "attacker_skill_quality": 0.641,
        "defenders": [
          "Florian Wirtz"
        ],
        "defender_roles": [
          "CDM"
        ],
        "def_skill_quality_avg": 0.891,
        "duel_zone": "CDM vs CDM",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.339,
        "xg_contribution": 0.0576,
        "shots_in_zone": 0.9,
        "dribbles_attempted": 2,
        "dribbles_successful": 0.6,
        "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": "Florian Wirtz",
            "role": "CDM",
            "market_value": 95000000,
            "tackles_attempted": 2.3,
            "tackles_won": 2.2,
            "fouls_committed": 0.4,
            "interceptions_in_zone": 1.4,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 0.9,
            "defensive_success_rate": 0.661
          }
        ],
        "duel_analysis": "Alex Iwobi (CDM) faces tough defensive resistance against Florian Wirtz in a direct 1v1 contest. Duel win probability: 34%. The quality gap is significant (€21M vs €95M avg). Projected xG contribution: 0.058 — and is restricted in space and time on the ball."
      }
    ],
    "midfield_battle": {
      "home_midfield_power": 0.887,
      "away_midfield_power": 0.666,
      "home_creative_power": 0.757,
      "away_creative_power": 0.684,
      "home_defensive_power": 0.842,
      "away_defensive_power": 0.536,
      "home_dominance_ratio": 0.571,
      "home_midfield_count": 3,
      "away_midfield_count": 5,
      "home_midfield_players": [
        "Florian Wirtz",
        "Alexis Mac Allister",
        "Dominik Szoboszlai"
      ],
      "away_midfield_players": [
        "César Palacios",
        "Joshua King",
        "Oscar Bobb",
        "Alex Iwobi",
        "Shea Charles"
      ],
      "possession_advantage": "home",
      "estimated_possession_home_pct": 52.6,
      "estimated_possession_away_pct": 47.4,
      "home_pressing_actions_per_90": 9.0,
      "away_pressing_actions_per_90": 7.2,
      "home_key_passes_projected": 6.0,
      "away_key_passes_projected": 5.6,
      "home_throughball_threat": 2.9,
      "away_throughball_threat": 2.7,
      "key_personal_duel": "Florian Wirtz vs Oscar Bobb",
      "midfield_lambda_factor_home": 1.028,
      "midfield_lambda_factor_away": 0.977
    },
    "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": 2.665,
    "away_lambda": 0.954,
    "home_top_threat_zones": [
      "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
      "CDM vs CDM"
    ],
    "away_top_threat_zones": [
      "Right Wing vs Left Back — Flank Battle",
      "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle"
    ],
    "home_player_antagonists": {
      "Dominik Szoboszlai": {
        "opponents": [
          "Antonee Robinson",
          "Shea Charles"
        ],
        "primary_zone": "Left Wing vs Right Back — Flank Battle",
        "source": "attacking_duel, midfield_pairing"
      },
      "Alexander Isak": {
        "opponents": [
          "Calvin Bassey",
          "Joachim Andersen"
        ],
        "primary_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "source": "attacking_duel"
      },
      "Florian Wirtz": {
        "opponents": [
          "Alex Iwobi",
          "Joshua King",
          "César Palacios"
        ],
        "primary_zone": "CDM vs CDM",
        "source": "attacking_duel, defensive_duel, midfield_pairing"
      },
      "Ronald Araújo": {
        "opponents": [
          "César Palacios"
        ],
        "primary_zone": "Left Wing vs Right Back — Flank Battle",
        "source": "defensive_duel"
      },
      "Miloš Kerkez": {
        "opponents": [
          "Oscar Bobb"
        ],
        "primary_zone": "Right Wing vs Left Back — Flank Battle",
        "source": "defensive_duel"
      },
      "Alexis Mac Allister": {
        "opponents": [
          "Joshua King",
          "Alex Iwobi",
          "Oscar Bobb"
        ],
        "primary_zone": "Attacking Mid vs Double Pivot — Tight Space Battle",
        "source": "defensive_duel, midfield_pairing"
      },
      "Virgil van Dijk": {
        "opponents": [
          "Gonzalo García"
        ],
        "primary_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "source": "defensive_duel"
      },
      "Jérémy Jacquet": {
        "opponents": [
          "Gonzalo García"
        ],
        "primary_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "source": "defensive_duel"
      },
      "Alisson": {
        "opponents": [
          "Gonzalo García",
          "Shea Charles"
        ],
        "primary_zone": "Shape fallback",
        "source": "formation_fallback"
      },
      "Bradley Barcola": {
        "opponents": [
          "Timothy Castagne",
          "Calvin Bassey"
        ],
        "primary_zone": "Shape fallback",
        "source": "formation_fallback"
      },
      "Víctor Muñoz": {
        "opponents": [
          "Antonee Robinson",
          "Joachim Andersen"
        ],
        "primary_zone": "Shape fallback",
        "source": "formation_fallback"
      }
    },
    "away_player_antagonists": {
      "Antonee Robinson": {
        "opponents": [
          "Dominik Szoboszlai"
        ],
        "primary_zone": "Left Wing vs Right Back — Flank Battle",
        "source": "defensive_duel"
      },
      "Calvin Bassey": {
        "opponents": [
          "Alexander Isak"
        ],
        "primary_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "source": "defensive_duel"
      },
      "Joachim Andersen": {
        "opponents": [
          "Alexander Isak"
        ],
        "primary_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "source": "defensive_duel"
      },
      "Alex Iwobi": {
        "opponents": [
          "Florian Wirtz",
          "Alexis Mac Allister"
        ],
        "primary_zone": "CDM vs CDM",
        "source": "defensive_duel, attacking_duel, midfield_pairing"
      },
      "César Palacios": {
        "opponents": [
          "Ronald Araújo",
          "Florian Wirtz"
        ],
        "primary_zone": "Left Wing vs Right Back — Flank Battle",
        "source": "attacking_duel, midfield_pairing"
      },
      "Oscar Bobb": {
        "opponents": [
          "Miloš Kerkez",
          "Alexis Mac Allister"
        ],
        "primary_zone": "Right Wing vs Left Back — Flank Battle",
        "source": "attacking_duel, midfield_pairing"
      },
      "Joshua King": {
        "opponents": [
          "Florian Wirtz",
          "Alexis Mac Allister"
        ],
        "primary_zone": "Attacking Mid vs Double Pivot — Tight Space Battle",
        "source": "attacking_duel, midfield_pairing"
      },
      "Gonzalo García": {
        "opponents": [
          "Virgil van Dijk",
          "Jérémy Jacquet"
        ],
        "primary_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "source": "attacking_duel"
      },
      "Shea Charles": {
        "opponents": [
          "Dominik Szoboszlai"
        ],
        "primary_zone": "Midfield lane",
        "source": "midfield_pairing"
      },
      "Bernd Leno": {
        "opponents": [
          "Bradley Barcola",
          "Víctor Muñoz"
        ],
        "primary_zone": "Shape fallback",
        "source": "formation_fallback"
      },
      "Timothy Castagne": {
        "opponents": [
          "Bradley Barcola"
        ],
        "primary_zone": "Shape fallback",
        "source": "formation_fallback"
      }
    },
    "key_tactical_insight": "Home midfield dominates with ~53% possession expected (Florian Wirtz vs Oscar Bobb). Total antagonist xG — Home: 0.75, Away: 0.67. Home danger zone: Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle. Away danger zone: Right Wing vs Left Back — Flank Battle.",
    "lambda_factors": {
      "home_gk_opposition_factor": 0.998,
      "away_gk_opposition_factor": 0.9459,
      "home_set_piece_bonus": 0.18,
      "away_set_piece_bonus": 0.0743,
      "home_defensive_solidity_vs": 0.9414,
      "away_defensive_solidity_vs": 0.9037,
      "home_midfield_factor": 1.028,
      "away_midfield_factor": 0.977,
      "stage_discount": 1.0,
      "quality_gap_applied": true,
      "home_avg_quality": 0.7984,
      "away_avg_quality": 0.6317,
      "avg_quality_gap": 0.1667,
      "squad_value_gap_log": 1.0253,
      "top5_value_gap_log": 1.1144,
      "attack_value_gap_log": 1.2527,
      "elite_count_gap": 6,
      "combined_quality_gap": 0.3779,
      "stronger_lambda_boost": 0.2079,
      "weaker_lambda_suppression": 0.1209,
      "home_bench_lambda_bonus": 0.1398,
      "away_bench_lambda_bonus": 0.0798,
      "home_bench_players_modelled": 7,
      "away_bench_players_modelled": 7,
      "fbref_team_priors": {
        "applied": true,
        "home_squad": "Liverpool FC",
        "away_squad": "Fulham",
        "home_goals_per90": 2.0,
        "away_goals_against_per90": 1.0,
        "away_goals_per90": 1.0,
        "home_goals_against_per90": 2.0,
        "home_empirical_lambda": 1.481,
        "away_empirical_lambda": 1.481,
        "blending_weight": 0.192
      },
      "mismatch_score_pressure_applied": true,
      "mismatch_score_pressure_gap": 0.3779,
      "mismatch_favorite_lambda_boost": 1.0995,
      "mismatch_underdog_lambda_factor": 0.9722,
      "pre_mismatch_home_lambda": 2.424,
      "pre_mismatch_away_lambda": 0.981,
      "competitive_underdog_floor_applied": false,
      "pre_calibration_home_lambda": 2.4239,
      "pre_calibration_away_lambda": 0.9808,
      "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": 2.665,
      "final_away_lambda": 0.954
    }
  },
  "home_standing": {
    "available": true,
    "team_position": 6,
    "opponent_position": 19,
    "standing_lambda_multiplier": 1.6512,
    "attack_index": 2.499,
    "defense_concede_index": 1.458,
    "form_multiplier": 1.056,
    "team_attack_rate_contextual": 3.0,
    "opp_defense_rate_contextual": 1.75,
    "team_ppg": 1.67,
    "opponent_ppg": 0.0
  },
  "away_standing": {
    "available": true,
    "team_position": 19,
    "opponent_position": 6,
    "standing_lambda_multiplier": 1.1312,
    "attack_index": 0.833,
    "defense_concede_index": 1.666,
    "form_multiplier": 0.944,
    "team_attack_rate_contextual": 1.0,
    "opp_defense_rate_contextual": 2.0,
    "team_ppg": 0.0,
    "opponent_ppg": 1.67
  },
  "xgboost_reasoning": {
    "summary": "Antagonist + XGBoost match analysis for Liverpool vs Fulham. 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 2.424, Away 0.981). Final calibrated Poisson lambdas: Home 2.665, Away 0.954 (most likely score 2-0).",
    "competition": "Premier League",
    "model_coverage": {
      "home_starters_count": 11,
      "home_xgboost_players": 11,
      "home_fbref_players": 10,
      "away_starters_count": 11,
      "away_xgboost_players": 11,
      "away_fbref_players": 11,
      "home_bench_modelled": 7,
      "away_bench_modelled": 7
    },
    "team_priors": {
      "applied": true,
      "home_squad": "Liverpool FC",
      "away_squad": "Fulham",
      "home_goals_per90": 2.0,
      "away_goals_against_per90": 1.0,
      "away_goals_per90": 1.0,
      "home_goals_against_per90": 2.0,
      "home_empirical_lambda": 1.481,
      "away_empirical_lambda": 1.481,
      "blending_weight": 0.192
    },
    "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": 2.665,
      "away_lambda": 0.954,
      "micro_duel_home_lambda": 2.424,
      "micro_duel_away_lambda": 0.981
    },
    "calibration_and_pressure": {
      "competition_calibration_applied": false,
      "competition_calibration_scale": 1.0,
      "mismatch_pressure_applied": true,
      "underdog_floor_applied": false
    }
  },
  "timestamp": "2026-09-12T13:30:39Z"
}