{
  "match_info": {
    "home_team": "Deportivo",
    "away_team": "Sevilla",
    "tournament": "LaLiga",
    "date": "20260916",
    "timezone": "America/New_York",
    "home_formation": "4-2-3-1",
    "away_formation": "4-4-2",
    "lineup_status": "unconfirmed_official",
    "lineup_source": "/matches/get-lineups",
    "lineup_confirmed": false,
    "lineup_confidence": 0.75
  },
  "prediction": {
    "most_likely_score": "1-0",
    "home_goals": 1,
    "away_goals": 0,
    "most_likely_score_probability": 0.1247,
    "match_resolution": "regulation",
    "predicted_winner": "Deportivo",
    "tiebreaker": {
      "applies": false,
      "method": "none",
      "regulation_draw_probability": 0.2749,
      "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": "1-0",
        "probability": 0.1247
      },
      {
        "score": "1-1",
        "probability": 0.1294
      },
      {
        "score": "0-0",
        "probability": 0.0934
      },
      {
        "score": "0-1",
        "probability": 0.093
      },
      {
        "score": "2-1",
        "probability": 0.0874
      }
    ],
    "scoreline_probabilities": {
      "0-0": 0.0934,
      "0-1": 0.093,
      "0-2": 0.048,
      "0-3": 0.0163,
      "0-4": 0.0042,
      "0-5": 0.0008,
      "1-0": 0.1247,
      "1-1": 0.1294,
      "1-2": 0.0654,
      "1-3": 0.0222,
      "1-4": 0.0057,
      "1-5": 0.0012,
      "2-0": 0.0857,
      "2-1": 0.0874,
      "2-2": 0.0446,
      "2-3": 0.0152,
      "2-4": 0.0039,
      "2-5": 0.0008,
      "3-0": 0.0389,
      "3-1": 0.0397,
      "3-2": 0.0203,
      "3-3": 0.0069,
      "3-4": 0.0018,
      "4-0": 0.0133,
      "4-1": 0.0135,
      "4-2": 0.0069,
      "4-3": 0.0023,
      "4-4": 0.0006,
      "5-0": 0.0036,
      "5-1": 0.0037,
      "5-2": 0.0019,
      "5-3": 0.0006,
      "6-0": 0.0008,
      "6-1": 0.0008
    },
    "outcome": {
      "home_win": 0.4456,
      "draw": 0.2749,
      "away_win": 0.2796
    },
    "markets": {
      "over_2_5_goals": 0.4258,
      "under_2_5_goals": 0.5742,
      "btts_yes": 0.4769,
      "btts_no": 0.5231,
      "home_clean_sheet": 0.3606,
      "away_clean_sheet": 0.2559
    },
    "home_ratings": {
      "DR": 6.56,
      "MCR": 6.83,
      "ATR": 6.99,
      "GK": 7.03
    },
    "away_ratings": {
      "DR": 6.65,
      "MCR": 6.79,
      "ATR": 6.65,
      "GK": 6.77
    },
    "insights": {
      "summary": "Antagonist matchup analysis for Deportivo vs Sevilla. Most likely scoreline: 1-0. Lambdas derived from 3 home and 4 away individual player duels.",
      "key_player": "Projected scorer(s): Pierre-Emerick Aubameyang",
      "tactical_analysis": "4-2-3-1 creates structural superiority against 4-4-2. Home team should exploit wider spaces and numerical advantages in transition. Midfield is evenly contested — Marc Casadó vs Lucien Agoumé will be the pivotal duel. Total antagonist xG — Home: 0.37, Away: 0.30. Home danger zone: Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle. Away danger zone: Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle."
    },
    "confidence": 0.65,
    "home_lambda": 1.363,
    "away_lambda": 1.02,
    "modal_scoreline": "1-1",
    "modal_scoreline_probability": 0.1294,
    "headline_policy": "decisive_score_substitution"
  },
  "pregame_baseline": {
    "fair_win_probability": {
      "home_win": 0.4456,
      "draw": 0.2749,
      "away_win": 0.2796
    },
    "favorite": "Deportivo",
    "favorite_win_probability": 0.4456,
    "fair_spread": 0.343,
    "fair_total": 2.383,
    "prop_estimates": [
      {
        "market": "team_total_goals",
        "selection": "Deportivo",
        "estimate": 1.363,
        "probability": null,
        "unit": "goals"
      },
      {
        "market": "team_total_goals",
        "selection": "Sevilla",
        "estimate": 1.02,
        "probability": null,
        "unit": "goals"
      },
      {
        "market": "over_2_5_goals",
        "selection": "yes",
        "estimate": 2.5,
        "probability": 0.4258,
        "unit": "probability"
      },
      {
        "market": "both_teams_to_score",
        "selection": "yes",
        "estimate": 1.0,
        "probability": 0.4769,
        "unit": "probability"
      },
      {
        "market": "clean_sheet",
        "selection": "Deportivo",
        "estimate": 1.0,
        "probability": 0.3606,
        "unit": "probability"
      },
      {
        "market": "clean_sheet",
        "selection": "Sevilla",
        "estimate": 1.0,
        "probability": 0.2559,
        "unit": "probability"
      },
      {
        "market": "anytime_goal",
        "selection": "Pierre-Emerick Aubameyang (Deportivo)",
        "estimate": 0.5496,
        "probability": 0.5506,
        "unit": "xG"
      },
      {
        "market": "anytime_goal",
        "selection": "Chidera Ejuke (Sevilla)",
        "estimate": 0.2427,
        "probability": 0.0,
        "unit": "xG"
      },
      {
        "market": "assist",
        "selection": "Giacomo Quagliata (Deportivo)",
        "estimate": 0.1276,
        "probability": 0.0427,
        "unit": "xA"
      },
      {
        "market": "assist",
        "selection": "Lucien Agoumé (Sevilla)",
        "estimate": 0.0898,
        "probability": 0.0,
        "unit": "xA"
      }
    ],
    "expected_pace": {
      "tempo": "balanced",
      "expected_total_goals": 2.383,
      "expected_total_shots": 21,
      "expected_total_passes": 597,
      "expected_pressing_actions_per_90": 13.1,
      "possession_home_pct": 50.6,
      "possession_away_pct": 49.4,
      "notes": "possession projects near even"
    },
    "expected_game_script": {
      "favorite": "Deportivo",
      "favorite_win_probability": 0.4456,
      "script": "Deportivo is the fair winner side, but the baseline remains narrow: fair spread +0.34 goals and fair total 2.38.",
      "first_half": "Expect balanced tempo while both sides test the matchup thesis; shot baseline is about 10 first-half attempts.",
      "second_half": "If level after halftime, midfield control and bench quality should decide territory; Sevilla must keep the match inside one goal.",
      "late_game": "A Deportivo lead likely shifts toward control and counters; a draw state keeps set pieces and transition chances live."
    },
    "key_matchup_thesis": "Deportivo chance creation leans on Pierre-Emerick Aubameyang against Andrés Castrin, Juan Iglesias in Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle; possession projects near even.",
    "expected_rotation_usage_behavior": [
      "Deportivo: starters carry the main goal usage through Pierre-Emerick Aubameyang; bench watchlist: Jonathan Asp Jensen, Bil Nsongo.",
      "Sevilla: starters carry the main goal usage through the highest xG attackers; bench watchlist: Youssouf Fofana, Lucas Stassin, Rubén Vargas.",
      "Assist usage should flow through Lorenzo Amatucci; late lineup changes should re-score these allocations."
    ],
    "pregame_play_by_play": [
      "0-15: Deportivo tries to establish the projected edge; track possession and first-shot share.",
      "15-45: Baseline expects balanced tempo, about 10 total first-half shots, and 1.19 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 Sevilla 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 Deportivo.",
      "Sevilla 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": {
    "Deportivo": {
      "formation": "4-2-3-1",
      "players": {
        "Pierre-Emerick Aubameyang": {
          "player_id": 51498,
          "position": "F",
          "position_depth": "F",
          "is_starter": true,
          "shirt_number": 7,
          "height": 187,
          "market_value": 2400000,
          "stats": {
            "expected_goals": 0.5496,
            "goal_rate": 1.052,
            "goals": 1,
            "shots_on_target": 1,
            "expected_assists": 0.0846,
            "key_pass": 1,
            "rating": 7.1791,
            "minutes": 87,
            "total_pass": 16,
            "accurate_pass": 13,
            "duels_won": 2,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 10,
            "accurate_opp_half_passes": 7,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 28,
            "possession_lost": 7.6045,
            "dispossessed": 0.0,
            "duels_lost": 2,
            "aerial_lost": 0,
            "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.5691,
            "offsides": 0,
            "ball_carries": 7,
            "total_progression": 45,
            "progressive_carries": 2,
            "total_shots": 2,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 70.0,
            "shotConversion": 0.3,
            "minutesPct": 97.8,
            "pointsPerMatch": 1.67,
            "netGoalDifferencePer90": 0.68,
            "dribbles_attempted": 2,
            "dribbles_successful": 0.3,
            "aerial_won": 2,
            "crosses_attempted": 0.0,
            "duel_win_rate": 0.184,
            "pressing_faced": "LOW",
            "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
            "numerical_situation": "1v2",
            "opponent_defenders": "Andrés Castrin, Juan Iglesias",
            "opponent_faced": "Andrés Castrin, Juan Iglesias",
            "antagonist_source": "attacking_duel",
            "projected_goals": 1,
            "goal_probability": 0.5506,
            "projected_assists": 0,
            "assist_probability": 0.1252,
            "fifa_overall": 79.0
          },
          "latest_10_games": [
            {
              "match_type": "played",
              "match_id": 16416326.0,
              "match_date": "2026-09-13 16:30:00 UTC",
              "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",
              "home_team": "Getafe",
              "away_team": "Deportivo",
              "home_score_current": 1.0,
              "away_score_current": 1.0,
              "team_side": "away",
              "status_code": 100.0,
              "status_type": "finished",
              "status_description": "Ended",
              "player_status": "starter",
              "is_starting_11": true,
              "team": "Deportivo",
              "opponent": "Getafe",
              "stats": {},
              "has_player_stats": false,
              "source": "depth_chart.csv"
            },
            {
              "match_id": 16416324.0,
              "match_date": "2026-09-05",
              "home_team": "Villarreal",
              "away_team": "Deportivo de A Coruña",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo de A Coruña",
              "opponent": "Villarreal",
              "stats": {
                "minutes": 90,
                "rating": 9.1,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 2,
                "expected_goals": 0.4488,
                "expected_assists": 0.1426,
                "total_shots": 3,
                "shots_on_target": 1,
                "shots_off_target": 1,
                "total_pass": 18,
                "accurate_pass": 15,
                "key_pass": 2,
                "tackles": 2,
                "tackles_won": 2,
                "clearances": 3,
                "duels_won": 3,
                "ball_recovery": 3
              },
              "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": 16416291.0,
              "match_date": "2026-08-30",
              "home_team": "Deportivo de A Coruña",
              "away_team": "Valencia",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo de A Coruña",
              "opponent": "Valencia",
              "stats": {
                "minutes": 90,
                "rating": 7.9,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 1.0239,
                "expected_assists": 0.0426,
                "total_shots": 5,
                "shots_on_target": 3,
                "shots_off_target": 1,
                "total_pass": 21,
                "accurate_pass": 18,
                "key_pass": 1,
                "clearances": 1,
                "aerial_won": 2,
                "duels_won": 3,
                "ball_recovery": 3
              },
              "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": 16416307.0,
              "match_date": "2026-08-24",
              "home_team": "Málaga CF",
              "away_team": "Deportivo de A Coruña",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo de A Coruña",
              "opponent": "Málaga CF",
              "stats": {
                "minutes": 90,
                "rating": 7.1,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 1.0563,
                "expected_assists": 0.0044,
                "total_shots": 3,
                "shots_on_target": 2,
                "shots_off_target": 1,
                "total_pass": 12,
                "accurate_pass": 7,
                "duels_won": 1,
                "ball_recovery": 2
              },
              "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": "home",
              "is_starting_11": 1,
              "team": "Deportivo de A Coruña",
              "opponent": "Elche",
              "stats": {
                "minutes": 85,
                "rating": 7.7,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.0912,
                "expected_assists": 0.0388,
                "total_shots": 2,
                "shots_on_target": 2,
                "total_pass": 16,
                "accurate_pass": 12,
                "key_pass": 1,
                "interceptions": 1,
                "clearances": 2,
                "aerial_won": 1,
                "duels_won": 2
              },
              "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": 1110,
            "combined_rank_score": 498.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 52.0,
            "sofascore_rating": 7.7,
            "sofascore_appearances": 1.0,
            "fifa_rank": 944.0,
            "fifa_overall": 79.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 12,
            "squad_role": "starter",
            "projected_match_rating": 7.1791,
            "source_file": "data/player_rankings.csv",
            "player_name": "Pierre-Emerick Aubameyang",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Konstantinos Tzolakis",
                  "ranking": 1105
                },
                {
                  "player_name": "Pau Torres",
                  "ranking": 1106
                },
                {
                  "player_name": "Ju-yeong Jo",
                  "ranking": 1107
                },
                {
                  "player_name": "Lee Dong-hyeop",
                  "ranking": 1108
                },
                {
                  "player_name": "Alphonso Davies",
                  "ranking": 1109
                }
              ],
              "lower": [
                {
                  "player_name": "Arihiro Sentoku",
                  "ranking": 1111
                },
                {
                  "player_name": "Leonel González",
                  "ranking": 1112
                },
                {
                  "player_name": "Veldin Hodža",
                  "ranking": 1113
                },
                {
                  "player_name": "Breno Bidon",
                  "ranking": 1114
                },
                {
                  "player_name": "Antonio Gutemberg",
                  "ranking": 1115
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.529,
          "history_matches": 4,
          "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": 4,
            "data_confidence": 0.529,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 0.9812,
            "fbref_prior_metrics": {
              "squad": "Dep. A Coruña",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 3.0,
              "starts": 3.0,
              "minutes": 264.0,
              "goals_per90": 1.0344827586206895,
              "assists_per90": 0.0,
              "shots_per90": 3.41,
              "shots_on_target_pct": 70.0,
              "prior_reliability": 0.1933
            },
            "rationale": "XGBoost regressor (F_service) evaluated 4 historical appearances across 6 target models; FBref 2026-2027 prior blended (La Liga, Dep. A Coruña, rel: 0.19, gls/90: 1.0344827586206895, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 6 target models",
              "stats": {
                "expected_goals": 0.4559,
                "goal_rate": 1.0735,
                "goals": 1,
                "shots_on_target": 1,
                "expected_assists": 0.0862,
                "key_pass": 1,
                "rating": 7.3165,
                "minutes": 89,
                "total_pass": 17,
                "accurate_pass": 13,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 10,
                "accurate_opp_half_passes": 8,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 29,
                "possession_lost": 7.75,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 0,
                "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.58,
                "offsides": 0,
                "ball_carries": 7,
                "total_progression": 46,
                "progressive_carries": 2
              },
              "trace": {
                "model": {
                  "position_service": "F",
                  "schema_version": 3,
                  "trained_at": "2026-09-15T10:01:52.318462+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 278,
                    "rows": 769
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-05",
                    "opponent": "Villarreal",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.3138,
                    "rating": 9.1
                  },
                  {
                    "match_date": "2026-08-30",
                    "opponent": "Valencia",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.2667,
                    "rating": 7.9
                  },
                  {
                    "match_date": "2026-08-24",
                    "opponent": "Málaga CF",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.2267,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-08-17",
                    "opponent": "Elche",
                    "minutes": 85.0,
                    "is_starting": true,
                    "weight": 0.1927,
                    "rating": 7.7
                  }
                ],
                "feature_row": {
                  "history_matches": 4.0,
                  "is_starting_11": 1.0,
                  "onTargetScoringAttempt": 1.9529,
                  "totalShots": 3.3408,
                  "minutesPlayed": 89.0364,
                  "touches": 29.4297,
                  "dribbleValueNormalized": 0.4142
                },
                "per_target": [
                  {
                    "target": "expectedGoals",
                    "predicted": 0.4558940529823303,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "minutesPlayed",
                        "importance": 0.093
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0745
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0545
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.043
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0314
                      }
                    ]
                  },
                  {
                    "target": "goals",
                    "predicted": 1.073490858078003,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.1
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0715
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0371
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0298
                      },
                      {
                        "name": "passValueNormalized",
                        "importance": 0.0268
                      }
                    ]
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 1.0436612367630005,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0703
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0583
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0486
                      },
                      {
                        "name": "touches",
                        "importance": 0.0401
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0347
                      }
                    ]
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.0861700177192688,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "touches",
                        "importance": 0.0802
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0621
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0547
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0537
                      },
                      {
                        "name": "numberOfSprints",
                        "importance": 0.0397
                      }
                    ]
                  },
                  {
                    "target": "keyPass",
                    "predicted": 1.1097466945648193,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0738
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0657
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0615
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0458
                      },
                      {
                        "name": "aerialLost",
                        "importance": 0.0313
                      }
                    ]
                  },
                  {
                    "target": "rating",
                    "predicted": 7.316478729248047,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "speed_threat",
                        "importance": 0.0598
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0489
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0439
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0425
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0404
                      }
                    ]
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9812, quality 0.437)",
              "stats": {
                "expected_goals": 0.4473,
                "goal_rate": 1.0533,
                "goals": 1,
                "shots_on_target": 1,
                "expected_assists": 0.0846,
                "key_pass": 1,
                "rating": 7.1791,
                "minutes": 87,
                "total_pass": 16,
                "accurate_pass": 13,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 10,
                "accurate_opp_half_passes": 7,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 28,
                "possession_lost": 7.6045,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 0,
                "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.5691,
                "offsides": 0,
                "ball_carries": 7,
                "total_progression": 45,
                "progressive_carries": 2
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0698)",
              "stats": {
                "expected_goals": 0.4473,
                "goal_rate": 1.052,
                "goals": 1,
                "shots_on_target": 1,
                "expected_assists": 0.0846,
                "key_pass": 1,
                "rating": 7.1791,
                "minutes": 87,
                "total_pass": 16,
                "accurate_pass": 13,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 10,
                "accurate_opp_half_passes": 7,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 28,
                "possession_lost": 7.6045,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 0,
                "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.5691,
                "offsides": 0,
                "ball_carries": 7,
                "total_progression": 45,
                "progressive_carries": 2,
                "total_shots": 3,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 70.0,
                "shotConversion": 0.3,
                "minutesPct": 97.8,
                "pointsPerMatch": 1.67,
                "netGoalDifferencePer90": 0.68
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.4473,
                "goal_rate": 1.052,
                "goals": 1,
                "shots_on_target": 1,
                "expected_assists": 0.0846,
                "key_pass": 1,
                "rating": 7.1791,
                "minutes": 87,
                "total_pass": 16,
                "accurate_pass": 13,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 10,
                "accurate_opp_half_passes": 7,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 28,
                "possession_lost": 7.6045,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 0,
                "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.5691,
                "offsides": 0,
                "ball_carries": 7,
                "total_progression": 45,
                "progressive_carries": 2,
                "total_shots": 3,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 70.0,
                "shotConversion": 0.3,
                "minutesPct": 97.8,
                "pointsPerMatch": 1.67,
                "netGoalDifferencePer90": 0.68
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "expected_goals": 0.2909,
                "goal_rate": 1.052,
                "goals": 1,
                "shots_on_target": 1,
                "expected_assists": 0.0846,
                "key_pass": 1,
                "rating": 7.1791,
                "minutes": 87,
                "total_pass": 16,
                "accurate_pass": 13,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 10,
                "accurate_opp_half_passes": 7,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 28,
                "possession_lost": 7.6045,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 0,
                "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.5691,
                "offsides": 0,
                "ball_carries": 7,
                "total_progression": 45,
                "progressive_carries": 2,
                "total_shots": 2,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 70.0,
                "shotConversion": 0.3,
                "minutesPct": 97.8,
                "pointsPerMatch": 1.67,
                "netGoalDifferencePer90": 0.68,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.3,
                "aerial_won": 2,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.184,
                "pressing_faced": "LOW",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Andrés Castrin, Juan Iglesias",
                "opponent_faced": "Andrés Castrin, Juan Iglesias",
                "antagonist_source": "attacking_duel"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.36 (squad xG sum 0.7214, xG scale 1.8894)",
              "stats": {
                "expected_goals": 0.5496,
                "goal_rate": 1.052,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0846,
                "key_pass": 1,
                "rating": 7.1791,
                "minutes": 87,
                "total_pass": 16,
                "accurate_pass": 13,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 10,
                "accurate_opp_half_passes": 7,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 28,
                "possession_lost": 7.6045,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 0,
                "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.5691,
                "offsides": 0,
                "ball_carries": 7,
                "total_progression": 45,
                "progressive_carries": 2,
                "total_shots": 2,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 70.0,
                "shotConversion": 0.3,
                "minutesPct": 97.8,
                "pointsPerMatch": 1.67,
                "netGoalDifferencePer90": 0.68,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.3,
                "aerial_won": 2,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.184,
                "pressing_faced": "LOW",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Andrés Castrin, Juan Iglesias",
                "opponent_faced": "Andrés Castrin, Juan Iglesias",
                "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 12, fifa_overall 79.0)",
              "stats": {
                "expected_goals": 0.5496,
                "goal_rate": 1.052,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0846,
                "key_pass": 1,
                "rating": 7.1791,
                "minutes": 87,
                "total_pass": 16,
                "accurate_pass": 13,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 10,
                "accurate_opp_half_passes": 7,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 28,
                "possession_lost": 7.6045,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 0,
                "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.5691,
                "offsides": 0,
                "ball_carries": 7,
                "total_progression": 45,
                "progressive_carries": 2,
                "total_shots": 2,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 70.0,
                "shotConversion": 0.3,
                "minutesPct": 97.8,
                "pointsPerMatch": 1.67,
                "netGoalDifferencePer90": 0.68,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.3,
                "aerial_won": 2,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.184,
                "pressing_faced": "LOW",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Andrés Castrin, Juan Iglesias",
                "opponent_faced": "Andrés Castrin, Juan Iglesias",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 79.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight",
              "stats": {
                "expected_goals": 0.5496,
                "goal_rate": 1.052,
                "goals": 1,
                "shots_on_target": 1,
                "expected_assists": 0.0846,
                "key_pass": 1,
                "rating": 7.1791,
                "minutes": 87,
                "total_pass": 16,
                "accurate_pass": 13,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 10,
                "accurate_opp_half_passes": 7,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 28,
                "possession_lost": 7.6045,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 0,
                "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.5691,
                "offsides": 0,
                "ball_carries": 7,
                "total_progression": 45,
                "progressive_carries": 2,
                "total_shots": 2,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 70.0,
                "shotConversion": 0.3,
                "minutesPct": 97.8,
                "pointsPerMatch": 1.67,
                "netGoalDifferencePer90": 0.68,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.3,
                "aerial_won": 2,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.184,
                "pressing_faced": "LOW",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Andrés Castrin, Juan Iglesias",
                "opponent_faced": "Andrés Castrin, Juan Iglesias",
                "antagonist_source": "attacking_duel",
                "projected_goals": 1,
                "goal_probability": 0.5506,
                "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.5496,
                "goal_rate": 1.052,
                "goals": 1,
                "shots_on_target": 1,
                "expected_assists": 0.0846,
                "key_pass": 1,
                "rating": 7.1791,
                "minutes": 87,
                "total_pass": 16,
                "accurate_pass": 13,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 10,
                "accurate_opp_half_passes": 7,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 28,
                "possession_lost": 7.6045,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 0,
                "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.5691,
                "offsides": 0,
                "ball_carries": 7,
                "total_progression": 45,
                "progressive_carries": 2,
                "total_shots": 2,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 70.0,
                "shotConversion": 0.3,
                "minutesPct": 97.8,
                "pointsPerMatch": 1.67,
                "netGoalDifferencePer90": 0.68,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.3,
                "aerial_won": 2,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.184,
                "pressing_faced": "LOW",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "Andrés Castrin, Juan Iglesias",
                "opponent_faced": "Andrés Castrin, Juan Iglesias",
                "antagonist_source": "attacking_duel",
                "projected_goals": 1,
                "goal_probability": 0.5506,
                "projected_assists": 0,
                "assist_probability": 0.1252,
                "fifa_overall": 79.0
              }
            }
          ]
        },
        "Yeremay Hernández": {
          "player_id": 1096950,
          "position": "F",
          "position_depth": "F",
          "is_starter": true,
          "shirt_number": 10,
          "height": 169,
          "market_value": 23000000,
          "stats": {
            "expected_goals": 0.2209,
            "goal_rate": 0.1765,
            "goals": 0,
            "shots_on_target": 1,
            "expected_assists": 0.048,
            "key_pass": 1,
            "rating": 6.9872,
            "minutes": 24,
            "total_pass": 8,
            "accurate_pass": 5,
            "duels_won": 2,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 3,
            "accurate_opp_half_passes": 0,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 15,
            "possession_lost": 5.2393,
            "dispossessed": 0.0,
            "duels_lost": 0,
            "aerial_lost": 0,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 3,
            "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": 22,
            "progressive_carries": 1,
            "total_shots": 1,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "minutesPct": 13.3,
            "pointsPerMatch": 2.0,
            "netGoalDifferencePer90": 0.0,
            "opponent_faced": "Gabriel Suazo, Kike Salas",
            "matchup_zone": "Shape fallback",
            "antagonist_source": "formation_fallback",
            "projected_goals": 0,
            "goal_probability": 0.1648,
            "projected_assists": 0,
            "assist_probability": 0.1105,
            "fifa_overall": 78.0
          },
          "latest_10_games": [
            {
              "match_id": 16416324.0,
              "match_date": "2026-09-05",
              "home_team": "Villarreal",
              "away_team": "Deportivo de A Coruña",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Deportivo de A Coruña",
              "opponent": "Villarreal",
              "stats": {
                "minutes": 36,
                "rating": 6.8,
                "assists": 0,
                "expected_goals": 0.0812,
                "expected_assists": 0.0007,
                "total_shots": 1,
                "total_pass": 12,
                "accurate_pass": 9,
                "tackles": 1,
                "tackles_won": 1,
                "duels_won": 3,
                "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": 16416291.0,
              "match_date": "2026-08-30",
              "home_team": "Deportivo de A Coruña",
              "away_team": "Valencia",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Deportivo de A Coruña",
              "opponent": "Valencia",
              "stats": {
                "minutes": 17,
                "rating": 6.8,
                "assists": 0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "total_pass": 5,
                "accurate_pass": 2,
                "tackles": 2,
                "tackles_won": 2,
                "clearances": 1,
                "duels_won": 2,
                "ball_recovery": 3
              },
              "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": 16416307.0,
              "match_date": "2026-08-24",
              "home_team": "Málaga CF",
              "away_team": "Deportivo de A Coruña",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Deportivo de A Coruña",
              "opponent": "Málaga CF",
              "stats": {
                "minutes": 17,
                "rating": 6.4,
                "assists": 0,
                "expected_assists": 0.0623,
                "total_shots": 0,
                "total_pass": 5,
                "accurate_pass": 3,
                "duels_won": 1,
                "ball_recovery": 1
              },
              "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": 2211,
            "combined_rank_score": 1041.0,
            "ranking_source": "sofascore_plus_fifa_csv_filled",
            "ranking_status": "combined",
            "sofascore_rank": 822.0,
            "sofascore_rating": 6.6,
            "sofascore_appearances": 2.0,
            "fifa_rank": 1260.0,
            "fifa_overall": 78.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 1,
            "squad_role": "starter",
            "projected_match_rating": 6.9872,
            "source_file": "data/player_rankings.csv",
            "player_name": "Yeremay Hernández",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Sebastien Thill",
                  "ranking": 2206
                },
                {
                  "player_name": "Darko Velkovski",
                  "ranking": 2207
                },
                {
                  "player_name": "Sandro Wieser",
                  "ranking": 2208
                },
                {
                  "player_name": "Zafar Sadullayev",
                  "ranking": 2209
                },
                {
                  "player_name": "Tyrell Malacia",
                  "ranking": 2210
                }
              ],
              "lower": [
                {
                  "player_name": "Carles Aleñá",
                  "ranking": 2212
                },
                {
                  "player_name": "Jorge Cestero",
                  "ranking": 2213
                },
                {
                  "player_name": "Wallace Yan",
                  "ranking": 2214
                },
                {
                  "player_name": "Behruz Uktamov",
                  "ranking": 2215
                },
                {
                  "player_name": "Ilkhomzhon Kenzhaev",
                  "ranking": 2216
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.442,
          "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.442,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.0479,
            "fbref_prior_metrics": {
              "squad": "Dep. A Coruña",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 0.0,
              "minutes": 36.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 0.0,
              "prior_reliability": 0.0267
            },
            "rationale": "XGBoost regressor (F_service) evaluated 3 historical appearances across 6 target models; FBref 2026-2027 prior blended (La Liga, Dep. A Coruña, rel: 0.03, gls/90: 0.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 6 target models",
              "stats": {
                "expected_goals": 0.1116,
                "goal_rate": 0.1703,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0458,
                "key_pass": 1,
                "rating": 6.6681,
                "minutes": 23,
                "total_pass": 7,
                "accurate_pass": 5,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 3,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 14,
                "possession_lost": 5.0,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 3,
                "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": 21,
                "progressive_carries": 1
              },
              "trace": {
                "model": {
                  "position_service": "F",
                  "schema_version": 3,
                  "trained_at": "2026-09-15T10:01:52.318462+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 278,
                    "rows": 769
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-05",
                    "opponent": "Villarreal",
                    "minutes": 36.0,
                    "is_starting": false,
                    "weight": 0.3887,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-08-30",
                    "opponent": "Valencia",
                    "minutes": 17.0,
                    "is_starting": false,
                    "weight": 0.3304,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-08-24",
                    "opponent": "Málaga CF",
                    "minutes": 17.0,
                    "is_starting": false,
                    "weight": 0.2809,
                    "rating": 6.4
                  }
                ],
                "feature_row": {
                  "history_matches": 3.0,
                  "is_starting_11": 1.0,
                  "onTargetScoringAttempt": 0.0,
                  "totalShots": 0.3887,
                  "minutesPlayed": 24.3858,
                  "touches": 14.896,
                  "dribbleValueNormalized": 0.0691
                },
                "per_target": [
                  {
                    "target": "expectedGoals",
                    "predicted": 0.11157399415969849,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "minutesPlayed",
                        "importance": 0.093
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0745
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0545
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.043
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0314
                      }
                    ]
                  },
                  {
                    "target": "goals",
                    "predicted": 0.17027729749679565,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.1
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0715
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0371
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0298
                      },
                      {
                        "name": "passValueNormalized",
                        "importance": 0.0268
                      }
                    ]
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.5154864192008972,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0703
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0583
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0486
                      },
                      {
                        "name": "touches",
                        "importance": 0.0401
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0347
                      }
                    ]
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.04577675461769104,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "touches",
                        "importance": 0.0802
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0621
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0547
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0537
                      },
                      {
                        "name": "numberOfSprints",
                        "importance": 0.0397
                      }
                    ]
                  },
                  {
                    "target": "keyPass",
                    "predicted": 0.7227885127067566,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0738
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0657
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0615
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0458
                      },
                      {
                        "name": "aerialLost",
                        "importance": 0.0313
                      }
                    ]
                  },
                  {
                    "target": "rating",
                    "predicted": 6.668107509613037,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "speed_threat",
                        "importance": 0.0598
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0489
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0439
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0425
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0404
                      }
                    ]
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0479, quality 0.660)",
              "stats": {
                "expected_goals": 0.1169,
                "goal_rate": 0.1784,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.048,
                "key_pass": 1,
                "rating": 6.9872,
                "minutes": 24,
                "total_pass": 8,
                "accurate_pass": 5,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 3,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 15,
                "possession_lost": 5.2393,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 3,
                "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": 22,
                "progressive_carries": 1
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0108)",
              "stats": {
                "expected_goals": 0.1169,
                "goal_rate": 0.1765,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.048,
                "key_pass": 1,
                "rating": 6.9872,
                "minutes": 24,
                "total_pass": 8,
                "accurate_pass": 5,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 3,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 15,
                "possession_lost": 5.2393,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 3,
                "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": 22,
                "progressive_carries": 1,
                "total_shots": 1,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 13.3,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.0
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.1169,
                "goal_rate": 0.1765,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.048,
                "key_pass": 1,
                "rating": 6.9872,
                "minutes": 24,
                "total_pass": 8,
                "accurate_pass": 5,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 3,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 15,
                "possession_lost": 5.2393,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 3,
                "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": 22,
                "progressive_carries": 1,
                "total_shots": 1,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 13.3,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.0
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "expected_goals": 0.1169,
                "goal_rate": 0.1765,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.048,
                "key_pass": 1,
                "rating": 6.9872,
                "minutes": 24,
                "total_pass": 8,
                "accurate_pass": 5,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 3,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 15,
                "possession_lost": 5.2393,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 3,
                "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": 22,
                "progressive_carries": 1,
                "total_shots": 1,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 13.3,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.0,
                "opponent_faced": "Gabriel Suazo, Kike Salas",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.36 (squad xG sum 0.7214, xG scale 1.8894)",
              "stats": {
                "expected_goals": 0.2209,
                "goal_rate": 0.1765,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.048,
                "key_pass": 1,
                "rating": 6.9872,
                "minutes": 24,
                "total_pass": 8,
                "accurate_pass": 5,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 3,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 15,
                "possession_lost": 5.2393,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 3,
                "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": 22,
                "progressive_carries": 1,
                "total_shots": 1,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 13.3,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.0,
                "opponent_faced": "Gabriel Suazo, Kike Salas",
                "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 1, fifa_overall 78.0)",
              "stats": {
                "expected_goals": 0.2209,
                "goal_rate": 0.1765,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.048,
                "key_pass": 1,
                "rating": 6.9872,
                "minutes": 24,
                "total_pass": 8,
                "accurate_pass": 5,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 3,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 15,
                "possession_lost": 5.2393,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 3,
                "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": 22,
                "progressive_carries": 1,
                "total_shots": 1,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 13.3,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.0,
                "opponent_faced": "Gabriel Suazo, Kike Salas",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 78.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight",
              "stats": {
                "expected_goals": 0.2209,
                "goal_rate": 0.1765,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.048,
                "key_pass": 1,
                "rating": 6.9872,
                "minutes": 24,
                "total_pass": 8,
                "accurate_pass": 5,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 3,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 15,
                "possession_lost": 5.2393,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 3,
                "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": 22,
                "progressive_carries": 1,
                "total_shots": 1,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 13.3,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.0,
                "opponent_faced": "Gabriel Suazo, Kike Salas",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.1648,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 78.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight",
              "stats": {
                "expected_goals": 0.2209,
                "goal_rate": 0.1765,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.048,
                "key_pass": 1,
                "rating": 6.9872,
                "minutes": 24,
                "total_pass": 8,
                "accurate_pass": 5,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 3,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 15,
                "possession_lost": 5.2393,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 3,
                "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": 22,
                "progressive_carries": 1,
                "total_shots": 1,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 13.3,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.0,
                "opponent_faced": "Gabriel Suazo, Kike Salas",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.1648,
                "projected_assists": 0,
                "assist_probability": 0.1105,
                "fifa_overall": 78.0
              }
            }
          ]
        },
        "Mario Soriano": {
          "player_id": 984622,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 21,
          "height": 163,
          "market_value": 4600000,
          "stats": {
            "key_pass": 1,
            "expected_assists": 0.0557,
            "assists": 0,
            "expected_goals": 0.0644,
            "rating": 6.8409,
            "minutes": 73,
            "total_pass": 47,
            "accurate_pass": 44,
            "duels_won": 2,
            "total_long_balls": 3,
            "accurate_long_balls": 2,
            "total_own_half_passes": 24,
            "accurate_own_half_passes": 23,
            "total_opp_half_passes": 23,
            "accurate_opp_half_passes": 21,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 56,
            "possession_lost": 6.6634,
            "dispossessed": 1.9743,
            "duels_lost": 3,
            "aerial_won": 1,
            "aerial_lost": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "total_contest": 0,
            "won_contest": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "ball_carries": 18,
            "total_progression": 19,
            "progressive_carries": 0,
            "total_shots": 2,
            "offsides": 0,
            "yellowCards": 0.4,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 0.0,
            "shotConversion": 0.0,
            "minutesPct": 83.7,
            "pointsPerMatch": 1.67,
            "netGoalDifferencePer90": 1.19,
            "dribbles_attempted": 3,
            "dribbles_successful": 1.0,
            "crosses_attempted": 1.9,
            "duel_win_rate": 0.363,
            "pressing_faced": "LOW",
            "matchup_zone": "Left Wing vs Right Back — Flank Battle",
            "numerical_situation": "1v1",
            "opponent_defenders": "Kike Salas",
            "opponent_faced": "Kike Salas",
            "antagonist_source": "attacking_duel, midfield_pairing",
            "projected_goals": 0,
            "goal_probability": 0.0277,
            "projected_assists": 0,
            "assist_probability": 0.1959,
            "fifa_overall": 75.0
          },
          "latest_10_games": [
            {
              "match_type": "played",
              "match_id": 16416326.0,
              "match_date": "2026-09-13 16:30:00 UTC",
              "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",
              "home_team": "Getafe",
              "away_team": "Deportivo",
              "home_score_current": 1.0,
              "away_score_current": 1.0,
              "team_side": "away",
              "status_code": 100.0,
              "status_type": "finished",
              "status_description": "Ended",
              "player_status": "starter",
              "is_starting_11": true,
              "team": "Deportivo",
              "opponent": "Getafe",
              "stats": {},
              "has_player_stats": false,
              "source": "depth_chart.csv"
            },
            {
              "match_id": 16416324.0,
              "match_date": "2026-09-05",
              "home_team": "Villarreal",
              "away_team": "Deportivo de A Coruña",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo de A Coruña",
              "opponent": "Villarreal",
              "stats": {
                "minutes": 66,
                "rating": 6.5,
                "assists": 0,
                "expected_assists": 0.0287,
                "total_shots": 0,
                "total_pass": 44,
                "accurate_pass": 42,
                "clearances": 2,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 3
              },
              "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": 16416291.0,
              "match_date": "2026-08-30",
              "home_team": "Deportivo de A Coruña",
              "away_team": "Valencia",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo de A Coruña",
              "opponent": "Valencia",
              "stats": {
                "minutes": 73,
                "rating": 7.3,
                "assists": 1,
                "expected_goals": 0.0158,
                "expected_assists": 0.3162,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 57,
                "accurate_pass": 55,
                "key_pass": 2,
                "tackles": 1,
                "interceptions": 1,
                "duels_won": 2,
                "ball_recovery": 5
              },
              "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": 16416307.0,
              "match_date": "2026-08-24",
              "home_team": "Málaga CF",
              "away_team": "Deportivo de A Coruña",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo de A Coruña",
              "opponent": "Málaga CF",
              "stats": {
                "minutes": 85,
                "rating": 6.5,
                "assists": 0,
                "expected_goals": 0.0291,
                "expected_assists": 0.0122,
                "total_shots": 1,
                "total_pass": 47,
                "accurate_pass": 43,
                "tackles": 2,
                "clearances": 1,
                "duels_won": 2,
                "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"
            },
            {
              "match_id": 16421050.0,
              "match_date": "2026-08-17",
              "home_team": "Deportivo de A Coruña",
              "away_team": "Elche",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo de A Coruña",
              "opponent": "Elche",
              "stats": {
                "minutes": 71,
                "rating": 7.1,
                "assists": 0,
                "expected_goals": 0.0427,
                "expected_assists": 0.0145,
                "total_shots": 1,
                "total_pass": 42,
                "accurate_pass": 37,
                "key_pass": 1,
                "tackles": 2,
                "tackles_won": 2,
                "clearances": 1,
                "duels_won": 4,
                "ball_recovery": 1
              },
              "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": 3373,
            "combined_rank_score": 1333.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 257.0,
            "sofascore_rating": 7.1,
            "sofascore_appearances": 1.0,
            "fifa_rank": 2409.0,
            "fifa_overall": 75.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 7,
            "squad_role": "starter",
            "projected_match_rating": 6.8409,
            "source_file": "data/player_rankings.csv",
            "player_name": "Mario Soriano",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Maxime Estève",
                  "ranking": 3368
                },
                {
                  "player_name": "Fotis Ioannidis",
                  "ranking": 3369
                },
                {
                  "player_name": "Álvaro Rodriguez",
                  "ranking": 3370
                },
                {
                  "player_name": "Franjo Ivanović",
                  "ranking": 3371
                },
                {
                  "player_name": "Mika Biereth",
                  "ranking": 3372
                }
              ],
              "lower": [
                {
                  "player_name": "Ernest Poku",
                  "ranking": 3374
                },
                {
                  "player_name": "Dilane Bakwa",
                  "ranking": 3375
                },
                {
                  "player_name": "Martin Erlić",
                  "ranking": 3376
                },
                {
                  "player_name": "Atakan Karazor",
                  "ranking": 3377
                },
                {
                  "player_name": "Lesley Ugochukwu",
                  "ranking": 3378
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.525,
          "history_matches": 4,
          "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": 4,
            "data_confidence": 0.525,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 0.9872,
            "fbref_prior_metrics": {
              "squad": "Dep. A Coruña",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 3.0,
              "starts": 3.0,
              "minutes": 226.0,
              "goals_per90": 0.0,
              "assists_per90": 0.4,
              "shots_per90": 1.19,
              "shots_on_target_pct": 0.0,
              "prior_reliability": 0.1667
            },
            "rationale": "XGBoost regressor (M_service) evaluated 4 historical appearances across 5 target models; FBref 2026-2027 prior blended (La Liga, Dep. A Coruña, rel: 0.17, gls/90: 0.0, ast/90: 0.4)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 5 target models",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0564,
                "assists": 0,
                "expected_goals": 0.0346,
                "rating": 6.9298,
                "minutes": 74,
                "total_pass": 48,
                "accurate_pass": 44,
                "duels_won": 2,
                "total_long_balls": 3,
                "accurate_long_balls": 2,
                "total_own_half_passes": 24,
                "accurate_own_half_passes": 23,
                "total_opp_half_passes": 24,
                "accurate_opp_half_passes": 21,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 56,
                "possession_lost": 6.75,
                "dispossessed": 2.0,
                "duels_lost": 3,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 18,
                "total_progression": 19,
                "progressive_carries": 0
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 3,
                  "trained_at": "2026-09-15T10:01:48.236605+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 461,
                    "rows": 1422
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-05",
                    "opponent": "Villarreal",
                    "minutes": 66.0,
                    "is_starting": true,
                    "weight": 0.3138,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-08-30",
                    "opponent": "Valencia",
                    "minutes": 73.0,
                    "is_starting": true,
                    "weight": 0.2667,
                    "rating": 7.3
                  },
                  {
                    "match_date": "2026-08-24",
                    "opponent": "Málaga CF",
                    "minutes": 85.0,
                    "is_starting": true,
                    "weight": 0.2267,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-08-17",
                    "opponent": "Elche",
                    "minutes": 71.0,
                    "is_starting": true,
                    "weight": 0.1927,
                    "rating": 7.1
                  }
                ],
                "feature_row": {
                  "history_matches": 4.0,
                  "is_starting_11": 1.0,
                  "ballRecovery_p90": 4.6127,
                  "ballRecovery": 3.8282,
                  "intensity_index": 3.3872,
                  "expectedAssists": 0.0989,
                  "kilometersCovered": 6.3926
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 1.0863428115844727,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0551
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0489
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0393
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.035
                      },
                      {
                        "name": "accurateCross",
                        "importance": 0.0319
                      }
                    ]
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.056414712220430374,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "cross_creative_contribution",
                        "importance": 0.0714
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0375
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0361
                      },
                      {
                        "name": "accurateCross",
                        "importance": 0.0356
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.0345
                      }
                    ]
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.07604210823774338,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0442
                      },
                      {
                        "name": "keyPass_p90",
                        "importance": 0.0378
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0368
                      },
                      {
                        "name": "cross_accuracy",
                        "importance": 0.036
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0315
                      }
                    ]
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.034569088369607925,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.077
                      },
                      {
                        "name": "intensity_index",
                        "importance": 0.0622
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0454
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0399
                      },
                      {
                        "name": "numberOfSprints",
                        "importance": 0.0384
                      }
                    ]
                  },
                  {
                    "target": "rating",
                    "predicted": 6.929764270782471,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "ballRecovery_p90",
                        "importance": 0.0847
                      },
                      {
                        "name": "ballRecovery",
                        "importance": 0.0836
                      },
                      {
                        "name": "kilometersCovered",
                        "importance": 0.0597
                      },
                      {
                        "name": "defensive_midfield_actions",
                        "importance": 0.05
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0441
                      }
                    ]
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9872, quality 0.457)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0557,
                "assists": 0,
                "expected_goals": 0.0341,
                "rating": 6.8409,
                "minutes": 73,
                "total_pass": 47,
                "accurate_pass": 44,
                "duels_won": 2,
                "total_long_balls": 3,
                "accurate_long_balls": 2,
                "total_own_half_passes": 24,
                "accurate_own_half_passes": 23,
                "total_opp_half_passes": 23,
                "accurate_opp_half_passes": 21,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 56,
                "possession_lost": 6.6634,
                "dispossessed": 1.9743,
                "duels_lost": 3,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 18,
                "total_progression": 19,
                "progressive_carries": 0
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0602)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0557,
                "assists": 0,
                "expected_goals": 0.0341,
                "rating": 6.8409,
                "minutes": 73,
                "total_pass": 47,
                "accurate_pass": 44,
                "duels_won": 2,
                "total_long_balls": 3,
                "accurate_long_balls": 2,
                "total_own_half_passes": 24,
                "accurate_own_half_passes": 23,
                "total_opp_half_passes": 23,
                "accurate_opp_half_passes": 21,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 56,
                "possession_lost": 6.6634,
                "dispossessed": 1.9743,
                "duels_lost": 3,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 18,
                "total_progression": 19,
                "progressive_carries": 0,
                "total_shots": 1,
                "offsides": 0,
                "yellowCards": 0.4,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 83.7,
                "pointsPerMatch": 1.67,
                "netGoalDifferencePer90": 1.19
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0557,
                "assists": 0,
                "expected_goals": 0.0341,
                "rating": 6.8409,
                "minutes": 73,
                "total_pass": 47,
                "accurate_pass": 44,
                "duels_won": 2,
                "total_long_balls": 3,
                "accurate_long_balls": 2,
                "total_own_half_passes": 24,
                "accurate_own_half_passes": 23,
                "total_opp_half_passes": 23,
                "accurate_opp_half_passes": 21,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 56,
                "possession_lost": 6.6634,
                "dispossessed": 1.9743,
                "duels_lost": 3,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 18,
                "total_progression": 19,
                "progressive_carries": 0,
                "total_shots": 1,
                "offsides": 0,
                "yellowCards": 0.4,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 83.7,
                "pointsPerMatch": 1.67,
                "netGoalDifferencePer90": 1.19
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0557,
                "assists": 0,
                "expected_goals": 0.0341,
                "rating": 6.8409,
                "minutes": 73,
                "total_pass": 47,
                "accurate_pass": 44,
                "duels_won": 2,
                "total_long_balls": 3,
                "accurate_long_balls": 2,
                "total_own_half_passes": 24,
                "accurate_own_half_passes": 23,
                "total_opp_half_passes": 23,
                "accurate_opp_half_passes": 21,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 56,
                "possession_lost": 6.6634,
                "dispossessed": 1.9743,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 18,
                "total_progression": 19,
                "progressive_carries": 0,
                "total_shots": 2,
                "offsides": 0,
                "yellowCards": 0.4,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 83.7,
                "pointsPerMatch": 1.67,
                "netGoalDifferencePer90": 1.19,
                "dribbles_attempted": 3,
                "dribbles_successful": 1.0,
                "crosses_attempted": 1.9,
                "duel_win_rate": 0.363,
                "pressing_faced": "LOW",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Kike Salas",
                "opponent_faced": "Kike Salas",
                "antagonist_source": "attacking_duel, midfield_pairing"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.36 (squad xG sum 0.7214, xG scale 1.8894)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0557,
                "assists": 0,
                "expected_goals": 0.0644,
                "rating": 6.8409,
                "minutes": 73,
                "total_pass": 47,
                "accurate_pass": 44,
                "duels_won": 2,
                "total_long_balls": 3,
                "accurate_long_balls": 2,
                "total_own_half_passes": 24,
                "accurate_own_half_passes": 23,
                "total_opp_half_passes": 23,
                "accurate_opp_half_passes": 21,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 56,
                "possession_lost": 6.6634,
                "dispossessed": 1.9743,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 18,
                "total_progression": 19,
                "progressive_carries": 0,
                "total_shots": 2,
                "offsides": 0,
                "yellowCards": 0.4,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 83.7,
                "pointsPerMatch": 1.67,
                "netGoalDifferencePer90": 1.19,
                "dribbles_attempted": 3,
                "dribbles_successful": 1.0,
                "crosses_attempted": 1.9,
                "duel_win_rate": 0.363,
                "pressing_faced": "LOW",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Kike Salas",
                "opponent_faced": "Kike Salas",
                "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 7, fifa_overall 75.0)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0557,
                "assists": 0,
                "expected_goals": 0.0644,
                "rating": 6.8409,
                "minutes": 73,
                "total_pass": 47,
                "accurate_pass": 44,
                "duels_won": 2,
                "total_long_balls": 3,
                "accurate_long_balls": 2,
                "total_own_half_passes": 24,
                "accurate_own_half_passes": 23,
                "total_opp_half_passes": 23,
                "accurate_opp_half_passes": 21,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 56,
                "possession_lost": 6.6634,
                "dispossessed": 1.9743,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 18,
                "total_progression": 19,
                "progressive_carries": 0,
                "total_shots": 2,
                "offsides": 0,
                "yellowCards": 0.4,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 83.7,
                "pointsPerMatch": 1.67,
                "netGoalDifferencePer90": 1.19,
                "dribbles_attempted": 3,
                "dribbles_successful": 1.0,
                "crosses_attempted": 1.9,
                "duel_win_rate": 0.363,
                "pressing_faced": "LOW",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Kike Salas",
                "opponent_faced": "Kike Salas",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "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: 1 projected goals distributed by scorer weight",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0557,
                "assists": 0,
                "expected_goals": 0.0644,
                "rating": 6.8409,
                "minutes": 73,
                "total_pass": 47,
                "accurate_pass": 44,
                "duels_won": 2,
                "total_long_balls": 3,
                "accurate_long_balls": 2,
                "total_own_half_passes": 24,
                "accurate_own_half_passes": 23,
                "total_opp_half_passes": 23,
                "accurate_opp_half_passes": 21,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 56,
                "possession_lost": 6.6634,
                "dispossessed": 1.9743,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 18,
                "total_progression": 19,
                "progressive_carries": 0,
                "total_shots": 2,
                "offsides": 0,
                "yellowCards": 0.4,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 83.7,
                "pointsPerMatch": 1.67,
                "netGoalDifferencePer90": 1.19,
                "dribbles_attempted": 3,
                "dribbles_successful": 1.0,
                "crosses_attempted": 1.9,
                "duel_win_rate": 0.363,
                "pressing_faced": "LOW",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Kike Salas",
                "opponent_faced": "Kike Salas",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0277,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 75.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0557,
                "assists": 0,
                "expected_goals": 0.0644,
                "rating": 6.8409,
                "minutes": 73,
                "total_pass": 47,
                "accurate_pass": 44,
                "duels_won": 2,
                "total_long_balls": 3,
                "accurate_long_balls": 2,
                "total_own_half_passes": 24,
                "accurate_own_half_passes": 23,
                "total_opp_half_passes": 23,
                "accurate_opp_half_passes": 21,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 56,
                "possession_lost": 6.6634,
                "dispossessed": 1.9743,
                "duels_lost": 3,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 18,
                "total_progression": 19,
                "progressive_carries": 0,
                "total_shots": 2,
                "offsides": 0,
                "yellowCards": 0.4,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 83.7,
                "pointsPerMatch": 1.67,
                "netGoalDifferencePer90": 1.19,
                "dribbles_attempted": 3,
                "dribbles_successful": 1.0,
                "crosses_attempted": 1.9,
                "duel_win_rate": 0.363,
                "pressing_faced": "LOW",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "numerical_situation": "1v1",
                "opponent_defenders": "Kike Salas",
                "opponent_faced": "Kike Salas",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0277,
                "projected_assists": 0,
                "assist_probability": 0.1959,
                "fifa_overall": 75.0
              }
            }
          ]
        },
        "Adama Traoré": {
          "player_id": 286165,
          "position": "F",
          "position_depth": "F",
          "is_starter": true,
          "shirt_number": 24,
          "height": 178,
          "market_value": 5700000,
          "stats": {
            "expected_goals": 0.246,
            "goal_rate": 0.2034,
            "goals": 0,
            "shots_on_target": 1,
            "expected_assists": 0.0494,
            "key_pass": 1,
            "rating": 6.7956,
            "minutes": 24,
            "total_pass": 11,
            "accurate_pass": 10,
            "duels_won": 3,
            "total_long_balls": 3,
            "accurate_long_balls": 2,
            "total_opp_half_passes": 7,
            "accurate_opp_half_passes": 6,
            "crosses_total": 4,
            "crosses_accurate": 0,
            "touches": 24,
            "possession_lost": 7.9299,
            "dispossessed": 0.9912,
            "duels_lost": 3,
            "aerial_lost": 0,
            "total_contest": 4,
            "won_contest": 2,
            "ball_recovery": 2,
            "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": 8,
            "total_progression": 144,
            "progressive_carries": 5,
            "opponent_faced": "Gabriel Suazo, Andrés Castrin",
            "matchup_zone": "Shape fallback",
            "antagonist_source": "formation_fallback",
            "projected_goals": 0,
            "goal_probability": 0.1676,
            "projected_assists": 0,
            "assist_probability": 0.1072,
            "fifa_overall": 68.0
          },
          "latest_10_games": [
            {
              "match_id": 16416324.0,
              "match_date": "2026-09-05",
              "home_team": "Villarreal",
              "away_team": "Deportivo de A Coruña",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Deportivo de A Coruña",
              "opponent": "Villarreal",
              "stats": {
                "minutes": 24,
                "rating": 6.1,
                "assists": 0,
                "expected_assists": 0.0101,
                "total_shots": 0,
                "total_pass": 11,
                "accurate_pass": 10,
                "duels_won": 3,
                "ball_recovery": 2
              },
              "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": 6326,
            "combined_rank_score": 4631.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 910.0,
            "sofascore_rating": 6.5095,
            "sofascore_appearances": 24.0,
            "fifa_rank": 8353.0,
            "fifa_overall": 68.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 6,
            "squad_role": "starter",
            "projected_match_rating": 6.7956,
            "source_file": "data/player_rankings.csv",
            "player_name": "Adama Traoré",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Ermal Krasniqi",
                  "ranking": 6321
                },
                {
                  "player_name": "Piris da Motta",
                  "ranking": 6322
                },
                {
                  "player_name": "Eugenio Raggio",
                  "ranking": 6323
                },
                {
                  "player_name": "David Akintola",
                  "ranking": 6324
                },
                {
                  "player_name": "João Rêgo",
                  "ranking": 6325
                }
              ],
              "lower": [
                {
                  "player_name": "Esteban Matus",
                  "ranking": 6327
                },
                {
                  "player_name": "Cameron Humphreys",
                  "ranking": 6328
                },
                {
                  "player_name": "Brandon Austin",
                  "ranking": 6329
                },
                {
                  "player_name": "Javier García",
                  "ranking": 6330
                },
                {
                  "player_name": "Alexis Zapata",
                  "ranking": 6331
                }
              ]
            }
          },
          "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": 0.9912,
            "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.1313,
                "goal_rate": 0.2052,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0498,
                "key_pass": 1,
                "rating": 6.8557,
                "minutes": 24,
                "total_pass": 11,
                "accurate_pass": 10,
                "duels_won": 3,
                "total_long_balls": 3,
                "accurate_long_balls": 2,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 6,
                "crosses_total": 4,
                "crosses_accurate": 0,
                "touches": 24,
                "possession_lost": 8.0,
                "dispossessed": 1.0,
                "duels_lost": 3,
                "aerial_lost": 0,
                "total_contest": 4,
                "won_contest": 2,
                "ball_recovery": 2,
                "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": 8,
                "total_progression": 145,
                "progressive_carries": 5
              },
              "trace": {
                "model": {
                  "position_service": "F",
                  "schema_version": 3,
                  "trained_at": "2026-09-15T10:01:52.318462+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 278,
                    "rows": 769
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-05",
                    "opponent": "Villarreal",
                    "minutes": 24.0,
                    "is_starting": false,
                    "weight": 1.0,
                    "rating": 6.1
                  }
                ],
                "feature_row": {
                  "history_matches": 1.0,
                  "is_starting_11": 1.0,
                  "onTargetScoringAttempt": 0.0,
                  "totalShots": 0.0,
                  "minutesPlayed": 24.0,
                  "touches": 24.0,
                  "dribbleValueNormalized": 0.28
                },
                "per_target": [
                  {
                    "target": "expectedGoals",
                    "predicted": 0.1313215047121048,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "minutesPlayed",
                        "importance": 0.093
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0745
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0545
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.043
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0314
                      }
                    ]
                  },
                  {
                    "target": "goals",
                    "predicted": 0.20518659055233002,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.1
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0715
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0371
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0298
                      },
                      {
                        "name": "passValueNormalized",
                        "importance": 0.0268
                      }
                    ]
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.6442211866378784,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0703
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0583
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0486
                      },
                      {
                        "name": "touches",
                        "importance": 0.0401
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0347
                      }
                    ]
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.049795910716056824,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "touches",
                        "importance": 0.0802
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0621
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0547
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0537
                      },
                      {
                        "name": "numberOfSprints",
                        "importance": 0.0397
                      }
                    ]
                  },
                  {
                    "target": "keyPass",
                    "predicted": 0.7886548042297363,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0738
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0657
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0615
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0458
                      },
                      {
                        "name": "aerialLost",
                        "importance": 0.0313
                      }
                    ]
                  },
                  {
                    "target": "rating",
                    "predicted": 6.8557329177856445,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "speed_threat",
                        "importance": 0.0598
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0489
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0439
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0425
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0404
                      }
                    ]
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9912, quality 0.471)",
              "stats": {
                "expected_goals": 0.1302,
                "goal_rate": 0.2034,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0494,
                "key_pass": 1,
                "rating": 6.7956,
                "minutes": 24,
                "total_pass": 11,
                "accurate_pass": 10,
                "duels_won": 3,
                "total_long_balls": 3,
                "accurate_long_balls": 2,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 6,
                "crosses_total": 4,
                "crosses_accurate": 0,
                "touches": 24,
                "possession_lost": 7.9299,
                "dispossessed": 0.9912,
                "duels_lost": 3,
                "aerial_lost": 0,
                "total_contest": 4,
                "won_contest": 2,
                "ball_recovery": 2,
                "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": 8,
                "total_progression": 144,
                "progressive_carries": 5
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.1302,
                "goal_rate": 0.2034,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0494,
                "key_pass": 1,
                "rating": 6.7956,
                "minutes": 24,
                "total_pass": 11,
                "accurate_pass": 10,
                "duels_won": 3,
                "total_long_balls": 3,
                "accurate_long_balls": 2,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 6,
                "crosses_total": 4,
                "crosses_accurate": 0,
                "touches": 24,
                "possession_lost": 7.9299,
                "dispossessed": 0.9912,
                "duels_lost": 3,
                "aerial_lost": 0,
                "total_contest": 4,
                "won_contest": 2,
                "ball_recovery": 2,
                "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": 8,
                "total_progression": 144,
                "progressive_carries": 5
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "expected_goals": 0.1302,
                "goal_rate": 0.2034,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0494,
                "key_pass": 1,
                "rating": 6.7956,
                "minutes": 24,
                "total_pass": 11,
                "accurate_pass": 10,
                "duels_won": 3,
                "total_long_balls": 3,
                "accurate_long_balls": 2,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 6,
                "crosses_total": 4,
                "crosses_accurate": 0,
                "touches": 24,
                "possession_lost": 7.9299,
                "dispossessed": 0.9912,
                "duels_lost": 3,
                "aerial_lost": 0,
                "total_contest": 4,
                "won_contest": 2,
                "ball_recovery": 2,
                "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": 8,
                "total_progression": 144,
                "progressive_carries": 5,
                "opponent_faced": "Gabriel Suazo, Andrés Castrin",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.36 (squad xG sum 0.7214, xG scale 1.8894)",
              "stats": {
                "expected_goals": 0.246,
                "goal_rate": 0.2034,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0494,
                "key_pass": 1,
                "rating": 6.7956,
                "minutes": 24,
                "total_pass": 11,
                "accurate_pass": 10,
                "duels_won": 3,
                "total_long_balls": 3,
                "accurate_long_balls": 2,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 6,
                "crosses_total": 4,
                "crosses_accurate": 0,
                "touches": 24,
                "possession_lost": 7.9299,
                "dispossessed": 0.9912,
                "duels_lost": 3,
                "aerial_lost": 0,
                "total_contest": 4,
                "won_contest": 2,
                "ball_recovery": 2,
                "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": 8,
                "total_progression": 144,
                "progressive_carries": 5,
                "opponent_faced": "Gabriel Suazo, Andrés Castrin",
                "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 6, fifa_overall 68.0)",
              "stats": {
                "expected_goals": 0.246,
                "goal_rate": 0.2034,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0494,
                "key_pass": 1,
                "rating": 6.7956,
                "minutes": 24,
                "total_pass": 11,
                "accurate_pass": 10,
                "duels_won": 3,
                "total_long_balls": 3,
                "accurate_long_balls": 2,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 6,
                "crosses_total": 4,
                "crosses_accurate": 0,
                "touches": 24,
                "possession_lost": 7.9299,
                "dispossessed": 0.9912,
                "duels_lost": 3,
                "aerial_lost": 0,
                "total_contest": 4,
                "won_contest": 2,
                "ball_recovery": 2,
                "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": 8,
                "total_progression": 144,
                "progressive_carries": 5,
                "opponent_faced": "Gabriel Suazo, Andrés Castrin",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 68.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight",
              "stats": {
                "expected_goals": 0.246,
                "goal_rate": 0.2034,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0494,
                "key_pass": 1,
                "rating": 6.7956,
                "minutes": 24,
                "total_pass": 11,
                "accurate_pass": 10,
                "duels_won": 3,
                "total_long_balls": 3,
                "accurate_long_balls": 2,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 6,
                "crosses_total": 4,
                "crosses_accurate": 0,
                "touches": 24,
                "possession_lost": 7.9299,
                "dispossessed": 0.9912,
                "duels_lost": 3,
                "aerial_lost": 0,
                "total_contest": 4,
                "won_contest": 2,
                "ball_recovery": 2,
                "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": 8,
                "total_progression": 144,
                "progressive_carries": 5,
                "opponent_faced": "Gabriel Suazo, Andrés Castrin",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.1676,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 68.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight",
              "stats": {
                "expected_goals": 0.246,
                "goal_rate": 0.2034,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0494,
                "key_pass": 1,
                "rating": 6.7956,
                "minutes": 24,
                "total_pass": 11,
                "accurate_pass": 10,
                "duels_won": 3,
                "total_long_balls": 3,
                "accurate_long_balls": 2,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 6,
                "crosses_total": 4,
                "crosses_accurate": 0,
                "touches": 24,
                "possession_lost": 7.9299,
                "dispossessed": 0.9912,
                "duels_lost": 3,
                "aerial_lost": 0,
                "total_contest": 4,
                "won_contest": 2,
                "ball_recovery": 2,
                "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": 8,
                "total_progression": 144,
                "progressive_carries": 5,
                "opponent_faced": "Gabriel Suazo, Andrés Castrin",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.1676,
                "projected_assists": 0,
                "assist_probability": 0.1072,
                "fifa_overall": 68.0
              }
            }
          ]
        },
        "Marc Casadó": {
          "player_id": 1000483,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 6,
          "height": 172,
          "market_value": 17400000,
          "stats": {
            "key_pass": 1,
            "expected_assists": 0.0406,
            "assists": 0,
            "expected_goals": 0.0948,
            "rating": 6.81,
            "minutes": 25,
            "total_pass": 7,
            "accurate_pass": 6,
            "duels_won": 2,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_own_half_passes": 4,
            "accurate_own_half_passes": 3,
            "total_opp_half_passes": 3,
            "accurate_opp_half_passes": 3,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 12,
            "possession_lost": 1.0314,
            "dispossessed": 0.0,
            "duels_lost": 0,
            "aerial_won": 1,
            "aerial_lost": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "total_contest": 0,
            "won_contest": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 2,
            "goal_rate": 0.0,
            "goals": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "blocks": 1,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "ball_carries": 3,
            "total_progression": 5,
            "progressive_carries": 0,
            "total_shots": 1,
            "dribbles_attempted": 2,
            "dribbles_successful": 0.6,
            "crosses_attempted": 0.0,
            "duel_win_rate": 0.357,
            "pressing_faced": "LOW",
            "matchup_zone": "Holding Mid vs Central Mid — Midfield Anchor Duel",
            "numerical_situation": "1v1",
            "opponent_defenders": "Lucien Agoumé",
            "opponent_faced": "Lucien Agoumé",
            "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing",
            "projected_goals": 0,
            "goal_probability": 0.0297,
            "projected_assists": 0,
            "assist_probability": 0.1798,
            "fifa_overall": 78.0
          },
          "latest_10_games": [
            {
              "match_type": "played",
              "match_id": 16416326.0,
              "match_date": "2026-09-13 16:30:00 UTC",
              "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",
              "home_team": "Getafe",
              "away_team": "Deportivo",
              "home_score_current": 1.0,
              "away_score_current": 1.0,
              "team_side": "away",
              "status_code": 100.0,
              "status_type": "finished",
              "status_description": "Ended",
              "player_status": "starter",
              "is_starting_11": true,
              "team": "Deportivo",
              "opponent": "Getafe",
              "stats": {},
              "has_player_stats": false,
              "source": "depth_chart.csv"
            },
            {
              "match_id": 16416324.0,
              "match_date": "2026-09-05",
              "home_team": "Villarreal",
              "away_team": "Deportivo de A Coruña",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Deportivo de A Coruña",
              "opponent": "Villarreal",
              "stats": {
                "minutes": 24,
                "rating": 6.8,
                "assists": 0,
                "expected_assists": 0.0006,
                "total_shots": 0,
                "total_pass": 7,
                "accurate_pass": 6,
                "duels_won": 2,
                "ball_recovery": 1
              },
              "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": 2842,
            "combined_rank_score": 962.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 678.0,
            "sofascore_rating": 6.72,
            "sofascore_appearances": 6.0,
            "fifa_rank": 1246.0,
            "fifa_overall": 78.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 2,
            "squad_role": "starter",
            "projected_match_rating": 6.81,
            "source_file": "data/player_rankings.csv",
            "player_name": "Marc Casadó",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Shumaira Mheuka",
                  "ranking": 2837
                },
                {
                  "player_name": "Zaid Romero",
                  "ranking": 2838
                },
                {
                  "player_name": "Diego Carrasco",
                  "ranking": 2839
                },
                {
                  "player_name": "James Scanlon",
                  "ranking": 2840
                },
                {
                  "player_name": "Paulinho",
                  "ranking": 2841
                }
              ],
              "lower": [
                {
                  "player_name": "Maximilian Göppel",
                  "ranking": 2843
                },
                {
                  "player_name": "Yevgeniy Malashevich",
                  "ranking": 2844
                },
                {
                  "player_name": "Barrenetxea",
                  "ranking": 2845
                },
                {
                  "player_name": "Sergio Canales",
                  "ranking": 2846
                },
                {
                  "player_name": "Josip Šutalo",
                  "ranking": 2847
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.312,
          "history_matches": 1,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "M_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "keyPass",
              "expectedAssists",
              "totalCross",
              "accurateCross",
              "duelWon",
              "duelLost",
              "aerialWon",
              "ballRecovery",
              "touches",
              "interceptionWon",
              "wonTackle",
              "possessionLostCtrl",
              "dispossessed",
              "numberOfSprints",
              "kilometersCovered",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "creative_index",
              "touches_p90",
              "totalPass_p90",
              "keyPass_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "ballCarriesCount_p90",
              "creative_efficiency",
              "cross_accuracy",
              "cross_creative_contribution",
              "defensive_midfield_actions",
              "press_vulnerability",
              "progressive_carries_p90",
              "intensity_index",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "rating"
            ],
            "history_matches": 1,
            "data_confidence": 0.312,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "market_value_adjustment": 1.0314,
            "fbref_prior_metrics": null,
            "rationale": "XGBoost regressor (M_service) evaluated 1 historical appearances across 5 target models."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 5 target models",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0393,
                "assists": 0,
                "expected_goals": 0.0487,
                "rating": 6.6026,
                "minutes": 24,
                "total_pass": 7,
                "accurate_pass": 6,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 4,
                "accurate_own_half_passes": 3,
                "total_opp_half_passes": 3,
                "accurate_opp_half_passes": 3,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 12,
                "possession_lost": 1.0,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 3,
                "total_progression": 4,
                "progressive_carries": 0
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 3,
                  "trained_at": "2026-09-15T10:01:48.236605+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 461,
                    "rows": 1422
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-05",
                    "opponent": "Villarreal",
                    "minutes": 24.0,
                    "is_starting": false,
                    "weight": 1.0,
                    "rating": 6.8
                  }
                ],
                "feature_row": {
                  "history_matches": 1.0,
                  "is_starting_11": 1.0,
                  "ballRecovery_p90": 3.75,
                  "ballRecovery": 1.0,
                  "intensity_index": 0.0,
                  "expectedAssists": 0.0006,
                  "kilometersCovered": 0.0
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 0.9228206872940063,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0551
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0489
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0393
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.035
                      },
                      {
                        "name": "accurateCross",
                        "importance": 0.0319
                      }
                    ]
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.03934692218899727,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "cross_creative_contribution",
                        "importance": 0.0714
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0375
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0361
                      },
                      {
                        "name": "accurateCross",
                        "importance": 0.0356
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.0345
                      }
                    ]
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.06724019348621368,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0442
                      },
                      {
                        "name": "keyPass_p90",
                        "importance": 0.0378
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0368
                      },
                      {
                        "name": "cross_accuracy",
                        "importance": 0.036
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0315
                      }
                    ]
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.048674874007701874,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.077
                      },
                      {
                        "name": "intensity_index",
                        "importance": 0.0622
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0454
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0399
                      },
                      {
                        "name": "numberOfSprints",
                        "importance": 0.0384
                      }
                    ]
                  },
                  {
                    "target": "rating",
                    "predicted": 6.602550506591797,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "ballRecovery_p90",
                        "importance": 0.0847
                      },
                      {
                        "name": "ballRecovery",
                        "importance": 0.0836
                      },
                      {
                        "name": "kilometersCovered",
                        "importance": 0.0597
                      },
                      {
                        "name": "defensive_midfield_actions",
                        "importance": 0.05
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0441
                      }
                    ]
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0314, quality 0.605)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0406,
                "assists": 0,
                "expected_goals": 0.0502,
                "rating": 6.81,
                "minutes": 25,
                "total_pass": 7,
                "accurate_pass": 6,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 4,
                "accurate_own_half_passes": 3,
                "total_opp_half_passes": 3,
                "accurate_opp_half_passes": 3,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 12,
                "possession_lost": 1.0314,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 3,
                "total_progression": 5,
                "progressive_carries": 0
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0406,
                "assists": 0,
                "expected_goals": 0.0502,
                "rating": 6.81,
                "minutes": 25,
                "total_pass": 7,
                "accurate_pass": 6,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 4,
                "accurate_own_half_passes": 3,
                "total_opp_half_passes": 3,
                "accurate_opp_half_passes": 3,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 12,
                "possession_lost": 1.0314,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 3,
                "total_progression": 5,
                "progressive_carries": 0
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0406,
                "assists": 0,
                "expected_goals": 0.0502,
                "rating": 6.81,
                "minutes": 25,
                "total_pass": 7,
                "accurate_pass": 6,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 4,
                "accurate_own_half_passes": 3,
                "total_opp_half_passes": 3,
                "accurate_opp_half_passes": 3,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 12,
                "possession_lost": 1.0314,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 3,
                "total_progression": 5,
                "progressive_carries": 0,
                "total_shots": 1,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.6,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.357,
                "pressing_faced": "LOW",
                "matchup_zone": "Holding Mid vs Central Mid — Midfield Anchor Duel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Lucien Agoumé",
                "opponent_faced": "Lucien Agoumé",
                "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.36 (squad xG sum 0.7214, xG scale 1.8894)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0406,
                "assists": 0,
                "expected_goals": 0.0948,
                "rating": 6.81,
                "minutes": 25,
                "total_pass": 7,
                "accurate_pass": 6,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 4,
                "accurate_own_half_passes": 3,
                "total_opp_half_passes": 3,
                "accurate_opp_half_passes": 3,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 12,
                "possession_lost": 1.0314,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 3,
                "total_progression": 5,
                "progressive_carries": 0,
                "total_shots": 1,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.6,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.357,
                "pressing_faced": "LOW",
                "matchup_zone": "Holding Mid vs Central Mid — Midfield Anchor Duel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Lucien Agoumé",
                "opponent_faced": "Lucien Agoumé",
                "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 2, fifa_overall 78.0)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0406,
                "assists": 0,
                "expected_goals": 0.0948,
                "rating": 6.81,
                "minutes": 25,
                "total_pass": 7,
                "accurate_pass": 6,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 4,
                "accurate_own_half_passes": 3,
                "total_opp_half_passes": 3,
                "accurate_opp_half_passes": 3,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 12,
                "possession_lost": 1.0314,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 3,
                "total_progression": 5,
                "progressive_carries": 0,
                "total_shots": 1,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.6,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.357,
                "pressing_faced": "LOW",
                "matchup_zone": "Holding Mid vs Central Mid — Midfield Anchor Duel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Lucien Agoumé",
                "opponent_faced": "Lucien Agoumé",
                "antagonist_source": "attacking_duel, defensive_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: 1 projected goals distributed by scorer weight",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0406,
                "assists": 0,
                "expected_goals": 0.0948,
                "rating": 6.81,
                "minutes": 25,
                "total_pass": 7,
                "accurate_pass": 6,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 4,
                "accurate_own_half_passes": 3,
                "total_opp_half_passes": 3,
                "accurate_opp_half_passes": 3,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 12,
                "possession_lost": 1.0314,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 3,
                "total_progression": 5,
                "progressive_carries": 0,
                "total_shots": 1,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.6,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.357,
                "pressing_faced": "LOW",
                "matchup_zone": "Holding Mid vs Central Mid — Midfield Anchor Duel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Lucien Agoumé",
                "opponent_faced": "Lucien Agoumé",
                "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0297,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 78.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0406,
                "assists": 0,
                "expected_goals": 0.0948,
                "rating": 6.81,
                "minutes": 25,
                "total_pass": 7,
                "accurate_pass": 6,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 4,
                "accurate_own_half_passes": 3,
                "total_opp_half_passes": 3,
                "accurate_opp_half_passes": 3,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 12,
                "possession_lost": 1.0314,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 2,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 1,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 3,
                "total_progression": 5,
                "progressive_carries": 0,
                "total_shots": 1,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.6,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.357,
                "pressing_faced": "LOW",
                "matchup_zone": "Holding Mid vs Central Mid — Midfield Anchor Duel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Lucien Agoumé",
                "opponent_faced": "Lucien Agoumé",
                "antagonist_source": "attacking_duel, defensive_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0297,
                "projected_assists": 0,
                "assist_probability": 0.1798,
                "fifa_overall": 78.0
              }
            }
          ]
        },
        "Lorenzo Amatucci": {
          "player_id": 1100207,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 16,
          "height": 172,
          "market_value": 8199999,
          "stats": {
            "key_pass": 1,
            "expected_assists": 0.0607,
            "assists": 1,
            "expected_goals": 0.058,
            "rating": 6.8406,
            "minutes": 90,
            "total_pass": 54,
            "accurate_pass": 49,
            "duels_won": 5,
            "total_long_balls": 4,
            "accurate_long_balls": 3,
            "total_own_half_passes": 30,
            "accurate_own_half_passes": 28,
            "total_opp_half_passes": 25,
            "accurate_opp_half_passes": 21,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 71,
            "possession_lost": 7.7525,
            "dispossessed": 0.0,
            "duels_lost": 6,
            "aerial_won": 0,
            "aerial_lost": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 3,
            "clearances": 4,
            "total_contest": 0,
            "won_contest": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "ball_carries": 25,
            "total_progression": 87,
            "progressive_carries": 1,
            "total_shots": 0,
            "offsides": 0,
            "yellowCards": 0.3333,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "minutesPct": 100.0,
            "pointsPerMatch": 1.67,
            "netGoalDifferencePer90": 0.67,
            "opponent_faced": "Miguel Sierra",
            "matchup_zone": "Midfield lane",
            "antagonist_source": "midfield_pairing",
            "projected_goals": 0,
            "goal_probability": 0.0173,
            "projected_assists": 1,
            "assist_probability": 0.2034,
            "fifa_overall": 73.0
          },
          "latest_10_games": [
            {
              "match_type": "played",
              "match_id": 16416326.0,
              "match_date": "2026-09-13 16:30:00 UTC",
              "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",
              "home_team": "Getafe",
              "away_team": "Deportivo",
              "home_score_current": 1.0,
              "away_score_current": 1.0,
              "team_side": "away",
              "status_code": 100.0,
              "status_type": "finished",
              "status_description": "Ended",
              "player_status": "starter",
              "is_starting_11": true,
              "team": "Deportivo",
              "opponent": "Getafe",
              "stats": {},
              "has_player_stats": false,
              "source": "depth_chart.csv"
            },
            {
              "match_id": 16416324.0,
              "match_date": "2026-09-05",
              "home_team": "Villarreal",
              "away_team": "Deportivo de A Coruña",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo de A Coruña",
              "opponent": "Villarreal",
              "stats": {
                "minutes": 90,
                "rating": 6.9,
                "assists": 0,
                "expected_assists": 0.0398,
                "total_shots": 0,
                "total_pass": 45,
                "accurate_pass": 43,
                "key_pass": 2,
                "tackles": 5,
                "interceptions": 3,
                "clearances": 5,
                "aerial_won": 1,
                "duels_won": 6,
                "ball_recovery": 5
              },
              "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": 16416291.0,
              "match_date": "2026-08-30",
              "home_team": "Deportivo de A Coruña",
              "away_team": "Valencia",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo de A Coruña",
              "opponent": "Valencia",
              "stats": {
                "minutes": 90,
                "rating": 7.3,
                "assists": 0,
                "expected_assists": 0.017,
                "total_shots": 0,
                "total_pass": 52,
                "accurate_pass": 45,
                "tackles": 4,
                "tackles_won": 3,
                "interceptions": 2,
                "clearances": 7,
                "aerial_won": 4,
                "duels_won": 9,
                "ball_recovery": 2
              },
              "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": 16416307.0,
              "match_date": "2026-08-24",
              "home_team": "Málaga CF",
              "away_team": "Deportivo de A Coruña",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo de A Coruña",
              "opponent": "Málaga CF",
              "stats": {
                "minutes": 90,
                "rating": 7.0,
                "assists": 0,
                "expected_assists": 0.0125,
                "total_shots": 0,
                "total_pass": 57,
                "accurate_pass": 55,
                "tackles": 3,
                "tackles_won": 2,
                "interceptions": 1,
                "clearances": 2,
                "duels_won": 3,
                "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": "home",
              "is_starting_11": 1,
              "team": "Deportivo de A Coruña",
              "opponent": "Elche",
              "stats": {
                "minutes": 90,
                "rating": 7.0,
                "assists": 1,
                "expected_assists": 0.0256,
                "total_shots": 0,
                "total_pass": 62,
                "accurate_pass": 54,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 3,
                "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"
            }
          ],
          "ranking": {
            "global_player_rank": 3910,
            "combined_rank_score": 1893.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 257.0,
            "sofascore_rating": 7.1,
            "sofascore_appearances": 3.0,
            "fifa_rank": 3530.0,
            "fifa_overall": 73.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 4,
            "squad_role": "starter",
            "projected_match_rating": 6.8406,
            "source_file": "data/player_rankings.csv",
            "player_name": "Lorenzo Amatucci",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Simon Sohm",
                  "ranking": 3905
                },
                {
                  "player_name": "Arkadiusz Milik",
                  "ranking": 3906
                },
                {
                  "player_name": "Pietro Terracciano",
                  "ranking": 3907
                },
                {
                  "player_name": "Hugo Rodallega",
                  "ranking": 3908
                },
                {
                  "player_name": "Marc-Oliver Kempf",
                  "ranking": 3909
                }
              ],
              "lower": [
                {
                  "player_name": "Juan Iturbe",
                  "ranking": 3911
                },
                {
                  "player_name": "Adrià Pedrosa",
                  "ranking": 3912
                },
                {
                  "player_name": "Pedraza",
                  "ranking": 3913
                },
                {
                  "player_name": "Erick Sánchez",
                  "ranking": 3914
                },
                {
                  "player_name": "Keinan Davis",
                  "ranking": 3915
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.53,
          "history_matches": 4,
          "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": 4,
            "data_confidence": 0.53,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.0003,
            "fbref_prior_metrics": {
              "squad": "Dep. A Coruña",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 3.0,
              "starts": 3.0,
              "minutes": 270.0,
              "goals_per90": 0.0,
              "assists_per90": 0.3333333333333333,
              "shots_per90": 0.0,
              "prior_reliability": 0.2
            },
            "rationale": "XGBoost regressor (M_service) evaluated 4 historical appearances across 5 target models; FBref 2026-2027 prior blended (La Liga, Dep. A Coruña, rel: 0.20, gls/90: 0.0, ast/90: 0.3333333333333333)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 5 target models",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0607,
                "assists": 0,
                "expected_goals": 0.0307,
                "rating": 6.8384,
                "minutes": 90,
                "total_pass": 54,
                "accurate_pass": 49,
                "duels_won": 5,
                "total_long_balls": 4,
                "accurate_long_balls": 3,
                "total_own_half_passes": 30,
                "accurate_own_half_passes": 28,
                "total_opp_half_passes": 24,
                "accurate_opp_half_passes": 21,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 70,
                "possession_lost": 7.75,
                "dispossessed": 0.0,
                "duels_lost": 6,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 3,
                "clearances": 4,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 24,
                "total_progression": 87,
                "progressive_carries": 0
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 3,
                  "trained_at": "2026-09-15T10:01:48.236605+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 461,
                    "rows": 1422
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-05",
                    "opponent": "Villarreal",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.3138,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-08-30",
                    "opponent": "Valencia",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.2667,
                    "rating": 7.3
                  },
                  {
                    "match_date": "2026-08-24",
                    "opponent": "Málaga CF",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.2267,
                    "rating": 7.0
                  },
                  {
                    "match_date": "2026-08-17",
                    "opponent": "Elche",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1927,
                    "rating": 7.0
                  }
                ],
                "feature_row": {
                  "history_matches": 4.0,
                  "is_starting_11": 1.0,
                  "ballRecovery_p90": 3.7803,
                  "ballRecovery": 3.7803,
                  "intensity_index": 4.0519,
                  "expectedAssists": 0.0248,
                  "kilometersCovered": 7.7702
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 0.8762134909629822,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0551
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0489
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0393
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.035
                      },
                      {
                        "name": "accurateCross",
                        "importance": 0.0319
                      }
                    ]
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.06066427379846573,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "cross_creative_contribution",
                        "importance": 0.0714
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0375
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0361
                      },
                      {
                        "name": "accurateCross",
                        "importance": 0.0356
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.0345
                      }
                    ]
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.0792243629693985,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0442
                      },
                      {
                        "name": "keyPass_p90",
                        "importance": 0.0378
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0368
                      },
                      {
                        "name": "cross_accuracy",
                        "importance": 0.036
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0315
                      }
                    ]
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.030707482248544693,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.077
                      },
                      {
                        "name": "intensity_index",
                        "importance": 0.0622
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0454
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0399
                      },
                      {
                        "name": "numberOfSprints",
                        "importance": 0.0384
                      }
                    ]
                  },
                  {
                    "target": "rating",
                    "predicted": 6.838407039642334,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "ballRecovery_p90",
                        "importance": 0.0847
                      },
                      {
                        "name": "ballRecovery",
                        "importance": 0.0836
                      },
                      {
                        "name": "kilometersCovered",
                        "importance": 0.0597
                      },
                      {
                        "name": "defensive_midfield_actions",
                        "importance": 0.05
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0441
                      }
                    ]
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0003, quality 0.501)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0607,
                "assists": 0,
                "expected_goals": 0.0307,
                "rating": 6.8406,
                "minutes": 90,
                "total_pass": 54,
                "accurate_pass": 49,
                "duels_won": 5,
                "total_long_balls": 4,
                "accurate_long_balls": 3,
                "total_own_half_passes": 30,
                "accurate_own_half_passes": 28,
                "total_opp_half_passes": 25,
                "accurate_opp_half_passes": 21,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 71,
                "possession_lost": 7.7525,
                "dispossessed": 0.0,
                "duels_lost": 6,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 3,
                "clearances": 4,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 25,
                "total_progression": 87,
                "progressive_carries": 1
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0722)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0607,
                "assists": 0,
                "expected_goals": 0.0307,
                "rating": 6.8406,
                "minutes": 90,
                "total_pass": 54,
                "accurate_pass": 49,
                "duels_won": 5,
                "total_long_balls": 4,
                "accurate_long_balls": 3,
                "total_own_half_passes": 30,
                "accurate_own_half_passes": 28,
                "total_opp_half_passes": 25,
                "accurate_opp_half_passes": 21,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 71,
                "possession_lost": 7.7525,
                "dispossessed": 0.0,
                "duels_lost": 6,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 3,
                "clearances": 4,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 25,
                "total_progression": 87,
                "progressive_carries": 1,
                "total_shots": 0,
                "offsides": 0,
                "yellowCards": 0.3333,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.67,
                "netGoalDifferencePer90": 0.67
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0607,
                "assists": 0,
                "expected_goals": 0.0307,
                "rating": 6.8406,
                "minutes": 90,
                "total_pass": 54,
                "accurate_pass": 49,
                "duels_won": 5,
                "total_long_balls": 4,
                "accurate_long_balls": 3,
                "total_own_half_passes": 30,
                "accurate_own_half_passes": 28,
                "total_opp_half_passes": 25,
                "accurate_opp_half_passes": 21,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 71,
                "possession_lost": 7.7525,
                "dispossessed": 0.0,
                "duels_lost": 6,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 3,
                "clearances": 4,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 25,
                "total_progression": 87,
                "progressive_carries": 1,
                "total_shots": 0,
                "offsides": 0,
                "yellowCards": 0.3333,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.67,
                "netGoalDifferencePer90": 0.67
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0607,
                "assists": 0,
                "expected_goals": 0.0307,
                "rating": 6.8406,
                "minutes": 90,
                "total_pass": 54,
                "accurate_pass": 49,
                "duels_won": 5,
                "total_long_balls": 4,
                "accurate_long_balls": 3,
                "total_own_half_passes": 30,
                "accurate_own_half_passes": 28,
                "total_opp_half_passes": 25,
                "accurate_opp_half_passes": 21,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 71,
                "possession_lost": 7.7525,
                "dispossessed": 0.0,
                "duels_lost": 6,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 3,
                "clearances": 4,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 25,
                "total_progression": 87,
                "progressive_carries": 1,
                "total_shots": 0,
                "offsides": 0,
                "yellowCards": 0.3333,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.67,
                "netGoalDifferencePer90": 0.67,
                "opponent_faced": "Miguel Sierra",
                "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 1.36 (squad xG sum 0.7214, xG scale 1.8894)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0607,
                "assists": 0,
                "expected_goals": 0.058,
                "rating": 6.8406,
                "minutes": 90,
                "total_pass": 54,
                "accurate_pass": 49,
                "duels_won": 5,
                "total_long_balls": 4,
                "accurate_long_balls": 3,
                "total_own_half_passes": 30,
                "accurate_own_half_passes": 28,
                "total_opp_half_passes": 25,
                "accurate_opp_half_passes": 21,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 71,
                "possession_lost": 7.7525,
                "dispossessed": 0.0,
                "duels_lost": 6,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 3,
                "clearances": 4,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 25,
                "total_progression": 87,
                "progressive_carries": 1,
                "total_shots": 0,
                "offsides": 0,
                "yellowCards": 0.3333,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.67,
                "netGoalDifferencePer90": 0.67,
                "opponent_faced": "Miguel Sierra",
                "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 4, fifa_overall 73.0)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0607,
                "assists": 0,
                "expected_goals": 0.058,
                "rating": 6.8406,
                "minutes": 90,
                "total_pass": 54,
                "accurate_pass": 49,
                "duels_won": 5,
                "total_long_balls": 4,
                "accurate_long_balls": 3,
                "total_own_half_passes": 30,
                "accurate_own_half_passes": 28,
                "total_opp_half_passes": 25,
                "accurate_opp_half_passes": 21,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 71,
                "possession_lost": 7.7525,
                "dispossessed": 0.0,
                "duels_lost": 6,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 3,
                "clearances": 4,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 25,
                "total_progression": 87,
                "progressive_carries": 1,
                "total_shots": 0,
                "offsides": 0,
                "yellowCards": 0.3333,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.67,
                "netGoalDifferencePer90": 0.67,
                "opponent_faced": "Miguel Sierra",
                "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: 1 projected goals distributed by scorer weight",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0607,
                "assists": 0,
                "expected_goals": 0.058,
                "rating": 6.8406,
                "minutes": 90,
                "total_pass": 54,
                "accurate_pass": 49,
                "duels_won": 5,
                "total_long_balls": 4,
                "accurate_long_balls": 3,
                "total_own_half_passes": 30,
                "accurate_own_half_passes": 28,
                "total_opp_half_passes": 25,
                "accurate_opp_half_passes": 21,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 71,
                "possession_lost": 7.7525,
                "dispossessed": 0.0,
                "duels_lost": 6,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 3,
                "clearances": 4,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 25,
                "total_progression": 87,
                "progressive_carries": 1,
                "total_shots": 0,
                "offsides": 0,
                "yellowCards": 0.3333,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.67,
                "netGoalDifferencePer90": 0.67,
                "opponent_faced": "Miguel Sierra",
                "matchup_zone": "Midfield lane",
                "antagonist_source": "midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0173,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 73.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0607,
                "assists": 1,
                "expected_goals": 0.058,
                "rating": 6.8406,
                "minutes": 90,
                "total_pass": 54,
                "accurate_pass": 49,
                "duels_won": 5,
                "total_long_balls": 4,
                "accurate_long_balls": 3,
                "total_own_half_passes": 30,
                "accurate_own_half_passes": 28,
                "total_opp_half_passes": 25,
                "accurate_opp_half_passes": 21,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 71,
                "possession_lost": 7.7525,
                "dispossessed": 0.0,
                "duels_lost": 6,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 3,
                "clearances": 4,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 25,
                "total_progression": 87,
                "progressive_carries": 1,
                "total_shots": 0,
                "offsides": 0,
                "yellowCards": 0.3333,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.67,
                "netGoalDifferencePer90": 0.67,
                "opponent_faced": "Miguel Sierra",
                "matchup_zone": "Midfield lane",
                "antagonist_source": "midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0173,
                "projected_assists": 1,
                "assist_probability": 0.2034,
                "fifa_overall": 73.0
              }
            }
          ]
        },
        "Giacomo Quagliata": {
          "player_id": 973300,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 12,
          "height": 177,
          "market_value": 2100000,
          "stats": {
            "interceptions": 1,
            "tackles": 2,
            "tackles_won": 1,
            "clearances": 3,
            "aerial_won": 1,
            "rating": 6.4902,
            "minutes": 88,
            "total_pass": 31,
            "accurate_pass": 25,
            "duels_won": 3,
            "total_long_balls": 4,
            "accurate_long_balls": 0,
            "total_own_half_passes": 13,
            "accurate_own_half_passes": 11,
            "total_opp_half_passes": 18,
            "accurate_opp_half_passes": 14,
            "crosses_total": 2,
            "crosses_accurate": 0,
            "touches": 54,
            "possession_lost": 13.0013,
            "dispossessed": 0.0,
            "duels_lost": 5,
            "aerial_lost": 0,
            "total_contest": 2,
            "won_contest": 0,
            "ball_recovery": 4,
            "challenges_lost": 0,
            "fouls": 1,
            "fouls_drawn": 0,
            "blocks": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.0,
            "expected_assists": 0.1276,
            "total_shots": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0,
            "ball_carries": 11,
            "total_progression": 56,
            "progressive_carries": 1,
            "key_pass": 0,
            "offsides": 0,
            "yellowCards": 0.3333,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "minutesPct": 100.0,
            "pointsPerMatch": 1.67,
            "netGoalDifferencePer90": 0.67,
            "tackles_in_zone": 1.9,
            "tackles_won_in_zone": 1.6,
            "interceptions_in_zone": 0.7,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 1.1,
            "defensive_success_rate": 0.534,
            "opponent_faced": "Giorgi Kochorashvili",
            "pressing_zone": "Right Mid vs Left Back — Wide Channel",
            "matchup_zone": "Right Mid vs Left Back — Wide Channel",
            "antagonist_source": "defensive_duel",
            "projected_goals": 0,
            "goal_probability": 0.0092,
            "projected_assists": 0,
            "assist_probability": 0.0427,
            "fifa_overall": 73.0
          },
          "latest_10_games": [
            {
              "match_type": "played",
              "match_id": 16416326.0,
              "match_date": "2026-09-13 16:30:00 UTC",
              "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",
              "home_team": "Getafe",
              "away_team": "Deportivo",
              "home_score_current": 1.0,
              "away_score_current": 1.0,
              "team_side": "away",
              "status_code": 100.0,
              "status_type": "finished",
              "status_description": "Ended",
              "player_status": "starter",
              "is_starting_11": true,
              "team": "Deportivo",
              "opponent": "Getafe",
              "stats": {},
              "has_player_stats": false,
              "source": "depth_chart.csv"
            },
            {
              "match_id": 16416324.0,
              "match_date": "2026-09-05",
              "home_team": "Villarreal",
              "away_team": "Deportivo de A Coruña",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo de A Coruña",
              "opponent": "Villarreal",
              "stats": {
                "minutes": 90,
                "rating": 6.3,
                "assists": 0,
                "expected_goals": 0.0156,
                "expected_assists": 0.0537,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 32,
                "accurate_pass": 26,
                "interceptions": 3,
                "clearances": 4,
                "duels_won": 2,
                "ball_recovery": 5
              },
              "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": 16416291.0,
              "match_date": "2026-08-30",
              "home_team": "Deportivo de A Coruña",
              "away_team": "Valencia",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo de A Coruña",
              "opponent": "Valencia",
              "stats": {
                "minutes": 90,
                "rating": 7.0,
                "assists": 0,
                "expected_assists": 0.4268,
                "total_shots": 0,
                "total_pass": 36,
                "accurate_pass": 28,
                "key_pass": 2,
                "tackles": 1,
                "interceptions": 2,
                "clearances": 1,
                "duels_won": 2,
                "ball_recovery": 5
              },
              "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": 16416307.0,
              "match_date": "2026-08-24",
              "home_team": "Málaga CF",
              "away_team": "Deportivo de A Coruña",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo de A Coruña",
              "opponent": "Málaga CF",
              "stats": {
                "minutes": 90,
                "rating": 6.1,
                "assists": 0,
                "expected_assists": 0.0078,
                "total_shots": 0,
                "total_pass": 29,
                "accurate_pass": 25,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 6,
                "ball_recovery": 5
              },
              "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": "home",
              "is_starting_11": 1,
              "team": "Deportivo de A Coruña",
              "opponent": "Elche",
              "stats": {
                "minutes": 90,
                "rating": 6.4,
                "assists": 0,
                "expected_assists": 0.049,
                "total_shots": 0,
                "total_pass": 30,
                "accurate_pass": 24,
                "key_pass": 1,
                "clearances": 2,
                "duels_won": 2,
                "ball_recovery": 2
              },
              "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": 4186,
            "combined_rank_score": 2213.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 915.0,
            "sofascore_rating": 6.5,
            "sofascore_appearances": 3.0,
            "fifa_rank": 3511.0,
            "fifa_overall": 73.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 14,
            "squad_role": "starter",
            "projected_match_rating": 6.4902,
            "source_file": "data/player_rankings.csv",
            "player_name": "Giacomo Quagliata",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Ștefan Baiaram",
                  "ranking": 4181
                },
                {
                  "player_name": "Ricardo Mangas",
                  "ranking": 4182
                },
                {
                  "player_name": "Brian Aguirre",
                  "ranking": 4183
                },
                {
                  "player_name": "Christian Fassnacht",
                  "ranking": 4184
                },
                {
                  "player_name": "Aliou Dieng",
                  "ranking": 4185
                }
              ],
              "lower": [
                {
                  "player_name": "Abdul Fatawu",
                  "ranking": 4187
                },
                {
                  "player_name": "Adama Boiro",
                  "ranking": 4188
                },
                {
                  "player_name": "Radek Vítek",
                  "ranking": 4189
                },
                {
                  "player_name": "Gonzalo",
                  "ranking": 4190
                },
                {
                  "player_name": "José Sosa",
                  "ranking": 4191
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.53,
          "history_matches": 4,
          "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": 4,
            "data_confidence": 0.53,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 0.9812,
            "fbref_prior_metrics": {
              "squad": "Dep. A Coruña",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 3.0,
              "starts": 3.0,
              "minutes": 270.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 0.0,
              "prior_reliability": 0.2
            },
            "rationale": "XGBoost regressor (D_service) evaluated 4 historical appearances across 6 target models; FBref 2026-2027 prior blended (La Liga, Dep. A Coruña, rel: 0.20, 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": 3,
                "aerial_won": 1,
                "rating": 6.6144,
                "minutes": 90,
                "total_pass": 32,
                "accurate_pass": 26,
                "duels_won": 3,
                "total_long_balls": 4,
                "accurate_long_balls": 0,
                "total_own_half_passes": 13,
                "accurate_own_half_passes": 11,
                "total_opp_half_passes": 19,
                "accurate_opp_half_passes": 14,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 55,
                "possession_lost": 13.25,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_lost": 0,
                "total_contest": 2,
                "won_contest": 0,
                "ball_recovery": 4,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.13,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 11,
                "total_progression": 57,
                "progressive_carries": 1,
                "key_pass": 0
              },
              "trace": {
                "model": {
                  "position_service": "D",
                  "schema_version": 3,
                  "trained_at": "2026-09-15T10:01:44.724055+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 374,
                    "rows": 1289
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-05",
                    "opponent": "Villarreal",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.3138,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-08-30",
                    "opponent": "Valencia",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.2667,
                    "rating": 7.0
                  },
                  {
                    "match_date": "2026-08-24",
                    "opponent": "Málaga CF",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.2267,
                    "rating": 6.1
                  },
                  {
                    "match_date": "2026-08-17",
                    "opponent": "Elche",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1927,
                    "rating": 6.4
                  }
                ],
                "feature_row": {
                  "history_matches": 4.0,
                  "is_starting_11": 1.0,
                  "accuratePass": 25.9213,
                  "touches_p90": 54.0807,
                  "possessionLostCtrl": 12.9304,
                  "totalClearance": 2.1342,
                  "aerialWon": 0.2267
                },
                "per_target": [
                  {
                    "target": "interceptionWon",
                    "predicted": 0.9154549241065979,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0944
                      },
                      {
                        "name": "duel_win_rate",
                        "importance": 0.0353
                      },
                      {
                        "name": "duelWon_p90",
                        "importance": 0.0341
                      },
                      {
                        "name": "interceptionWon_p90",
                        "importance": 0.0326
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0322
                      }
                    ]
                  },
                  {
                    "target": "totalTackle",
                    "predicted": 1.5622317790985107,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "history_matches",
                        "importance": 0.0588
                      },
                      {
                        "name": "duelLost",
                        "importance": 0.0461
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0446
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0406
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0401
                      }
                    ]
                  },
                  {
                    "target": "wonTackle",
                    "predicted": 1.1376231908798218,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "history_matches",
                        "importance": 0.0565
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0432
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0353
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0347
                      },
                      {
                        "name": "wonTackle",
                        "importance": 0.0329
                      }
                    ]
                  },
                  {
                    "target": "totalClearance",
                    "predicted": 3.0422396659851074,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.11
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0506
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.0425
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0417
                      },
                      {
                        "name": "tackle_success_rate",
                        "importance": 0.0343
                      }
                    ]
                  },
                  {
                    "target": "aerialWon",
                    "predicted": 0.9782886505126953,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0798
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0597
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0439
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0426
                      },
                      {
                        "name": "errorLeadToAShot",
                        "importance": 0.0411
                      }
                    ]
                  },
                  {
                    "target": "rating",
                    "predicted": 6.614396095275879,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "touches_p90",
                        "importance": 0.0708
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0705
                      },
                      {
                        "name": "totalLongBalls",
                        "importance": 0.0537
                      },
                      {
                        "name": "pass_accuracy",
                        "importance": 0.0518
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0478
                      }
                    ]
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9812, quality 0.437)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "rating": 6.4902,
                "minutes": 88,
                "total_pass": 31,
                "accurate_pass": 25,
                "duels_won": 3,
                "total_long_balls": 4,
                "accurate_long_balls": 0,
                "total_own_half_passes": 13,
                "accurate_own_half_passes": 11,
                "total_opp_half_passes": 18,
                "accurate_opp_half_passes": 14,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 54,
                "possession_lost": 13.0013,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_lost": 0,
                "total_contest": 2,
                "won_contest": 0,
                "ball_recovery": 4,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.1276,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 11,
                "total_progression": 56,
                "progressive_carries": 1,
                "key_pass": 0
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0722)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "rating": 6.4902,
                "minutes": 88,
                "total_pass": 31,
                "accurate_pass": 25,
                "duels_won": 3,
                "total_long_balls": 4,
                "accurate_long_balls": 0,
                "total_own_half_passes": 13,
                "accurate_own_half_passes": 11,
                "total_opp_half_passes": 18,
                "accurate_opp_half_passes": 14,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 54,
                "possession_lost": 13.0013,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_lost": 0,
                "total_contest": 2,
                "won_contest": 0,
                "ball_recovery": 4,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.1276,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 11,
                "total_progression": 56,
                "progressive_carries": 1,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.3333,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.67,
                "netGoalDifferencePer90": 0.67
              }
            },
            {
              "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": 6.4902,
                "minutes": 88,
                "total_pass": 31,
                "accurate_pass": 25,
                "duels_won": 3,
                "total_long_balls": 4,
                "accurate_long_balls": 0,
                "total_own_half_passes": 13,
                "accurate_own_half_passes": 11,
                "total_opp_half_passes": 18,
                "accurate_opp_half_passes": 14,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 54,
                "possession_lost": 13.0013,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_lost": 0,
                "total_contest": 2,
                "won_contest": 0,
                "ball_recovery": 4,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.1276,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 11,
                "total_progression": 56,
                "progressive_carries": 1,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.3333,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.67,
                "netGoalDifferencePer90": 0.67
              }
            },
            {
              "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": 6.4902,
                "minutes": 88,
                "total_pass": 31,
                "accurate_pass": 25,
                "duels_won": 3,
                "total_long_balls": 4,
                "accurate_long_balls": 0,
                "total_own_half_passes": 13,
                "accurate_own_half_passes": 11,
                "total_opp_half_passes": 18,
                "accurate_opp_half_passes": 14,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 54,
                "possession_lost": 13.0013,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_lost": 0,
                "total_contest": 2,
                "won_contest": 0,
                "ball_recovery": 4,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.1276,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 11,
                "total_progression": 56,
                "progressive_carries": 1,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.3333,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.67,
                "netGoalDifferencePer90": 0.67,
                "tackles_in_zone": 1.9,
                "tackles_won_in_zone": 1.6,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.5,
                "aerial_duels_won": 1.1,
                "defensive_success_rate": 0.534,
                "opponent_faced": "Giorgi Kochorashvili",
                "pressing_zone": "Right Mid vs Left Back — Wide Channel",
                "matchup_zone": "Right Mid vs Left Back — Wide Channel",
                "antagonist_source": "defensive_duel"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.36 (squad xG sum 0.7214, xG scale 1.8894)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "rating": 6.4902,
                "minutes": 88,
                "total_pass": 31,
                "accurate_pass": 25,
                "duels_won": 3,
                "total_long_balls": 4,
                "accurate_long_balls": 0,
                "total_own_half_passes": 13,
                "accurate_own_half_passes": 11,
                "total_opp_half_passes": 18,
                "accurate_opp_half_passes": 14,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 54,
                "possession_lost": 13.0013,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_lost": 0,
                "total_contest": 2,
                "won_contest": 0,
                "ball_recovery": 4,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.1276,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 11,
                "total_progression": 56,
                "progressive_carries": 1,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.3333,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.67,
                "netGoalDifferencePer90": 0.67,
                "tackles_in_zone": 1.9,
                "tackles_won_in_zone": 1.6,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.5,
                "aerial_duels_won": 1.1,
                "defensive_success_rate": 0.534,
                "opponent_faced": "Giorgi Kochorashvili",
                "pressing_zone": "Right Mid vs Left Back — Wide Channel",
                "matchup_zone": "Right Mid vs Left Back — Wide Channel",
                "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 14, fifa_overall 73.0)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "rating": 6.4902,
                "minutes": 88,
                "total_pass": 31,
                "accurate_pass": 25,
                "duels_won": 3,
                "total_long_balls": 4,
                "accurate_long_balls": 0,
                "total_own_half_passes": 13,
                "accurate_own_half_passes": 11,
                "total_opp_half_passes": 18,
                "accurate_opp_half_passes": 14,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 54,
                "possession_lost": 13.0013,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_lost": 0,
                "total_contest": 2,
                "won_contest": 0,
                "ball_recovery": 4,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.1276,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 11,
                "total_progression": 56,
                "progressive_carries": 1,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.3333,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.67,
                "netGoalDifferencePer90": 0.67,
                "tackles_in_zone": 1.9,
                "tackles_won_in_zone": 1.6,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.5,
                "aerial_duels_won": 1.1,
                "defensive_success_rate": 0.534,
                "opponent_faced": "Giorgi Kochorashvili",
                "pressing_zone": "Right Mid vs Left Back — Wide Channel",
                "matchup_zone": "Right Mid vs Left Back — Wide Channel",
                "antagonist_source": "defensive_duel",
                "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: 1 projected goals distributed by scorer weight",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "rating": 6.4902,
                "minutes": 88,
                "total_pass": 31,
                "accurate_pass": 25,
                "duels_won": 3,
                "total_long_balls": 4,
                "accurate_long_balls": 0,
                "total_own_half_passes": 13,
                "accurate_own_half_passes": 11,
                "total_opp_half_passes": 18,
                "accurate_opp_half_passes": 14,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 54,
                "possession_lost": 13.0013,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_lost": 0,
                "total_contest": 2,
                "won_contest": 0,
                "ball_recovery": 4,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.1276,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 11,
                "total_progression": 56,
                "progressive_carries": 1,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.3333,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.67,
                "netGoalDifferencePer90": 0.67,
                "tackles_in_zone": 1.9,
                "tackles_won_in_zone": 1.6,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.5,
                "aerial_duels_won": 1.1,
                "defensive_success_rate": 0.534,
                "opponent_faced": "Giorgi Kochorashvili",
                "pressing_zone": "Right Mid vs Left Back — Wide Channel",
                "matchup_zone": "Right Mid vs Left Back — Wide Channel",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0092,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 73.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": 6.4902,
                "minutes": 88,
                "total_pass": 31,
                "accurate_pass": 25,
                "duels_won": 3,
                "total_long_balls": 4,
                "accurate_long_balls": 0,
                "total_own_half_passes": 13,
                "accurate_own_half_passes": 11,
                "total_opp_half_passes": 18,
                "accurate_opp_half_passes": 14,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 54,
                "possession_lost": 13.0013,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_lost": 0,
                "total_contest": 2,
                "won_contest": 0,
                "ball_recovery": 4,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.1276,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 11,
                "total_progression": 56,
                "progressive_carries": 1,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.3333,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.67,
                "netGoalDifferencePer90": 0.67,
                "tackles_in_zone": 1.9,
                "tackles_won_in_zone": 1.6,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.5,
                "aerial_duels_won": 1.1,
                "defensive_success_rate": 0.534,
                "opponent_faced": "Giorgi Kochorashvili",
                "pressing_zone": "Right Mid vs Left Back — Wide Channel",
                "matchup_zone": "Right Mid vs Left Back — Wide Channel",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0092,
                "projected_assists": 0,
                "assist_probability": 0.0427,
                "fifa_overall": 73.0
              }
            }
          ]
        },
        "José María Giménez": {
          "player_id": 325355,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 20,
          "height": 185,
          "market_value": 8600000,
          "stats": {
            "interceptions": 1,
            "tackles": 1,
            "tackles_won": 1,
            "clearances": 4,
            "aerial_won": 1,
            "rating": 6.7484,
            "minutes": 34,
            "total_pass": 20,
            "accurate_pass": 18,
            "duels_won": 4,
            "total_long_balls": 3,
            "accurate_long_balls": 2,
            "total_own_half_passes": 13,
            "accurate_own_half_passes": 13,
            "total_opp_half_passes": 7,
            "accurate_opp_half_passes": 5,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 27,
            "possession_lost": 3.0053,
            "dispossessed": 0.0,
            "duels_lost": 2,
            "aerial_lost": 0,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "blocks": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.0,
            "expected_assists": 0.01,
            "total_shots": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0,
            "ball_carries": 10,
            "total_progression": 20,
            "progressive_carries": 0,
            "key_pass": 0,
            "offsides": 0,
            "yellowCards": 2.5,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "minutesPct": 13.7,
            "pointsPerMatch": 2.0,
            "netGoalDifferencePer90": 2.43,
            "tackles_in_zone": 1.0,
            "tackles_won_in_zone": 1.1,
            "interceptions_in_zone": 0.8,
            "clearances_in_zone": 0.7,
            "aerial_duels_won": 0.5,
            "defensive_success_rate": 0.783,
            "opponent_faced": "Robbie Ure",
            "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.0123,
            "projected_assists": 0,
            "assist_probability": 0.0107,
            "fifa_overall": 82.0
          },
          "latest_10_games": [
            {
              "match_type": "played",
              "match_id": 16416326.0,
              "match_date": "2026-09-13 16:30:00 UTC",
              "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",
              "home_team": "Getafe",
              "away_team": "Deportivo",
              "home_score_current": 1.0,
              "away_score_current": 1.0,
              "team_side": "away",
              "status_code": 100.0,
              "status_type": "finished",
              "status_description": "Ended",
              "player_status": "starter",
              "is_starting_11": true,
              "team": "Deportivo",
              "opponent": "Getafe",
              "stats": {},
              "has_player_stats": false,
              "source": "depth_chart.csv"
            },
            {
              "match_id": 16416324.0,
              "match_date": "2026-09-05",
              "home_team": "Villarreal",
              "away_team": "Deportivo de A Coruña",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo de A Coruña",
              "opponent": "Villarreal",
              "stats": {
                "minutes": 66,
                "rating": 7.2,
                "assists": 0,
                "expected_assists": 0.0141,
                "total_shots": 0,
                "total_pass": 34,
                "accurate_pass": 32,
                "key_pass": 1,
                "interceptions": 1,
                "clearances": 6,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 1
              },
              "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": 16416316.0,
              "match_date": "2026-08-29",
              "home_team": "Sevilla",
              "away_team": "Atlético Madrid",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Atlético Madrid",
              "opponent": "Sevilla",
              "stats": {
                "minutes": 24,
                "rating": 6.6,
                "assists": 0,
                "expected_assists": 0.0003,
                "total_shots": 0,
                "total_pass": 8,
                "accurate_pass": 4,
                "clearances": 5,
                "aerial_won": 3,
                "duels_won": 3
              },
              "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": 16416302.0,
              "match_date": "2026-08-23",
              "home_team": "Atlético Madrid",
              "away_team": "Villarreal",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Atlético Madrid",
              "opponent": "Villarreal",
              "stats": {
                "minutes": 11,
                "rating": 6.6,
                "assists": 0,
                "expected_assists": 0.0077,
                "total_shots": 0,
                "total_pass": 19,
                "accurate_pass": 17,
                "clearances": 1,
                "ball_recovery": 1
              },
              "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": 823,
            "combined_rank_score": 393.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 374.0,
            "sofascore_rating": 6.9667,
            "sofascore_appearances": 6.0,
            "fifa_rank": 412.0,
            "fifa_overall": 82.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 3,
            "squad_role": "starter",
            "projected_match_rating": 6.7484,
            "source_file": "data/player_rankings.csv",
            "player_name": "José María Giménez",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Jan Kliment",
                  "ranking": 818
                },
                {
                  "player_name": "Michal Beran",
                  "ranking": 819
                },
                {
                  "player_name": "Kim Jisung",
                  "ranking": 820
                },
                {
                  "player_name": "Florian Thauvin",
                  "ranking": 821
                },
                {
                  "player_name": "Corentin Tolisso",
                  "ranking": 822
                }
              ],
              "lower": [
                {
                  "player_name": "Dean Henderson",
                  "ranking": 824
                },
                {
                  "player_name": "Palhinha",
                  "ranking": 825
                },
                {
                  "player_name": "Pape Gueye",
                  "ranking": 826
                },
                {
                  "player_name": "Caoimhin Kelleher",
                  "ranking": 827
                },
                {
                  "player_name": "Antonio Raíllo",
                  "ranking": 828
                }
              ]
            }
          },
          "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.0018,
            "fbref_prior_metrics": {
              "squad": "Atlético Madrid",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 0.0,
              "minutes": 37.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 (La Liga, Atlético Madrid, 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.7365,
                "minutes": 34,
                "total_pass": 20,
                "accurate_pass": 18,
                "duels_won": 4,
                "total_long_balls": 3,
                "accurate_long_balls": 2,
                "total_own_half_passes": 13,
                "accurate_own_half_passes": 13,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 27,
                "possession_lost": 3.0,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.01,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 10,
                "total_progression": 20,
                "progressive_carries": 0,
                "key_pass": 0
              },
              "trace": {
                "model": {
                  "position_service": "D",
                  "schema_version": 3,
                  "trained_at": "2026-09-15T10:01:44.724055+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 374,
                    "rows": 1289
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-05",
                    "opponent": "Villarreal",
                    "minutes": 66.0,
                    "is_starting": true,
                    "weight": 0.3887,
                    "rating": 7.2
                  },
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Sevilla",
                    "minutes": 24.0,
                    "is_starting": false,
                    "weight": 0.3304,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-08-23",
                    "opponent": "Villarreal",
                    "minutes": 11.0,
                    "is_starting": false,
                    "weight": 0.2809,
                    "rating": 6.6
                  }
                ],
                "feature_row": {
                  "history_matches": 3.0,
                  "is_starting_11": 1.0,
                  "accuratePass": 18.5355,
                  "touches_p90": 91.2245,
                  "possessionLostCtrl": 3.0496,
                  "totalClearance": 4.2653,
                  "aerialWon": 1.38
                },
                "per_target": [
                  {
                    "target": "interceptionWon",
                    "predicted": 0.996860921382904,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0944
                      },
                      {
                        "name": "duel_win_rate",
                        "importance": 0.0353
                      },
                      {
                        "name": "duelWon_p90",
                        "importance": 0.0341
                      },
                      {
                        "name": "interceptionWon_p90",
                        "importance": 0.0326
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0322
                      }
                    ]
                  },
                  {
                    "target": "totalTackle",
                    "predicted": 1.2057336568832397,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "history_matches",
                        "importance": 0.0588
                      },
                      {
                        "name": "duelLost",
                        "importance": 0.0461
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0446
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0406
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0401
                      }
                    ]
                  },
                  {
                    "target": "wonTackle",
                    "predicted": 0.6773873567581177,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "history_matches",
                        "importance": 0.0565
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0432
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0353
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0347
                      },
                      {
                        "name": "wonTackle",
                        "importance": 0.0329
                      }
                    ]
                  },
                  {
                    "target": "totalClearance",
                    "predicted": 4.443347454071045,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.11
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0506
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.0425
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0417
                      },
                      {
                        "name": "tackle_success_rate",
                        "importance": 0.0343
                      }
                    ]
                  },
                  {
                    "target": "aerialWon",
                    "predicted": 1.3109850883483887,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0798
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0597
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0439
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0426
                      },
                      {
                        "name": "errorLeadToAShot",
                        "importance": 0.0411
                      }
                    ]
                  },
                  {
                    "target": "rating",
                    "predicted": 6.736539363861084,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "touches_p90",
                        "importance": 0.0708
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0705
                      },
                      {
                        "name": "totalLongBalls",
                        "importance": 0.0537
                      },
                      {
                        "name": "pass_accuracy",
                        "importance": 0.0518
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0478
                      }
                    ]
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0018, quality 0.506)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "rating": 6.7484,
                "minutes": 34,
                "total_pass": 20,
                "accurate_pass": 18,
                "duels_won": 4,
                "total_long_balls": 3,
                "accurate_long_balls": 2,
                "total_own_half_passes": 13,
                "accurate_own_half_passes": 13,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 27,
                "possession_lost": 3.0053,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.01,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 10,
                "total_progression": 20,
                "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.7484,
                "minutes": 34,
                "total_pass": 20,
                "accurate_pass": 18,
                "duels_won": 4,
                "total_long_balls": 3,
                "accurate_long_balls": 2,
                "total_own_half_passes": 13,
                "accurate_own_half_passes": 13,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 27,
                "possession_lost": 3.0053,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.01,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 10,
                "total_progression": 20,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 2.5,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 13.7,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 2.43
              }
            },
            {
              "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.7484,
                "minutes": 34,
                "total_pass": 20,
                "accurate_pass": 18,
                "duels_won": 4,
                "total_long_balls": 3,
                "accurate_long_balls": 2,
                "total_own_half_passes": 13,
                "accurate_own_half_passes": 13,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 27,
                "possession_lost": 3.0053,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.01,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 10,
                "total_progression": 20,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 2.5,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 13.7,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 2.43
              }
            },
            {
              "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.7484,
                "minutes": 34,
                "total_pass": 20,
                "accurate_pass": 18,
                "duels_won": 4,
                "total_long_balls": 3,
                "accurate_long_balls": 2,
                "total_own_half_passes": 13,
                "accurate_own_half_passes": 13,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 27,
                "possession_lost": 3.0053,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.01,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 10,
                "total_progression": 20,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 2.5,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 13.7,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 2.43,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 1.1,
                "interceptions_in_zone": 0.8,
                "clearances_in_zone": 0.7,
                "aerial_duels_won": 0.5,
                "defensive_success_rate": 0.783,
                "opponent_faced": "Robbie Ure",
                "pressing_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "antagonist_source": "defensive_duel"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.36 (squad xG sum 0.7214, xG scale 1.8894)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "rating": 6.7484,
                "minutes": 34,
                "total_pass": 20,
                "accurate_pass": 18,
                "duels_won": 4,
                "total_long_balls": 3,
                "accurate_long_balls": 2,
                "total_own_half_passes": 13,
                "accurate_own_half_passes": 13,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 27,
                "possession_lost": 3.0053,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.01,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 10,
                "total_progression": 20,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 2.5,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 13.7,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 2.43,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 1.1,
                "interceptions_in_zone": 0.8,
                "clearances_in_zone": 0.7,
                "aerial_duels_won": 0.5,
                "defensive_success_rate": 0.783,
                "opponent_faced": "Robbie Ure",
                "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 82.0)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "rating": 6.7484,
                "minutes": 34,
                "total_pass": 20,
                "accurate_pass": 18,
                "duels_won": 4,
                "total_long_balls": 3,
                "accurate_long_balls": 2,
                "total_own_half_passes": 13,
                "accurate_own_half_passes": 13,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 27,
                "possession_lost": 3.0053,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.01,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 10,
                "total_progression": 20,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 2.5,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 13.7,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 2.43,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 1.1,
                "interceptions_in_zone": 0.8,
                "clearances_in_zone": 0.7,
                "aerial_duels_won": 0.5,
                "defensive_success_rate": 0.783,
                "opponent_faced": "Robbie Ure",
                "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": 82.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "rating": 6.7484,
                "minutes": 34,
                "total_pass": 20,
                "accurate_pass": 18,
                "duels_won": 4,
                "total_long_balls": 3,
                "accurate_long_balls": 2,
                "total_own_half_passes": 13,
                "accurate_own_half_passes": 13,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 27,
                "possession_lost": 3.0053,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.01,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 10,
                "total_progression": 20,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 2.5,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 13.7,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 2.43,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 1.1,
                "interceptions_in_zone": 0.8,
                "clearances_in_zone": 0.7,
                "aerial_duels_won": 0.5,
                "defensive_success_rate": 0.783,
                "opponent_faced": "Robbie Ure",
                "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.0123,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 82.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "rating": 6.7484,
                "minutes": 34,
                "total_pass": 20,
                "accurate_pass": 18,
                "duels_won": 4,
                "total_long_balls": 3,
                "accurate_long_balls": 2,
                "total_own_half_passes": 13,
                "accurate_own_half_passes": 13,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 27,
                "possession_lost": 3.0053,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.01,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 10,
                "total_progression": 20,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 2.5,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 13.7,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 2.43,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 1.1,
                "interceptions_in_zone": 0.8,
                "clearances_in_zone": 0.7,
                "aerial_duels_won": 0.5,
                "defensive_success_rate": 0.783,
                "opponent_faced": "Robbie Ure",
                "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.0123,
                "projected_assists": 0,
                "assist_probability": 0.0107,
                "fifa_overall": 82.0
              }
            }
          ]
        },
        "Lucas Noubi": {
          "player_id": 1127337,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 4,
          "height": 184,
          "market_value": 1500000,
          "stats": {
            "interceptions": 1,
            "tackles": 1,
            "tackles_won": 1,
            "clearances": 5,
            "aerial_won": 1,
            "rating": 6.5632,
            "minutes": 88,
            "total_pass": 48,
            "accurate_pass": 40,
            "duels_won": 3,
            "total_long_balls": 11,
            "accurate_long_balls": 6,
            "total_own_half_passes": 35,
            "accurate_own_half_passes": 31,
            "total_opp_half_passes": 13,
            "accurate_opp_half_passes": 9,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 61,
            "possession_lost": 8.5858,
            "dispossessed": 0.0,
            "duels_lost": 3,
            "aerial_lost": 2,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 3,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "blocks": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.0,
            "expected_assists": 0.0,
            "total_shots": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0,
            "ball_carries": 17,
            "total_progression": 59,
            "progressive_carries": 1,
            "key_pass": 0,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "minutesPct": 100.0,
            "pointsPerMatch": 1.67,
            "netGoalDifferencePer90": 0.67,
            "tackles_in_zone": 1.0,
            "tackles_won_in_zone": 1.0,
            "interceptions_in_zone": 0.7,
            "clearances_in_zone": 0.6,
            "aerial_duels_won": 0.5,
            "defensive_success_rate": 0.783,
            "opponent_faced": "Robbie Ure",
            "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.0092,
            "projected_assists": 0,
            "assist_probability": 0.0086,
            "fifa_overall": 73.0
          },
          "latest_10_games": [
            {
              "match_type": "played",
              "match_id": 16416326.0,
              "match_date": "2026-09-13 16:30:00 UTC",
              "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",
              "home_team": "Getafe",
              "away_team": "Deportivo",
              "home_score_current": 1.0,
              "away_score_current": 1.0,
              "team_side": "away",
              "status_code": 100.0,
              "status_type": "finished",
              "status_description": "Ended",
              "player_status": "starter",
              "is_starting_11": true,
              "team": "Deportivo",
              "opponent": "Getafe",
              "stats": {},
              "has_player_stats": false,
              "source": "depth_chart.csv"
            },
            {
              "match_id": 16416324.0,
              "match_date": "2026-09-05",
              "home_team": "Villarreal",
              "away_team": "Deportivo de A Coruña",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo de A Coruña",
              "opponent": "Villarreal",
              "stats": {
                "minutes": 90,
                "rating": 6.6,
                "assists": 0,
                "expected_assists": 0.0061,
                "total_shots": 0,
                "total_pass": 53,
                "accurate_pass": 42,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 2,
                "clearances": 7,
                "aerial_won": 1,
                "duels_won": 2,
                "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": 16416291.0,
              "match_date": "2026-08-30",
              "home_team": "Deportivo de A Coruña",
              "away_team": "Valencia",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo de A Coruña",
              "opponent": "Valencia",
              "stats": {
                "minutes": 90,
                "rating": 6.6,
                "assists": 0,
                "expected_assists": 0.0009,
                "total_shots": 0,
                "total_pass": 46,
                "accurate_pass": 39,
                "interceptions": 3,
                "clearances": 7,
                "aerial_won": 2,
                "duels_won": 3,
                "ball_recovery": 2
              },
              "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": 16416307.0,
              "match_date": "2026-08-24",
              "home_team": "Málaga CF",
              "away_team": "Deportivo de A Coruña",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo de A Coruña",
              "opponent": "Málaga CF",
              "stats": {
                "minutes": 90,
                "rating": 6.9,
                "assists": 0,
                "expected_assists": 0.0031,
                "total_shots": 0,
                "total_pass": 42,
                "accurate_pass": 38,
                "tackles": 3,
                "tackles_won": 3,
                "interceptions": 1,
                "clearances": 5,
                "duels_won": 4,
                "ball_recovery": 2
              },
              "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": "home",
              "is_starting_11": 1,
              "team": "Deportivo de A Coruña",
              "opponent": "Elche",
              "stats": {
                "minutes": 90,
                "rating": 6.5,
                "assists": 0,
                "expected_assists": 0.0049,
                "total_shots": 0,
                "total_pass": 53,
                "accurate_pass": 44,
                "interceptions": 1,
                "clearances": 5,
                "aerial_won": 2,
                "duels_won": 3,
                "ball_recovery": 3
              },
              "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": 4136,
            "combined_rank_score": 2133.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 745.0,
            "sofascore_rating": 6.6667,
            "sofascore_appearances": 3.0,
            "fifa_rank": 3521.0,
            "fifa_overall": 73.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 16,
            "squad_role": "starter",
            "projected_match_rating": 6.5632,
            "source_file": "data/player_rankings.csv",
            "player_name": "Lucas Noubi",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Marcus Pedersen",
                  "ranking": 4131
                },
                {
                  "player_name": "Tyrique George",
                  "ranking": 4132
                },
                {
                  "player_name": "Yunus Musah",
                  "ranking": 4133
                },
                {
                  "player_name": "Florent Muslija",
                  "ranking": 4134
                },
                {
                  "player_name": "Darnell Furlong",
                  "ranking": 4135
                }
              ],
              "lower": [
                {
                  "player_name": "Marcão",
                  "ranking": 4137
                },
                {
                  "player_name": "Nicolás Valentini",
                  "ranking": 4138
                },
                {
                  "player_name": "Borna Sosa",
                  "ranking": 4139
                },
                {
                  "player_name": "Nathan Broadhead",
                  "ranking": 4140
                },
                {
                  "player_name": "Fábio Cardoso",
                  "ranking": 4141
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.53,
          "history_matches": 4,
          "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": 4,
            "data_confidence": 0.53,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 0.9812,
            "fbref_prior_metrics": {
              "squad": "Dep. A Coruña",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 3.0,
              "starts": 3.0,
              "minutes": 270.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 0.0,
              "prior_reliability": 0.2
            },
            "rationale": "XGBoost regressor (D_service) evaluated 4 historical appearances across 6 target models; FBref 2026-2027 prior blended (La Liga, Dep. A Coruña, rel: 0.20, gls/90: 0.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 6 target models",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 5,
                "aerial_won": 1,
                "rating": 6.6888,
                "minutes": 90,
                "total_pass": 48,
                "accurate_pass": 41,
                "duels_won": 3,
                "total_long_balls": 11,
                "accurate_long_balls": 6,
                "total_own_half_passes": 35,
                "accurate_own_half_passes": 32,
                "total_opp_half_passes": 13,
                "accurate_opp_half_passes": 9,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 62,
                "possession_lost": 8.75,
                "dispossessed": 0.0,
                "duels_lost": 4,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 18,
                "total_progression": 60,
                "progressive_carries": 1,
                "key_pass": 0
              },
              "trace": {
                "model": {
                  "position_service": "D",
                  "schema_version": 3,
                  "trained_at": "2026-09-15T10:01:44.724055+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 374,
                    "rows": 1289
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-05",
                    "opponent": "Villarreal",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.3138,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-08-30",
                    "opponent": "Valencia",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.2667,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-08-24",
                    "opponent": "Málaga CF",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.2267,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-08-17",
                    "opponent": "Elche",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1927,
                    "rating": 6.5
                  }
                ],
                "feature_row": {
                  "history_matches": 4.0,
                  "is_starting_11": 1.0,
                  "accuratePass": 40.6783,
                  "touches_p90": 62.82,
                  "possessionLostCtrl": 8.9736,
                  "totalClearance": 6.1611,
                  "aerialWon": 1.2327
                },
                "per_target": [
                  {
                    "target": "interceptionWon",
                    "predicted": 1.0259442329406738,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0944
                      },
                      {
                        "name": "duel_win_rate",
                        "importance": 0.0353
                      },
                      {
                        "name": "duelWon_p90",
                        "importance": 0.0341
                      },
                      {
                        "name": "interceptionWon_p90",
                        "importance": 0.0326
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0322
                      }
                    ]
                  },
                  {
                    "target": "totalTackle",
                    "predicted": 1.2725410461425781,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "history_matches",
                        "importance": 0.0588
                      },
                      {
                        "name": "duelLost",
                        "importance": 0.0461
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0446
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0406
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0401
                      }
                    ]
                  },
                  {
                    "target": "wonTackle",
                    "predicted": 0.8070597648620605,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "history_matches",
                        "importance": 0.0565
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0432
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0353
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0347
                      },
                      {
                        "name": "wonTackle",
                        "importance": 0.0329
                      }
                    ]
                  },
                  {
                    "target": "totalClearance",
                    "predicted": 4.7902960777282715,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.11
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0506
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.0425
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0417
                      },
                      {
                        "name": "tackle_success_rate",
                        "importance": 0.0343
                      }
                    ]
                  },
                  {
                    "target": "aerialWon",
                    "predicted": 1.371283769607544,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0798
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0597
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0439
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0426
                      },
                      {
                        "name": "errorLeadToAShot",
                        "importance": 0.0411
                      }
                    ]
                  },
                  {
                    "target": "rating",
                    "predicted": 6.6887640953063965,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "touches_p90",
                        "importance": 0.0708
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0705
                      },
                      {
                        "name": "totalLongBalls",
                        "importance": 0.0537
                      },
                      {
                        "name": "pass_accuracy",
                        "importance": 0.0518
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0478
                      }
                    ]
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9812, quality 0.437)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 5,
                "aerial_won": 1,
                "rating": 6.5632,
                "minutes": 88,
                "total_pass": 48,
                "accurate_pass": 40,
                "duels_won": 3,
                "total_long_balls": 11,
                "accurate_long_balls": 6,
                "total_own_half_passes": 35,
                "accurate_own_half_passes": 31,
                "total_opp_half_passes": 13,
                "accurate_opp_half_passes": 9,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 61,
                "possession_lost": 8.5858,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 17,
                "total_progression": 59,
                "progressive_carries": 1,
                "key_pass": 0
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0722)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 5,
                "aerial_won": 1,
                "rating": 6.5632,
                "minutes": 88,
                "total_pass": 48,
                "accurate_pass": 40,
                "duels_won": 3,
                "total_long_balls": 11,
                "accurate_long_balls": 6,
                "total_own_half_passes": 35,
                "accurate_own_half_passes": 31,
                "total_opp_half_passes": 13,
                "accurate_opp_half_passes": 9,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 61,
                "possession_lost": 8.5858,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 17,
                "total_progression": 59,
                "progressive_carries": 1,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.67,
                "netGoalDifferencePer90": 0.67
              }
            },
            {
              "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": 1,
                "rating": 6.5632,
                "minutes": 88,
                "total_pass": 48,
                "accurate_pass": 40,
                "duels_won": 3,
                "total_long_balls": 11,
                "accurate_long_balls": 6,
                "total_own_half_passes": 35,
                "accurate_own_half_passes": 31,
                "total_opp_half_passes": 13,
                "accurate_opp_half_passes": 9,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 61,
                "possession_lost": 8.5858,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 17,
                "total_progression": 59,
                "progressive_carries": 1,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.67,
                "netGoalDifferencePer90": 0.67
              }
            },
            {
              "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": 1,
                "rating": 6.5632,
                "minutes": 88,
                "total_pass": 48,
                "accurate_pass": 40,
                "duels_won": 3,
                "total_long_balls": 11,
                "accurate_long_balls": 6,
                "total_own_half_passes": 35,
                "accurate_own_half_passes": 31,
                "total_opp_half_passes": 13,
                "accurate_opp_half_passes": 9,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 61,
                "possession_lost": 8.5858,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 17,
                "total_progression": 59,
                "progressive_carries": 1,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.67,
                "netGoalDifferencePer90": 0.67,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 1.0,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.6,
                "aerial_duels_won": 0.5,
                "defensive_success_rate": 0.783,
                "opponent_faced": "Robbie Ure",
                "pressing_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "antagonist_source": "defensive_duel"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.36 (squad xG sum 0.7214, xG scale 1.8894)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 5,
                "aerial_won": 1,
                "rating": 6.5632,
                "minutes": 88,
                "total_pass": 48,
                "accurate_pass": 40,
                "duels_won": 3,
                "total_long_balls": 11,
                "accurate_long_balls": 6,
                "total_own_half_passes": 35,
                "accurate_own_half_passes": 31,
                "total_opp_half_passes": 13,
                "accurate_opp_half_passes": 9,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 61,
                "possession_lost": 8.5858,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 17,
                "total_progression": 59,
                "progressive_carries": 1,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.67,
                "netGoalDifferencePer90": 0.67,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 1.0,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.6,
                "aerial_duels_won": 0.5,
                "defensive_success_rate": 0.783,
                "opponent_faced": "Robbie Ure",
                "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 16, fifa_overall 73.0)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 5,
                "aerial_won": 1,
                "rating": 6.5632,
                "minutes": 88,
                "total_pass": 48,
                "accurate_pass": 40,
                "duels_won": 3,
                "total_long_balls": 11,
                "accurate_long_balls": 6,
                "total_own_half_passes": 35,
                "accurate_own_half_passes": 31,
                "total_opp_half_passes": 13,
                "accurate_opp_half_passes": 9,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 61,
                "possession_lost": 8.5858,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 17,
                "total_progression": 59,
                "progressive_carries": 1,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.67,
                "netGoalDifferencePer90": 0.67,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 1.0,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.6,
                "aerial_duels_won": 0.5,
                "defensive_success_rate": 0.783,
                "opponent_faced": "Robbie Ure",
                "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": 73.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 5,
                "aerial_won": 1,
                "rating": 6.5632,
                "minutes": 88,
                "total_pass": 48,
                "accurate_pass": 40,
                "duels_won": 3,
                "total_long_balls": 11,
                "accurate_long_balls": 6,
                "total_own_half_passes": 35,
                "accurate_own_half_passes": 31,
                "total_opp_half_passes": 13,
                "accurate_opp_half_passes": 9,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 61,
                "possession_lost": 8.5858,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 17,
                "total_progression": 59,
                "progressive_carries": 1,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.67,
                "netGoalDifferencePer90": 0.67,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 1.0,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.6,
                "aerial_duels_won": 0.5,
                "defensive_success_rate": 0.783,
                "opponent_faced": "Robbie Ure",
                "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.0092,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 73.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": 5,
                "aerial_won": 1,
                "rating": 6.5632,
                "minutes": 88,
                "total_pass": 48,
                "accurate_pass": 40,
                "duels_won": 3,
                "total_long_balls": 11,
                "accurate_long_balls": 6,
                "total_own_half_passes": 35,
                "accurate_own_half_passes": 31,
                "total_opp_half_passes": 13,
                "accurate_opp_half_passes": 9,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 61,
                "possession_lost": 8.5858,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 17,
                "total_progression": 59,
                "progressive_carries": 1,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.67,
                "netGoalDifferencePer90": 0.67,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 1.0,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.6,
                "aerial_duels_won": 0.5,
                "defensive_success_rate": 0.783,
                "opponent_faced": "Robbie Ure",
                "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.0092,
                "projected_assists": 0,
                "assist_probability": 0.0086,
                "fifa_overall": 73.0
              }
            }
          ]
        },
        "Ximo Navarro": {
          "player_id": 150864,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 23,
          "height": 176,
          "market_value": 95000,
          "stats": {
            "interceptions": 1,
            "tackles": 2,
            "tackles_won": 1,
            "clearances": 4,
            "aerial_won": 1,
            "rating": 6.4404,
            "minutes": 87,
            "total_pass": 34,
            "accurate_pass": 30,
            "duels_won": 4,
            "total_long_balls": 2,
            "accurate_long_balls": 2,
            "total_own_half_passes": 20,
            "accurate_own_half_passes": 18,
            "total_opp_half_passes": 15,
            "accurate_opp_half_passes": 13,
            "crosses_total": 2,
            "crosses_accurate": 0,
            "touches": 57,
            "possession_lost": 7.8498,
            "dispossessed": 0.0,
            "duels_lost": 3,
            "aerial_lost": 0,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "blocks": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.0,
            "expected_assists": 0.0294,
            "total_shots": 1,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0,
            "ball_carries": 10,
            "total_progression": 19,
            "progressive_carries": 0,
            "key_pass": 0,
            "offsides": 0,
            "yellowCards": 0.6897,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 0.0,
            "shotConversion": 0.0,
            "minutesPct": 97.0,
            "pointsPerMatch": 1.67,
            "netGoalDifferencePer90": 0.69,
            "tackles_in_zone": 1.9,
            "tackles_won_in_zone": 1.6,
            "interceptions_in_zone": 0.6,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 1.0,
            "defensive_success_rate": 0.519,
            "opponent_faced": "Jon Guridi",
            "pressing_zone": "Left Mid vs Right Back — Wide Channel",
            "matchup_zone": "Left Mid vs Right Back — Wide Channel",
            "antagonist_source": "defensive_duel",
            "projected_goals": 0,
            "goal_probability": 0.0116,
            "projected_assists": 0,
            "assist_probability": 0.016,
            "fifa_overall": 72.0
          },
          "latest_10_games": [
            {
              "match_type": "played",
              "match_id": 16416326.0,
              "match_date": "2026-09-13 16:30:00 UTC",
              "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",
              "home_team": "Getafe",
              "away_team": "Deportivo",
              "home_score_current": 1.0,
              "away_score_current": 1.0,
              "team_side": "away",
              "status_code": 100.0,
              "status_type": "finished",
              "status_description": "Ended",
              "player_status": "starter",
              "is_starting_11": true,
              "team": "Deportivo",
              "opponent": "Getafe",
              "stats": {},
              "has_player_stats": false,
              "source": "depth_chart.csv"
            },
            {
              "match_id": 16416324.0,
              "match_date": "2026-09-05",
              "home_team": "Villarreal",
              "away_team": "Deportivo de A Coruña",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo de A Coruña",
              "opponent": "Villarreal",
              "stats": {
                "minutes": 90,
                "rating": 6.8,
                "assists": 0,
                "expected_assists": 0.0142,
                "total_shots": 0,
                "total_pass": 30,
                "accurate_pass": 25,
                "tackles": 5,
                "tackles_won": 4,
                "interceptions": 2,
                "clearances": 8,
                "duels_won": 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"
            },
            {
              "match_id": 16416291.0,
              "match_date": "2026-08-30",
              "home_team": "Deportivo de A Coruña",
              "away_team": "Valencia",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo de A Coruña",
              "opponent": "Valencia",
              "stats": {
                "minutes": 83,
                "rating": 6.3,
                "assists": 0,
                "expected_goals": 0.0724,
                "expected_assists": 0.0117,
                "total_shots": 2,
                "shots_off_target": 2,
                "total_pass": 36,
                "accurate_pass": 31,
                "interceptions": 2,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 3
              },
              "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": 16416307.0,
              "match_date": "2026-08-24",
              "home_team": "Málaga CF",
              "away_team": "Deportivo de A Coruña",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo de A Coruña",
              "opponent": "Málaga CF",
              "stats": {
                "minutes": 90,
                "rating": 6.5,
                "assists": 0,
                "expected_assists": 0.0662,
                "total_shots": 0,
                "total_pass": 38,
                "accurate_pass": 37,
                "key_pass": 1,
                "tackles": 2,
                "tackles_won": 2,
                "interceptions": 1,
                "clearances": 3,
                "aerial_won": 1,
                "duels_won": 5,
                "ball_recovery": 1
              },
              "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": "home",
              "is_starting_11": 1,
              "team": "Deportivo de A Coruña",
              "opponent": "Elche",
              "stats": {
                "minutes": 90,
                "rating": 6.3,
                "assists": 0,
                "expected_assists": 0.0163,
                "total_shots": 0,
                "total_pass": 36,
                "accurate_pass": 30,
                "tackles": 3,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 2,
                "duels_won": 4,
                "ball_recovery": 5
              },
              "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": 4544,
            "combined_rank_score": 2602.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 959.0,
            "sofascore_rating": 6.4,
            "sofascore_appearances": 1.0,
            "fifa_rank": 4245.0,
            "fifa_overall": 72.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 18,
            "squad_role": "starter",
            "projected_match_rating": 6.4404,
            "source_file": "data/player_rankings.csv",
            "player_name": "Ximo Navarro",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Ibrahim Diabaté",
                  "ranking": 4539
                },
                {
                  "player_name": "Chuba Akpom",
                  "ranking": 4540
                },
                {
                  "player_name": "Dani Rodríguez",
                  "ranking": 4541
                },
                {
                  "player_name": "Alex Valera",
                  "ranking": 4542
                },
                {
                  "player_name": "Marcos Fernández",
                  "ranking": 4543
                }
              ],
              "lower": [
                {
                  "player_name": "João Virgínia",
                  "ranking": 4545
                },
                {
                  "player_name": "Dimitri Foulquier",
                  "ranking": 4546
                },
                {
                  "player_name": "Nathan Patterson",
                  "ranking": 4547
                },
                {
                  "player_name": "Isaac Price",
                  "ranking": 4548
                },
                {
                  "player_name": "Andy Irving",
                  "ranking": 4549
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.529,
          "history_matches": 4,
          "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": 4,
            "data_confidence": 0.529,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 0.9812,
            "fbref_prior_metrics": {
              "squad": "Dep. A Coruña",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 3.0,
              "starts": 3.0,
              "minutes": 262.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 0.69,
              "shots_on_target_pct": 0.0,
              "prior_reliability": 0.1933
            },
            "rationale": "XGBoost regressor (D_service) evaluated 4 historical appearances across 6 target models; FBref 2026-2027 prior blended (La Liga, Dep. A Coruña, rel: 0.19, 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": 4,
                "aerial_won": 1,
                "rating": 6.5636,
                "minutes": 88,
                "total_pass": 35,
                "accurate_pass": 31,
                "duels_won": 4,
                "total_long_balls": 2,
                "accurate_long_balls": 2,
                "total_own_half_passes": 20,
                "accurate_own_half_passes": 18,
                "total_opp_half_passes": 15,
                "accurate_opp_half_passes": 13,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 58,
                "possession_lost": 8.0,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.03,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 10,
                "total_progression": 20,
                "progressive_carries": 0,
                "key_pass": 0
              },
              "trace": {
                "model": {
                  "position_service": "D",
                  "schema_version": 3,
                  "trained_at": "2026-09-15T10:01:44.724055+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 374,
                    "rows": 1289
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-05",
                    "opponent": "Villarreal",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.3138,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-08-30",
                    "opponent": "Valencia",
                    "minutes": 83.0,
                    "is_starting": true,
                    "weight": 0.2667,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-08-24",
                    "opponent": "Málaga CF",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.2267,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-08-17",
                    "opponent": "Elche",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1927,
                    "rating": 6.3
                  }
                ],
                "feature_row": {
                  "history_matches": 4.0,
                  "is_starting_11": 1.0,
                  "accuratePass": 30.2848,
                  "touches_p90": 59.0871,
                  "possessionLostCtrl": 7.951,
                  "totalClearance": 3.8429,
                  "aerialWon": 0.4935
                },
                "per_target": [
                  {
                    "target": "interceptionWon",
                    "predicted": 0.9777775406837463,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0944
                      },
                      {
                        "name": "duel_win_rate",
                        "importance": 0.0353
                      },
                      {
                        "name": "duelWon_p90",
                        "importance": 0.0341
                      },
                      {
                        "name": "interceptionWon_p90",
                        "importance": 0.0326
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0322
                      }
                    ]
                  },
                  {
                    "target": "totalTackle",
                    "predicted": 1.6215190887451172,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "history_matches",
                        "importance": 0.0588
                      },
                      {
                        "name": "duelLost",
                        "importance": 0.0461
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0446
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0406
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0401
                      }
                    ]
                  },
                  {
                    "target": "wonTackle",
                    "predicted": 0.9952377080917358,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "history_matches",
                        "importance": 0.0565
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0432
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0353
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0347
                      },
                      {
                        "name": "wonTackle",
                        "importance": 0.0329
                      }
                    ]
                  },
                  {
                    "target": "totalClearance",
                    "predicted": 3.7683262825012207,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.11
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0506
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.0425
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0417
                      },
                      {
                        "name": "tackle_success_rate",
                        "importance": 0.0343
                      }
                    ]
                  },
                  {
                    "target": "aerialWon",
                    "predicted": 1.0455174446105957,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0798
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0597
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0439
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0426
                      },
                      {
                        "name": "errorLeadToAShot",
                        "importance": 0.0411
                      }
                    ]
                  },
                  {
                    "target": "rating",
                    "predicted": 6.563613414764404,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "touches_p90",
                        "importance": 0.0708
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0705
                      },
                      {
                        "name": "totalLongBalls",
                        "importance": 0.0537
                      },
                      {
                        "name": "pass_accuracy",
                        "importance": 0.0518
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0478
                      }
                    ]
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9812, quality 0.437)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "rating": 6.4404,
                "minutes": 87,
                "total_pass": 34,
                "accurate_pass": 30,
                "duels_won": 4,
                "total_long_balls": 2,
                "accurate_long_balls": 2,
                "total_own_half_passes": 20,
                "accurate_own_half_passes": 18,
                "total_opp_half_passes": 15,
                "accurate_opp_half_passes": 13,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 57,
                "possession_lost": 7.8498,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0294,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 10,
                "total_progression": 19,
                "progressive_carries": 0,
                "key_pass": 0
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0698)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "rating": 6.4404,
                "minutes": 87,
                "total_pass": 34,
                "accurate_pass": 30,
                "duels_won": 4,
                "total_long_balls": 2,
                "accurate_long_balls": 2,
                "total_own_half_passes": 20,
                "accurate_own_half_passes": 18,
                "total_opp_half_passes": 15,
                "accurate_opp_half_passes": 13,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 57,
                "possession_lost": 7.8498,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0294,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 10,
                "total_progression": 19,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.6897,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 97.0,
                "pointsPerMatch": 1.67,
                "netGoalDifferencePer90": 0.69
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "rating": 6.4404,
                "minutes": 87,
                "total_pass": 34,
                "accurate_pass": 30,
                "duels_won": 4,
                "total_long_balls": 2,
                "accurate_long_balls": 2,
                "total_own_half_passes": 20,
                "accurate_own_half_passes": 18,
                "total_opp_half_passes": 15,
                "accurate_opp_half_passes": 13,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 57,
                "possession_lost": 7.8498,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0294,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 10,
                "total_progression": 19,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.6897,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 97.0,
                "pointsPerMatch": 1.67,
                "netGoalDifferencePer90": 0.69
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "rating": 6.4404,
                "minutes": 87,
                "total_pass": 34,
                "accurate_pass": 30,
                "duels_won": 4,
                "total_long_balls": 2,
                "accurate_long_balls": 2,
                "total_own_half_passes": 20,
                "accurate_own_half_passes": 18,
                "total_opp_half_passes": 15,
                "accurate_opp_half_passes": 13,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 57,
                "possession_lost": 7.8498,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0294,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 10,
                "total_progression": 19,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.6897,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 97.0,
                "pointsPerMatch": 1.67,
                "netGoalDifferencePer90": 0.69,
                "tackles_in_zone": 1.9,
                "tackles_won_in_zone": 1.6,
                "interceptions_in_zone": 0.6,
                "clearances_in_zone": 0.5,
                "aerial_duels_won": 1.0,
                "defensive_success_rate": 0.519,
                "opponent_faced": "Jon Guridi",
                "pressing_zone": "Left Mid vs Right Back — Wide Channel",
                "matchup_zone": "Left Mid vs Right Back — Wide Channel",
                "antagonist_source": "defensive_duel"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.36 (squad xG sum 0.7214, xG scale 1.8894)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "rating": 6.4404,
                "minutes": 87,
                "total_pass": 34,
                "accurate_pass": 30,
                "duels_won": 4,
                "total_long_balls": 2,
                "accurate_long_balls": 2,
                "total_own_half_passes": 20,
                "accurate_own_half_passes": 18,
                "total_opp_half_passes": 15,
                "accurate_opp_half_passes": 13,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 57,
                "possession_lost": 7.8498,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0294,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 10,
                "total_progression": 19,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.6897,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 97.0,
                "pointsPerMatch": 1.67,
                "netGoalDifferencePer90": 0.69,
                "tackles_in_zone": 1.9,
                "tackles_won_in_zone": 1.6,
                "interceptions_in_zone": 0.6,
                "clearances_in_zone": 0.5,
                "aerial_duels_won": 1.0,
                "defensive_success_rate": 0.519,
                "opponent_faced": "Jon Guridi",
                "pressing_zone": "Left Mid vs Right Back — Wide Channel",
                "matchup_zone": "Left Mid vs Right Back — Wide Channel",
                "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 72.0)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "rating": 6.4404,
                "minutes": 87,
                "total_pass": 34,
                "accurate_pass": 30,
                "duels_won": 4,
                "total_long_balls": 2,
                "accurate_long_balls": 2,
                "total_own_half_passes": 20,
                "accurate_own_half_passes": 18,
                "total_opp_half_passes": 15,
                "accurate_opp_half_passes": 13,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 57,
                "possession_lost": 7.8498,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0294,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 10,
                "total_progression": 19,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.6897,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 97.0,
                "pointsPerMatch": 1.67,
                "netGoalDifferencePer90": 0.69,
                "tackles_in_zone": 1.9,
                "tackles_won_in_zone": 1.6,
                "interceptions_in_zone": 0.6,
                "clearances_in_zone": 0.5,
                "aerial_duels_won": 1.0,
                "defensive_success_rate": 0.519,
                "opponent_faced": "Jon Guridi",
                "pressing_zone": "Left Mid vs Right Back — Wide Channel",
                "matchup_zone": "Left Mid vs Right Back — Wide Channel",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 72.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "rating": 6.4404,
                "minutes": 87,
                "total_pass": 34,
                "accurate_pass": 30,
                "duels_won": 4,
                "total_long_balls": 2,
                "accurate_long_balls": 2,
                "total_own_half_passes": 20,
                "accurate_own_half_passes": 18,
                "total_opp_half_passes": 15,
                "accurate_opp_half_passes": 13,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 57,
                "possession_lost": 7.8498,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0294,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 10,
                "total_progression": 19,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.6897,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 97.0,
                "pointsPerMatch": 1.67,
                "netGoalDifferencePer90": 0.69,
                "tackles_in_zone": 1.9,
                "tackles_won_in_zone": 1.6,
                "interceptions_in_zone": 0.6,
                "clearances_in_zone": 0.5,
                "aerial_duels_won": 1.0,
                "defensive_success_rate": 0.519,
                "opponent_faced": "Jon Guridi",
                "pressing_zone": "Left Mid vs Right Back — Wide Channel",
                "matchup_zone": "Left Mid vs Right Back — Wide Channel",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0116,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 72.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 4,
                "aerial_won": 1,
                "rating": 6.4404,
                "minutes": 87,
                "total_pass": 34,
                "accurate_pass": 30,
                "duels_won": 4,
                "total_long_balls": 2,
                "accurate_long_balls": 2,
                "total_own_half_passes": 20,
                "accurate_own_half_passes": 18,
                "total_opp_half_passes": 15,
                "accurate_opp_half_passes": 13,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 57,
                "possession_lost": 7.8498,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0294,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 10,
                "total_progression": 19,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.6897,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 97.0,
                "pointsPerMatch": 1.67,
                "netGoalDifferencePer90": 0.69,
                "tackles_in_zone": 1.9,
                "tackles_won_in_zone": 1.6,
                "interceptions_in_zone": 0.6,
                "clearances_in_zone": 0.5,
                "aerial_duels_won": 1.0,
                "defensive_success_rate": 0.519,
                "opponent_faced": "Jon Guridi",
                "pressing_zone": "Left Mid vs Right Back — Wide Channel",
                "matchup_zone": "Left Mid vs Right Back — Wide Channel",
                "antagonist_source": "defensive_duel",
                "projected_goals": 0,
                "goal_probability": 0.0116,
                "projected_assists": 0,
                "assist_probability": 0.016,
                "fifa_overall": 72.0
              }
            }
          ]
        },
        "Leo Román": {
          "player_id": 1131909,
          "position": "G",
          "position_depth": "G",
          "is_starter": true,
          "shirt_number": 13,
          "height": 189,
          "market_value": 5800000,
          "stats": {
            "saves": 3,
            "goals_prevented": 0.0893,
            "rating": 7.0272,
            "minutes": 89,
            "total_pass": 38,
            "accurate_pass": 29,
            "duels_won": 0,
            "total_long_balls": 14,
            "accurate_long_balls": 6,
            "touches": 45,
            "clearances": 0,
            "ball_recovery": 7,
            "high_claims": 0,
            "punches": 0.0,
            "aerial_won": 0,
            "sweeper_actions": 0,
            "sweeper_accurate": 0,
            "saves_inside_box": 0,
            "possession_lost": 9.1723,
            "duels_lost": 0,
            "total_contest": 0,
            "won_contest": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "total_own_half_passes": 28,
            "accurate_own_half_passes": 26,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "total_shots": 0,
            "shots_on_target": 0,
            "goalsAgainst": 1.0,
            "shotsOnTargetAgainst": 4.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": 75.0,
            "cleanSheetPct": 0.0,
            "minutesPct": 100.0,
            "pointsPerMatch": 1.67,
            "netGoalDifferencePer90": 0.67,
            "expected_saves": 0.64,
            "high_pressure_saves": 0.24,
            "shots_faced": 1.4,
            "opponent_faced": "Robbie Ure, Lucien Agoumé",
            "matchup_zone": "Goalkeeper shot-stopping context",
            "antagonist_source": "formation_fallback",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "expected_goals": 0.0,
            "expected_assists": 0.0,
            "fifa_overall": 77.0
          },
          "latest_10_games": [
            {
              "match_type": "played",
              "match_id": 16416326.0,
              "match_date": "2026-09-13 16:30:00 UTC",
              "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",
              "home_team": "Getafe",
              "away_team": "Deportivo",
              "home_score_current": 1.0,
              "away_score_current": 1.0,
              "team_side": "away",
              "status_code": 100.0,
              "status_type": "finished",
              "status_description": "Ended",
              "player_status": "starter",
              "is_starting_11": true,
              "team": "Deportivo",
              "opponent": "Getafe",
              "stats": {},
              "has_player_stats": false,
              "source": "depth_chart.csv"
            },
            {
              "match_id": 16416324.0,
              "match_date": "2026-09-05",
              "home_team": "Villarreal",
              "away_team": "Deportivo de A Coruña",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo de A Coruña",
              "opponent": "Villarreal",
              "stats": {
                "minutes": 90,
                "rating": 6.9,
                "assists": 0,
                "expected_assists": 0.0006,
                "total_shots": 0,
                "total_pass": 40,
                "accurate_pass": 28,
                "ball_recovery": 7,
                "saves": 4,
                "goals_prevented": -0.5197
              },
              "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": 16416291.0,
              "match_date": "2026-08-30",
              "home_team": "Deportivo de A Coruña",
              "away_team": "Valencia",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo de A Coruña",
              "opponent": "Valencia",
              "stats": {
                "minutes": 90,
                "rating": 7.2,
                "assists": 0,
                "expected_assists": 0.0045,
                "total_shots": 0,
                "total_pass": 37,
                "accurate_pass": 24,
                "ball_recovery": 7,
                "saves": 3,
                "goals_prevented": 0.5332
              },
              "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": 16416307.0,
              "match_date": "2026-08-24",
              "home_team": "Málaga CF",
              "away_team": "Deportivo de A Coruña",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo de A Coruña",
              "opponent": "Málaga CF",
              "stats": {
                "minutes": 90,
                "rating": 7.5,
                "assists": 0,
                "expected_assists": 0.0018,
                "total_shots": 0,
                "total_pass": 42,
                "accurate_pass": 39,
                "ball_recovery": 6,
                "saves": 1,
                "goals_prevented": 0.3223
              },
              "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": "home",
              "is_starting_11": 1,
              "team": "Deportivo de A Coruña",
              "opponent": "Elche",
              "stats": {
                "minutes": 90,
                "rating": 7.6,
                "assists": 0,
                "expected_assists": 0.0004,
                "total_shots": 0,
                "total_pass": 33,
                "accurate_pass": 24,
                "clearances": 2,
                "ball_recovery": 7,
                "saves": 5,
                "goals_prevented": 0.538
              },
              "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": 2271,
            "combined_rank_score": 830.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 91.0,
            "sofascore_rating": 7.5,
            "sofascore_appearances": 1.0,
            "fifa_rank": 1570.0,
            "fifa_overall": 77.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 5,
            "squad_role": "starter",
            "projected_match_rating": 7.0272,
            "source_file": "data/player_rankings.csv",
            "player_name": "Leo Román",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Bafodé Diakité",
                  "ranking": 2266
                },
                {
                  "player_name": "Kwasi Sibo",
                  "ranking": 2267
                },
                {
                  "player_name": "Jordan Henderson",
                  "ranking": 2268
                },
                {
                  "player_name": "Andoni Gorosabel",
                  "ranking": 2269
                },
                {
                  "player_name": "Jeong-Yeon Wu",
                  "ranking": 2270
                }
              ],
              "lower": [
                {
                  "player_name": "Mathías Olivera",
                  "ranking": 2272
                },
                {
                  "player_name": "Luis Suárez",
                  "ranking": 2273
                },
                {
                  "player_name": "Calvin Bassey",
                  "ranking": 2274
                },
                {
                  "player_name": "Shahzod Akramov",
                  "ranking": 2275
                },
                {
                  "player_name": "Yves Bissouma",
                  "ranking": 2276
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.53,
          "history_matches": 4,
          "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": 4,
            "data_confidence": 0.53,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 0.9916,
            "fbref_prior_metrics": {
              "squad": "Dep. A Coruña",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 3.0,
              "starts": 3.0,
              "minutes": 270.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 0.0,
              "prior_reliability": 0.2
            },
            "rationale": "XGBoost regressor (G_service) evaluated 4 historical appearances across 3 target models; FBref 2026-2027 prior blended (La Liga, Dep. A Coruña, rel: 0.20, 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.0901,
                "rating": 7.0867,
                "minutes": 90,
                "total_pass": 38,
                "accurate_pass": 29,
                "duels_won": 0,
                "total_long_balls": 14,
                "accurate_long_balls": 6,
                "touches": 46,
                "clearances": 0,
                "ball_recovery": 7,
                "high_claims": 0,
                "punches": 0.0,
                "aerial_won": 0,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 0,
                "possession_lost": 9.25,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 28,
                "accurate_own_half_passes": 26
              },
              "trace": {
                "model": {
                  "position_service": "G",
                  "schema_version": 3,
                  "trained_at": "2026-09-15T10:01:40.064367+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 113,
                    "rows": 393
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-05",
                    "opponent": "Villarreal",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.3138,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-08-30",
                    "opponent": "Valencia",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.2667,
                    "rating": 7.2
                  },
                  {
                    "match_date": "2026-08-24",
                    "opponent": "Málaga CF",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.2267,
                    "rating": 7.5
                  },
                  {
                    "match_date": "2026-08-17",
                    "opponent": "Elche",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1927,
                    "rating": 7.6
                  }
                ],
                "feature_row": {
                  "history_matches": 4.0,
                  "is_starting_11": 1.0,
                  "sweeper_actions_p90": 0.3138,
                  "touches": 45.6156,
                  "totalOwnHalfPasses": 28.01,
                  "punches": 0.0,
                  "distribution_accuracy": 0.9185,
                  "accurateKeeperSweeper": 0.3138
                },
                "per_target": [
                  {
                    "target": "saves",
                    "predicted": 2.8497769832611084,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "sweeper_actions_p90",
                        "importance": 0.0587
                      },
                      {
                        "name": "accurateKeeperSweeper",
                        "importance": 0.0534
                      },
                      {
                        "name": "touches",
                        "importance": 0.0497
                      },
                      {
                        "name": "totalOwnHalfPasses",
                        "importance": 0.049
                      },
                      {
                        "name": "distribution_accuracy",
                        "importance": 0.043
                      }
                    ]
                  },
                  {
                    "target": "goalsPrevented",
                    "predicted": 0.09005806595087051,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "sweeper_actions_p90",
                        "importance": 0.053
                      },
                      {
                        "name": "punches",
                        "importance": 0.051
                      },
                      {
                        "name": "touches",
                        "importance": 0.0482
                      },
                      {
                        "name": "accurateLongBalls",
                        "importance": 0.0468
                      },
                      {
                        "name": "passValueNormalized",
                        "importance": 0.0432
                      }
                    ]
                  },
                  {
                    "target": "rating",
                    "predicted": 7.08671760559082,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "sweeper_actions_p90",
                        "importance": 0.0593
                      },
                      {
                        "name": "touches",
                        "importance": 0.0495
                      },
                      {
                        "name": "distribution_accuracy",
                        "importance": 0.0484
                      },
                      {
                        "name": "savedShotsFromInsideTheBox",
                        "importance": 0.0468
                      },
                      {
                        "name": "punches",
                        "importance": 0.0464
                      }
                    ]
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9916, quality 0.472)",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0893,
                "rating": 7.0272,
                "minutes": 89,
                "total_pass": 38,
                "accurate_pass": 29,
                "duels_won": 0,
                "total_long_balls": 14,
                "accurate_long_balls": 6,
                "touches": 45,
                "clearances": 0,
                "ball_recovery": 7,
                "high_claims": 0,
                "punches": 0.0,
                "aerial_won": 0,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 0,
                "possession_lost": 9.1723,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 28,
                "accurate_own_half_passes": 26
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0722)",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0893,
                "rating": 7.0272,
                "minutes": 89,
                "total_pass": 38,
                "accurate_pass": 29,
                "duels_won": 0,
                "total_long_balls": 14,
                "accurate_long_balls": 6,
                "touches": 45,
                "clearances": 0,
                "ball_recovery": 7,
                "high_claims": 0,
                "punches": 0.0,
                "aerial_won": 0,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 0,
                "possession_lost": 9.1723,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 28,
                "accurate_own_half_passes": 26,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 1.0,
                "shotsOnTargetAgainst": 4.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": 75.0,
                "cleanSheetPct": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.67,
                "netGoalDifferencePer90": 0.67
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0893,
                "rating": 7.0272,
                "minutes": 89,
                "total_pass": 38,
                "accurate_pass": 29,
                "duels_won": 0,
                "total_long_balls": 14,
                "accurate_long_balls": 6,
                "touches": 45,
                "clearances": 0,
                "ball_recovery": 7,
                "high_claims": 0,
                "punches": 0.0,
                "aerial_won": 0,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 0,
                "possession_lost": 9.1723,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 28,
                "accurate_own_half_passes": 26,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 1.0,
                "shotsOnTargetAgainst": 4.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": 75.0,
                "cleanSheetPct": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.67,
                "netGoalDifferencePer90": 0.67
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0893,
                "rating": 7.0272,
                "minutes": 89,
                "total_pass": 38,
                "accurate_pass": 29,
                "duels_won": 0,
                "total_long_balls": 14,
                "accurate_long_balls": 6,
                "touches": 45,
                "clearances": 0,
                "ball_recovery": 7,
                "high_claims": 0,
                "punches": 0.0,
                "aerial_won": 0,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 0,
                "possession_lost": 9.1723,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 28,
                "accurate_own_half_passes": 26,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 1.0,
                "shotsOnTargetAgainst": 4.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": 75.0,
                "cleanSheetPct": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.67,
                "netGoalDifferencePer90": 0.67,
                "expected_saves": 0.64,
                "high_pressure_saves": 0.24,
                "shots_faced": 1.4,
                "opponent_faced": "Robbie Ure, Lucien Agoumé",
                "matchup_zone": "Goalkeeper shot-stopping context",
                "antagonist_source": "formation_fallback"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.36 (squad xG sum 0.7214, xG scale 1.8894)",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0893,
                "rating": 7.0272,
                "minutes": 89,
                "total_pass": 38,
                "accurate_pass": 29,
                "duels_won": 0,
                "total_long_balls": 14,
                "accurate_long_balls": 6,
                "touches": 45,
                "clearances": 0,
                "ball_recovery": 7,
                "high_claims": 0,
                "punches": 0.0,
                "aerial_won": 0,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 0,
                "possession_lost": 9.1723,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 28,
                "accurate_own_half_passes": 26,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 1.0,
                "shotsOnTargetAgainst": 4.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": 75.0,
                "cleanSheetPct": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.67,
                "netGoalDifferencePer90": 0.67,
                "expected_saves": 0.64,
                "high_pressure_saves": 0.24,
                "shots_faced": 1.4,
                "opponent_faced": "Robbie Ure, Lucien Agoumé",
                "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 5, fifa_overall 77.0)",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0893,
                "rating": 7.0272,
                "minutes": 89,
                "total_pass": 38,
                "accurate_pass": 29,
                "duels_won": 0,
                "total_long_balls": 14,
                "accurate_long_balls": 6,
                "touches": 45,
                "clearances": 0,
                "ball_recovery": 7,
                "high_claims": 0,
                "punches": 0.0,
                "aerial_won": 0,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 0,
                "possession_lost": 9.1723,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 28,
                "accurate_own_half_passes": 26,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 1.0,
                "shotsOnTargetAgainst": 4.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": 75.0,
                "cleanSheetPct": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.67,
                "netGoalDifferencePer90": 0.67,
                "expected_saves": 0.64,
                "high_pressure_saves": 0.24,
                "shots_faced": 1.4,
                "opponent_faced": "Robbie Ure, Lucien Agoumé",
                "matchup_zone": "Goalkeeper shot-stopping context",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "fifa_overall": 77.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 1 projected goals distributed by scorer weight",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0893,
                "rating": 7.0272,
                "minutes": 89,
                "total_pass": 38,
                "accurate_pass": 29,
                "duels_won": 0,
                "total_long_balls": 14,
                "accurate_long_balls": 6,
                "touches": 45,
                "clearances": 0,
                "ball_recovery": 7,
                "high_claims": 0,
                "punches": 0.0,
                "aerial_won": 0,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 0,
                "possession_lost": 9.1723,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 28,
                "accurate_own_half_passes": 26,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 1.0,
                "shotsOnTargetAgainst": 4.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": 75.0,
                "cleanSheetPct": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.67,
                "netGoalDifferencePer90": 0.67,
                "expected_saves": 0.64,
                "high_pressure_saves": 0.24,
                "shots_faced": 1.4,
                "opponent_faced": "Robbie Ure, Lucien Agoumé",
                "matchup_zone": "Goalkeeper shot-stopping context",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "fifa_overall": 77.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 1 projected assists distributed by provider weight",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0893,
                "rating": 7.0272,
                "minutes": 89,
                "total_pass": 38,
                "accurate_pass": 29,
                "duels_won": 0,
                "total_long_balls": 14,
                "accurate_long_balls": 6,
                "touches": 45,
                "clearances": 0,
                "ball_recovery": 7,
                "high_claims": 0,
                "punches": 0.0,
                "aerial_won": 0,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 0,
                "possession_lost": 9.1723,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 28,
                "accurate_own_half_passes": 26,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 1.0,
                "shotsOnTargetAgainst": 4.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": 75.0,
                "cleanSheetPct": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 1.67,
                "netGoalDifferencePer90": 0.67,
                "expected_saves": 0.64,
                "high_pressure_saves": 0.24,
                "shots_faced": 1.4,
                "opponent_faced": "Robbie Ure, Lucien Agoumé",
                "matchup_zone": "Goalkeeper shot-stopping context",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "fifa_overall": 77.0
              }
            }
          ]
        }
      },
      "bench_players": {
        "Álvaro Ferllo": {
          "player_id": 852412,
          "position": "G",
          "position_depth": "G_BENCH",
          "is_starter": false,
          "shirt_number": 25,
          "height": 186,
          "market_value": 2100000,
          "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": 2,
            "projected_substitution_expected_count": 2.422,
            "projected_substitution_game_state_adjustment": 0,
            "substitution_usage": "available_bench_not_projected_used",
            "goals": 0,
            "projected_goals": 0,
            "goal_probability": 0.0,
            "assists": 0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 74.0
          },
          "latest_10_games": [],
          "ranking": {
            "global_player_rank": 3585,
            "combined_rank_score": 1550.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": null,
            "sofascore_rating": null,
            "sofascore_appearances": 0.0,
            "fifa_rank": 2885.0,
            "fifa_overall": 74.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 13,
            "squad_role": "substitute",
            "projected_match_rating": 6.8,
            "source_file": "data/player_rankings.csv",
            "player_name": "Álvaro Ferllo",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Callum McGregor",
                  "ranking": 3580
                },
                {
                  "player_name": "Costinha",
                  "ranking": 3581
                },
                {
                  "player_name": "Gayà",
                  "ranking": 3582
                },
                {
                  "player_name": "Alisson Santos",
                  "ranking": 3583
                },
                {
                  "player_name": "Dakonam Djené",
                  "ranking": 3584
                }
              ],
              "lower": [
                {
                  "player_name": "Sivera",
                  "ranking": 3586
                },
                {
                  "player_name": "Kike García",
                  "ranking": 3587
                },
                {
                  "player_name": "Ephron Mason-Clark",
                  "ranking": 3588
                },
                {
                  "player_name": "Zubeldia",
                  "ranking": 3589
                },
                {
                  "player_name": "Hugo Rincón",
                  "ranking": 3590
                }
              ]
            }
          },
          "data_sources": [
            "market_value"
          ],
          "data_confidence": 0.25,
          "history_matches": 0,
          "xgboost_reasoning": {
            "model_source": "market_value_prior",
            "position_service": "G_service",
            "features_evaluated": [],
            "targets_predicted": [],
            "history_matches": 0,
            "data_confidence": 0.25,
            "data_sources": [
              "market_value"
            ],
            "bench_expected_minutes": 4.392222187561249,
            "bench_appearance_prob": 0.10873737216187492,
            "market_value_adjustment": 0.4374,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection from market-value prior (€2,100,000) scaled to 4.4 expected mins."
          },
          "stat_evolution": [
            {
              "step": "market_value_prior",
              "description": "Market-value baseline for position G (quality 0.44)",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.45,
                "rating": 6.8,
                "minutes": 90,
                "total_pass": 27,
                "accurate_pass": 20,
                "total_long_balls": 8,
                "accurate_long_balls": 4,
                "touches": 32,
                "clearances": 1,
                "ball_recovery": 1,
                "high_claims": 0,
                "punches": 0.3,
                "aerial_won": 1,
                "sweeper_actions": 1,
                "sweeper_accurate": 1,
                "saves_inside_box": 1,
                "possession_lost": 2.4,
                "duels_won": 0,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 21,
                "accurate_own_half_passes": 16
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 4.4 expected minutes (appearance prob 0.11)",
              "stats": {
                "saves": 0,
                "goals_prevented": 0.022,
                "rating": 6.8,
                "minutes": 4,
                "total_pass": 1,
                "accurate_pass": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "touches": 2,
                "clearances": 0,
                "ball_recovery": 0,
                "high_claims": 0,
                "punches": 0.0146,
                "aerial_won": 0,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 0,
                "possession_lost": 0.1171,
                "duels_won": 0,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "bench_appearance_probability": 0.109,
                "bench_expected_minutes": 4.39
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "saves": 0,
                "goals_prevented": 0.022,
                "rating": 6.8,
                "minutes": 4,
                "total_pass": 1,
                "accurate_pass": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "touches": 2,
                "clearances": 0,
                "ball_recovery": 0,
                "high_claims": 0,
                "punches": 0.0146,
                "aerial_won": 0,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 0,
                "possession_lost": 0.1171,
                "duels_won": 0,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "bench_appearance_probability": 0.109,
                "bench_expected_minutes": 4.39
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 13, fifa_overall 74.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": 2,
                "projected_substitution_expected_count": 2.422,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "available_bench_not_projected_used",
                "goals": 0,
                "projected_goals": 0,
                "goal_probability": 0.0,
                "assists": 0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 74.0
              }
            }
          ]
        },
        "Adrià Altimira": {
          "player_id": 980732,
          "position": "D",
          "position_depth": "D_BENCH",
          "is_starter": false,
          "shirt_number": 2,
          "height": 170,
          "market_value": 1700000,
          "stats": {
            "interceptions": 0,
            "tackles": 0,
            "tackles_won": 0,
            "clearances": 0,
            "aerial_won": 0,
            "rating": 6.5693,
            "minutes": 14,
            "total_pass": 1,
            "accurate_pass": 1,
            "duels_won": 0,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_own_half_passes": 0,
            "accurate_own_half_passes": 0,
            "total_opp_half_passes": 1,
            "accurate_opp_half_passes": 1,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 3,
            "possession_lost": 0.3448,
            "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": 0,
            "blocks": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.0,
            "expected_assists": 0.003,
            "total_shots": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0,
            "ball_carries": 0,
            "total_progression": 0,
            "progressive_carries": 0,
            "key_pass": 0,
            "bench_appearance_probability": 0.299,
            "bench_expected_minutes": 13.57,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 2,
            "projected_substitution_expected_count": 2.422,
            "projected_substitution_game_state_adjustment": 0,
            "substitution_usage": "available_bench_not_projected_used",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 82.0
          },
          "latest_10_games": [
            {
              "match_id": 16416291.0,
              "match_date": "2026-08-30",
              "home_team": "Deportivo de A Coruña",
              "away_team": "Valencia",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Deportivo de A Coruña",
              "opponent": "Valencia",
              "stats": {
                "minutes": 20,
                "rating": 6.9,
                "assists": 0,
                "expected_assists": 0.0001,
                "total_shots": 0,
                "total_pass": 2,
                "accurate_pass": 2,
                "tackles": 2,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 2,
                "duels_won": 4,
                "ball_recovery": 1
              },
              "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": 16416307.0,
              "match_date": "2026-08-24",
              "home_team": "Málaga CF",
              "away_team": "Deportivo de A Coruña",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo de A Coruña",
              "opponent": "Málaga CF",
              "stats": {
                "minutes": 62,
                "rating": 6.4,
                "assists": 0,
                "expected_assists": 0.0017,
                "total_shots": 0,
                "total_pass": 12,
                "accurate_pass": 10,
                "tackles": 1,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 3,
                "ball_recovery": 1
              },
              "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": "home",
              "is_starting_11": 1,
              "team": "Deportivo de A Coruña",
              "opponent": "Elche",
              "stats": {
                "minutes": 71,
                "rating": 6.9,
                "assists": 0,
                "expected_assists": 0.0487,
                "total_shots": 0,
                "total_pass": 14,
                "accurate_pass": 13,
                "key_pass": 1,
                "tackles": 2,
                "tackles_won": 2,
                "duels_won": 3,
                "ball_recovery": 2
              },
              "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": 689,
            "combined_rank_score": 360.5,
            "ranking_source": "sofascore_plus_fifa_csv_filled",
            "ranking_status": "combined",
            "sofascore_rank": 336.0,
            "sofascore_rating": 7.0,
            "sofascore_appearances": 1.0,
            "fifa_rank": 385.0,
            "fifa_overall": 82.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 15,
            "squad_role": "substitute",
            "projected_match_rating": 6.5693,
            "source_file": "data/player_rankings.csv",
            "player_name": "Adrià Altimira",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Andraž Šporar",
                  "ranking": 684
                },
                {
                  "player_name": "Abdul Fatawu Issahaku",
                  "ranking": 685
                },
                {
                  "player_name": "Kahiser Lenis",
                  "ranking": 686
                },
                {
                  "player_name": "Oleksandr Zinchenko",
                  "ranking": 687
                },
                {
                  "player_name": "Germán Valera",
                  "ranking": 688
                }
              ],
              "lower": [
                {
                  "player_name": "Kepa Arrizabalaga",
                  "ranking": 690
                },
                {
                  "player_name": "Hugo Ancajima",
                  "ranking": 691
                },
                {
                  "player_name": "Andrew",
                  "ranking": 692
                },
                {
                  "player_name": "Joseph Lacey",
                  "ranking": 693
                },
                {
                  "player_name": "Eui-jeong Park",
                  "ranking": 694
                }
              ]
            }
          },
          "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": 13.572222187561248,
            "bench_appearance_prob": 0.2987373721618749,
            "market_value_adjustment": 0.9812,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection scaled from XGBoost D_service (3 historical appearances) to 13.6 expected mins (appearance prob 0.30)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 6 target models",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 0,
                "clearances": 1,
                "aerial_won": 1,
                "rating": 6.6949,
                "minutes": 51,
                "total_pass": 9,
                "accurate_pass": 8,
                "duels_won": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 3,
                "accurate_own_half_passes": 3,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 17,
                "possession_lost": 2.33,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 1,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.02,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 2,
                "total_progression": 2,
                "progressive_carries": 0,
                "key_pass": 0
              },
              "trace": {
                "model": {
                  "position_service": "D",
                  "schema_version": 3,
                  "trained_at": "2026-09-15T10:01:44.724055+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 374,
                    "rows": 1289
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-08-30",
                    "opponent": "Valencia",
                    "minutes": 20.0,
                    "is_starting": false,
                    "weight": 0.3887,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-08-24",
                    "opponent": "Málaga CF",
                    "minutes": 62.0,
                    "is_starting": true,
                    "weight": 0.3304,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-08-17",
                    "opponent": "Elche",
                    "minutes": 71.0,
                    "is_starting": true,
                    "weight": 0.2809,
                    "rating": 6.9
                  }
                ],
                "feature_row": {
                  "history_matches": 3.0,
                  "is_starting_11": 0.0,
                  "accuratePass": 7.7328,
                  "touches_p90": 37.101,
                  "possessionLostCtrl": 2.2721,
                  "totalClearance": 1.1079,
                  "aerialWon": 0.3304
                },
                "per_target": [
                  {
                    "target": "interceptionWon",
                    "predicted": 0.5669355988502502,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0944
                      },
                      {
                        "name": "duel_win_rate",
                        "importance": 0.0353
                      },
                      {
                        "name": "duelWon_p90",
                        "importance": 0.0341
                      },
                      {
                        "name": "interceptionWon_p90",
                        "importance": 0.0326
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0322
                      }
                    ]
                  },
                  {
                    "target": "totalTackle",
                    "predicted": 0.8422874212265015,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "history_matches",
                        "importance": 0.0588
                      },
                      {
                        "name": "duelLost",
                        "importance": 0.0461
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0446
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0406
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0401
                      }
                    ]
                  },
                  {
                    "target": "wonTackle",
                    "predicted": 0.3907732367515564,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "history_matches",
                        "importance": 0.0565
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0432
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0353
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0347
                      },
                      {
                        "name": "wonTackle",
                        "importance": 0.0329
                      }
                    ]
                  },
                  {
                    "target": "totalClearance",
                    "predicted": 1.0409586429595947,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.11
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0506
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.0425
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0417
                      },
                      {
                        "name": "tackle_success_rate",
                        "importance": 0.0343
                      }
                    ]
                  },
                  {
                    "target": "aerialWon",
                    "predicted": 0.7614335417747498,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0798
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0597
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0439
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0426
                      },
                      {
                        "name": "errorLeadToAShot",
                        "importance": 0.0411
                      }
                    ]
                  },
                  {
                    "target": "rating",
                    "predicted": 6.694946765899658,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "touches_p90",
                        "importance": 0.0708
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0705
                      },
                      {
                        "name": "totalLongBalls",
                        "importance": 0.0537
                      },
                      {
                        "name": "pass_accuracy",
                        "importance": 0.0518
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0478
                      }
                    ]
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9812, quality 0.437)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 0,
                "clearances": 1,
                "aerial_won": 1,
                "rating": 6.5693,
                "minutes": 50,
                "total_pass": 9,
                "accurate_pass": 8,
                "duels_won": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 3,
                "accurate_own_half_passes": 3,
                "total_opp_half_passes": 6,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 17,
                "possession_lost": 2.2863,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 1,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0196,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 2,
                "total_progression": 2,
                "progressive_carries": 0,
                "key_pass": 0
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 13.6 expected minutes (appearance prob 0.30)",
              "stats": {
                "interceptions": 0,
                "tackles": 0,
                "tackles_won": 0,
                "clearances": 0,
                "aerial_won": 0,
                "rating": 6.5693,
                "minutes": 14,
                "total_pass": 1,
                "accurate_pass": 1,
                "duels_won": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 3,
                "possession_lost": 0.3448,
                "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": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.003,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "key_pass": 0,
                "bench_appearance_probability": 0.299,
                "bench_expected_minutes": 13.57
              }
            },
            {
              "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.5693,
                "minutes": 14,
                "total_pass": 1,
                "accurate_pass": 1,
                "duels_won": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 3,
                "possession_lost": 0.3448,
                "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": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.003,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "key_pass": 0,
                "bench_appearance_probability": 0.299,
                "bench_expected_minutes": 13.57
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 15, fifa_overall 82.0)",
              "stats": {
                "interceptions": 0,
                "tackles": 0,
                "tackles_won": 0,
                "clearances": 0,
                "aerial_won": 0,
                "rating": 6.5693,
                "minutes": 14,
                "total_pass": 1,
                "accurate_pass": 1,
                "duels_won": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 3,
                "possession_lost": 0.3448,
                "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": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.003,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "key_pass": 0,
                "bench_appearance_probability": 0.299,
                "bench_expected_minutes": 13.57,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.422,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "available_bench_not_projected_used",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 82.0
              }
            }
          ]
        },
        "Dani Barcia": {
          "player_id": 1100590,
          "position": "D",
          "position_depth": "D_BENCH",
          "is_starter": false,
          "shirt_number": 5,
          "height": 186,
          "market_value": 1300000,
          "stats": {
            "interceptions": 0,
            "tackles": 0,
            "tackles_won": 0,
            "clearances": 0,
            "aerial_won": 0,
            "duels_won": 1,
            "total_pass": 6,
            "accurate_pass": 5,
            "expected_goals": 0.0024,
            "rating": 6.8,
            "minutes": 14,
            "total_long_balls": 1,
            "accurate_long_balls": 0,
            "total_own_half_passes": 4,
            "accurate_own_half_passes": 3,
            "total_opp_half_passes": 1,
            "accurate_opp_half_passes": 1,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 9,
            "possession_lost": 0.935,
            "dispossessed": 0.4,
            "duels_lost": 0,
            "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.0068,
            "total_shots": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0018,
            "key_pass": 0,
            "ball_carries": 3,
            "total_progression": 8,
            "progressive_carries": 1,
            "bench_appearance_probability": 0.299,
            "bench_expected_minutes": 13.57,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 2,
            "projected_substitution_expected_count": 2.422,
            "projected_substitution_game_state_adjustment": 0,
            "substitution_usage": "available_bench_not_projected_used",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 71.0
          },
          "latest_10_games": [],
          "ranking": {
            "global_player_rank": 4555,
            "combined_rank_score": 2630.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": null,
            "sofascore_rating": null,
            "sofascore_appearances": 0.0,
            "fifa_rank": 5037.0,
            "fifa_overall": 71.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 17,
            "squad_role": "substitute",
            "projected_match_rating": 6.8,
            "source_file": "data/player_rankings.csv",
            "player_name": "Dani Barcia",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Abel Ruíz",
                  "ranking": 4550
                },
                {
                  "player_name": "Enzo Copetti",
                  "ranking": 4551
                },
                {
                  "player_name": "Milutin Osmajić",
                  "ranking": 4552
                },
                {
                  "player_name": "Alain Baroja",
                  "ranking": 4553
                },
                {
                  "player_name": "Omar Fernández",
                  "ranking": 4554
                }
              ],
              "lower": [
                {
                  "player_name": "Dimitrios Pelkas",
                  "ranking": 4556
                },
                {
                  "player_name": "Mohamed Elyounoussi",
                  "ranking": 4557
                },
                {
                  "player_name": "Nicklas Røjkjær",
                  "ranking": 4558
                },
                {
                  "player_name": "Felix Beijmo",
                  "ranking": 4559
                },
                {
                  "player_name": "Elías Rafn Ólafsson",
                  "ranking": 4560
                }
              ]
            }
          },
          "data_sources": [
            "market_value"
          ],
          "data_confidence": 0.25,
          "history_matches": 0,
          "xgboost_reasoning": {
            "model_source": "market_value_prior",
            "position_service": "D_service",
            "features_evaluated": [],
            "targets_predicted": [],
            "history_matches": 0,
            "data_confidence": 0.25,
            "data_sources": [
              "market_value"
            ],
            "bench_expected_minutes": 13.572222187561248,
            "bench_appearance_prob": 0.2987373721618749,
            "market_value_adjustment": 0.4374,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection from market-value prior (€1,300,000) scaled to 13.6 expected mins."
          },
          "stat_evolution": [
            {
              "step": "market_value_prior",
              "description": "Market-value baseline for position D (quality 0.44)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 2,
                "aerial_won": 2,
                "duels_won": 5,
                "total_pass": 42,
                "accurate_pass": 33,
                "expected_goals": 0.016,
                "rating": 6.8,
                "minutes": 90,
                "total_long_balls": 5,
                "accurate_long_balls": 3,
                "total_own_half_passes": 27,
                "accurate_own_half_passes": 21,
                "total_opp_half_passes": 9,
                "accurate_opp_half_passes": 6,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 58,
                "possession_lost": 6.2,
                "dispossessed": 0.4,
                "duels_lost": 3,
                "aerial_lost": 2,
                "total_contest": 4,
                "won_contest": 2,
                "ball_recovery": 5,
                "challenges_lost": 1,
                "fouls": 1,
                "fouls_drawn": 1,
                "blocks": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_assists": 0.045,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.012,
                "key_pass": 0,
                "ball_carries": 19,
                "total_progression": 56,
                "progressive_carries": 4
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 13.6 expected minutes (appearance prob 0.30)",
              "stats": {
                "interceptions": 0,
                "tackles": 0,
                "tackles_won": 0,
                "clearances": 0,
                "aerial_won": 0,
                "duels_won": 1,
                "total_pass": 6,
                "accurate_pass": 5,
                "expected_goals": 0.0024,
                "rating": 6.8,
                "minutes": 14,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 4,
                "accurate_own_half_passes": 3,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 9,
                "possession_lost": 0.935,
                "dispossessed": 0.4,
                "duels_lost": 0,
                "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.0068,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0018,
                "key_pass": 0,
                "ball_carries": 3,
                "total_progression": 8,
                "progressive_carries": 1,
                "bench_appearance_probability": 0.299,
                "bench_expected_minutes": 13.57
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 0,
                "tackles": 0,
                "tackles_won": 0,
                "clearances": 0,
                "aerial_won": 0,
                "duels_won": 1,
                "total_pass": 6,
                "accurate_pass": 5,
                "expected_goals": 0.0024,
                "rating": 6.8,
                "minutes": 14,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 4,
                "accurate_own_half_passes": 3,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 9,
                "possession_lost": 0.935,
                "dispossessed": 0.4,
                "duels_lost": 0,
                "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.0068,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0018,
                "key_pass": 0,
                "ball_carries": 3,
                "total_progression": 8,
                "progressive_carries": 1,
                "bench_appearance_probability": 0.299,
                "bench_expected_minutes": 13.57
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 17, fifa_overall 71.0)",
              "stats": {
                "interceptions": 0,
                "tackles": 0,
                "tackles_won": 0,
                "clearances": 0,
                "aerial_won": 0,
                "duels_won": 1,
                "total_pass": 6,
                "accurate_pass": 5,
                "expected_goals": 0.0024,
                "rating": 6.8,
                "minutes": 14,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 4,
                "accurate_own_half_passes": 3,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 9,
                "possession_lost": 0.935,
                "dispossessed": 0.4,
                "duels_lost": 0,
                "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.0068,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0018,
                "key_pass": 0,
                "ball_carries": 3,
                "total_progression": 8,
                "progressive_carries": 1,
                "bench_appearance_probability": 0.299,
                "bench_expected_minutes": 13.57,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.422,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "available_bench_not_projected_used",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 71.0
              }
            }
          ]
        },
        "David Mella": {
          "player_id": 1146312,
          "position": "M",
          "position_depth": "M_BENCH",
          "is_starter": false,
          "shirt_number": 11,
          "height": 169,
          "market_value": 4500000,
          "stats": {
            "key_pass": 0,
            "expected_assists": 0.012,
            "assists": 0,
            "expected_goals": 0.0078,
            "rating": 6.6036,
            "minutes": 22,
            "total_pass": 1,
            "accurate_pass": 1,
            "duels_won": 0,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_own_half_passes": 0,
            "accurate_own_half_passes": 0,
            "total_opp_half_passes": 1,
            "accurate_opp_half_passes": 1,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 3,
            "possession_lost": 1.2086,
            "dispossessed": 0.0,
            "duels_lost": 1,
            "aerial_won": 0,
            "aerial_lost": 1,
            "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": 4,
            "progressive_carries": 0,
            "bench_appearance_probability": 0.502,
            "bench_expected_minutes": 22.05,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 2,
            "projected_substitution_expected_count": 2.422,
            "projected_substitution_game_state_adjustment": 0,
            "substitution_usage": "available_bench_not_projected_used",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 78.0
          },
          "latest_10_games": [
            {
              "match_id": 16416307.0,
              "match_date": "2026-08-24",
              "home_team": "Málaga CF",
              "away_team": "Deportivo de A Coruña",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Deportivo de A Coruña",
              "opponent": "Málaga CF",
              "stats": {
                "minutes": 28,
                "rating": 6.7,
                "assists": 0,
                "expected_assists": 0.0055,
                "total_shots": 0,
                "total_pass": 5,
                "accurate_pass": 4,
                "interceptions": 1,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 2
              },
              "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": "home",
              "is_starting_11": 0,
              "team": "Deportivo de A Coruña",
              "opponent": "Elche",
              "stats": {
                "minutes": 19,
                "rating": 6.3,
                "assists": 0,
                "expected_assists": 0.0041,
                "total_shots": 0,
                "total_pass": 6,
                "accurate_pass": 3,
                "tackles": 1,
                "tackles_won": 1,
                "duels_won": 1,
                "ball_recovery": 3
              },
              "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": 2555,
            "combined_rank_score": 1059.5,
            "ranking_source": "sofascore_plus_fifa_csv_filled",
            "ranking_status": "combined",
            "sofascore_rank": 915.0,
            "sofascore_rating": 6.5,
            "sofascore_appearances": 2.0,
            "fifa_rank": 1204.0,
            "fifa_overall": 78.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 8,
            "squad_role": "substitute",
            "projected_match_rating": 6.6036,
            "source_file": "data/player_rankings.csv",
            "player_name": "David Mella",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Adam Bugarija",
                  "ranking": 2550
                },
                {
                  "player_name": "Beom-hwan Kim",
                  "ranking": 2551
                },
                {
                  "player_name": "Myles Beerman",
                  "ranking": 2552
                },
                {
                  "player_name": "Yoon-hwan Lee",
                  "ranking": 2553
                },
                {
                  "player_name": "Tokhirbek Tukhtasinov",
                  "ranking": 2554
                }
              ],
              "lower": [
                {
                  "player_name": "José Luis Pérez",
                  "ranking": 2556
                },
                {
                  "player_name": "Sultanboy Ismoilov",
                  "ranking": 2557
                },
                {
                  "player_name": "Gerald Taylor",
                  "ranking": 2558
                },
                {
                  "player_name": "Felipe Villagrán",
                  "ranking": 2559
                },
                {
                  "player_name": "Danilo Catalán",
                  "ranking": 2560
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.375,
          "history_matches": 2,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "M_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "keyPass",
              "expectedAssists",
              "totalCross",
              "accurateCross",
              "duelWon",
              "duelLost",
              "aerialWon",
              "ballRecovery",
              "touches",
              "interceptionWon",
              "wonTackle",
              "possessionLostCtrl",
              "dispossessed",
              "numberOfSprints",
              "kilometersCovered",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "creative_index",
              "touches_p90",
              "totalPass_p90",
              "keyPass_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "ballCarriesCount_p90",
              "creative_efficiency",
              "cross_accuracy",
              "cross_creative_contribution",
              "defensive_midfield_actions",
              "press_vulnerability",
              "progressive_carries_p90",
              "intensity_index",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "rating"
            ],
            "history_matches": 2,
            "data_confidence": 0.375,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "bench_expected_minutes": 22.045815006556694,
            "bench_appearance_prob": 0.5020825002980316,
            "market_value_adjustment": 0.9868,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection scaled from XGBoost M_service (2 historical appearances) to 22.0 expected mins (appearance prob 0.50)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 5 target models",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0496,
                "assists": 0,
                "expected_goals": 0.0323,
                "rating": 6.6919,
                "minutes": 24,
                "total_pass": 6,
                "accurate_pass": 4,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 5,
                "accurate_opp_half_passes": 3,
                "crosses_total": 2,
                "crosses_accurate": 0,
                "touches": 12,
                "possession_lost": 5.0,
                "dispossessed": 0.0,
                "duels_lost": 4,
                "aerial_won": 0,
                "aerial_lost": 1,
                "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": 4,
                "total_progression": 17,
                "progressive_carries": 0
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 3,
                  "trained_at": "2026-09-15T10:01:48.236605+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 461,
                    "rows": 1422
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-08-24",
                    "opponent": "Málaga CF",
                    "minutes": 28.0,
                    "is_starting": false,
                    "weight": 0.5405,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-08-17",
                    "opponent": "Elche",
                    "minutes": 19.0,
                    "is_starting": false,
                    "weight": 0.4595,
                    "rating": 6.3
                  }
                ],
                "feature_row": {
                  "history_matches": 2.0,
                  "is_starting_11": 0.0,
                  "ballRecovery_p90": 10.0041,
                  "ballRecovery": 2.4595,
                  "intensity_index": 4.6111,
                  "expectedAssists": 0.0048,
                  "kilometersCovered": 3.073
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 0.4993049204349518,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0551
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0489
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0393
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.035
                      },
                      {
                        "name": "accurateCross",
                        "importance": 0.0319
                      }
                    ]
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.04958584904670715,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "cross_creative_contribution",
                        "importance": 0.0714
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0375
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0361
                      },
                      {
                        "name": "accurateCross",
                        "importance": 0.0356
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.0345
                      }
                    ]
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.07987534999847412,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0442
                      },
                      {
                        "name": "keyPass_p90",
                        "importance": 0.0378
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0368
                      },
                      {
                        "name": "cross_accuracy",
                        "importance": 0.036
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0315
                      }
                    ]
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.03225469961762428,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.077
                      },
                      {
                        "name": "intensity_index",
                        "importance": 0.0622
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0454
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0399
                      },
                      {
                        "name": "numberOfSprints",
                        "importance": 0.0384
                      }
                    ]
                  },
                  {
                    "target": "rating",
                    "predicted": 6.691948413848877,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "ballRecovery_p90",
                        "importance": 0.0847
                      },
                      {
                        "name": "ballRecovery",
                        "importance": 0.0836
                      },
                      {
                        "name": "kilometersCovered",
                        "importance": 0.0597
                      },
                      {
                        "name": "defensive_midfield_actions",
                        "importance": 0.05
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0441
                      }
                    ]
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9868, quality 0.456)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0489,
                "assists": 0,
                "expected_goals": 0.0318,
                "rating": 6.6036,
                "minutes": 23,
                "total_pass": 5,
                "accurate_pass": 3,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 5,
                "accurate_opp_half_passes": 3,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 12,
                "possession_lost": 4.934,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_won": 0,
                "aerial_lost": 1,
                "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": 4,
                "total_progression": 17,
                "progressive_carries": 0
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 22.0 expected minutes (appearance prob 0.50)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.012,
                "assists": 0,
                "expected_goals": 0.0078,
                "rating": 6.6036,
                "minutes": 22,
                "total_pass": 1,
                "accurate_pass": 1,
                "duels_won": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 3,
                "possession_lost": 1.2086,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 1,
                "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": 4,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.502,
                "bench_expected_minutes": 22.05
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.012,
                "assists": 0,
                "expected_goals": 0.0078,
                "rating": 6.6036,
                "minutes": 22,
                "total_pass": 1,
                "accurate_pass": 1,
                "duels_won": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 3,
                "possession_lost": 1.2086,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 1,
                "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": 4,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.502,
                "bench_expected_minutes": 22.05
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 8, fifa_overall 78.0)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.012,
                "assists": 0,
                "expected_goals": 0.0078,
                "rating": 6.6036,
                "minutes": 22,
                "total_pass": 1,
                "accurate_pass": 1,
                "duels_won": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 3,
                "possession_lost": 1.2086,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 1,
                "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": 4,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.502,
                "bench_expected_minutes": 22.05,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.422,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "available_bench_not_projected_used",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 78.0
              }
            }
          ]
        },
        "Angeliño": {
          "player_id": 848355,
          "position": "M",
          "position_depth": "M_BENCH",
          "is_starter": false,
          "shirt_number": 24,
          "height": 171,
          "market_value": 4200000,
          "stats": {
            "key_pass": 0,
            "assists": 0,
            "expected_assists": 0.0318,
            "expected_goals": 0.0203,
            "total_shots": 0,
            "total_pass": 12,
            "accurate_pass": 10,
            "ball_recovery": 1,
            "duels_won": 1,
            "rating": 6.9,
            "minutes": 22,
            "total_long_balls": 1,
            "accurate_long_balls": 0,
            "total_own_half_passes": 5,
            "accurate_own_half_passes": 4,
            "total_opp_half_passes": 5,
            "accurate_opp_half_passes": 3,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 16,
            "possession_lost": 2.0073,
            "dispossessed": 0.8,
            "duels_lost": 1,
            "aerial_won": 0,
            "aerial_lost": 1,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "total_contest": 1,
            "won_contest": 1,
            "challenges_lost": 1,
            "fouls": 0,
            "fouls_drawn": 0,
            "goal_rate": 0.0171,
            "goals": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0135,
            "ball_carries": 7,
            "total_progression": 19,
            "progressive_carries": 2,
            "bench_appearance_probability": 0.501,
            "bench_expected_minutes": 22.03,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 2,
            "projected_substitution_expected_count": 2.422,
            "projected_substitution_game_state_adjustment": 0,
            "substitution_usage": "available_bench_not_projected_used",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 78.0
          },
          "latest_10_games": [],
          "ranking": {
            "global_player_rank": 1704,
            "combined_rank_score": 690.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": null,
            "sofascore_rating": null,
            "sofascore_appearances": 0.0,
            "fifa_rank": 1185.0,
            "fifa_overall": 78.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 9,
            "squad_role": "substitute",
            "projected_match_rating": 6.9,
            "source_file": "data/player_rankings.csv",
            "player_name": "Angeliño",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Arthur Theate",
                  "ranking": 1699
                },
                {
                  "player_name": "Javokhir Kakhramonov",
                  "ranking": 1700
                },
                {
                  "player_name": "Wilson Odobert",
                  "ranking": 1701
                },
                {
                  "player_name": "Aitor Paredes",
                  "ranking": 1702
                },
                {
                  "player_name": "Danny Welbeck",
                  "ranking": 1703
                }
              ],
              "lower": [
                {
                  "player_name": "Park Kyu-Min",
                  "ranking": 1705
                },
                {
                  "player_name": "Valentín Vidal",
                  "ranking": 1706
                },
                {
                  "player_name": "Tyler Adams",
                  "ranking": 1707
                },
                {
                  "player_name": "Ryu Jun-sun",
                  "ranking": 1708
                },
                {
                  "player_name": "Dan Burn",
                  "ranking": 1709
                }
              ]
            }
          },
          "data_sources": [
            "market_value"
          ],
          "data_confidence": 0.25,
          "history_matches": 0,
          "xgboost_reasoning": {
            "model_source": "market_value_prior",
            "position_service": "M_service",
            "features_evaluated": [],
            "targets_predicted": [],
            "history_matches": 0,
            "data_confidence": 0.25,
            "data_sources": [
              "market_value"
            ],
            "bench_expected_minutes": 22.031139321914328,
            "bench_appearance_prob": 0.5014154237233786,
            "market_value_adjustment": 0.4523,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection from market-value prior (€4,200,000) scaled to 22.0 expected mins."
          },
          "stat_evolution": [
            {
              "step": "market_value_prior",
              "description": "Market-value baseline for position M (quality 0.45)",
              "stats": {
                "key_pass": 2,
                "assists": 0,
                "expected_assists": 0.13,
                "expected_goals": 0.083,
                "total_shots": 1,
                "total_pass": 50,
                "accurate_pass": 40,
                "ball_recovery": 5,
                "duels_won": 6,
                "rating": 6.9,
                "minutes": 90,
                "total_long_balls": 4,
                "accurate_long_balls": 2,
                "total_own_half_passes": 20,
                "accurate_own_half_passes": 16,
                "total_opp_half_passes": 19,
                "accurate_opp_half_passes": 14,
                "crosses_total": 1,
                "crosses_accurate": 1,
                "touches": 66,
                "possession_lost": 8.2,
                "dispossessed": 0.8,
                "duels_lost": 4,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 1,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 1,
                "total_contest": 4,
                "won_contest": 2,
                "challenges_lost": 1,
                "fouls": 2,
                "fouls_drawn": 1,
                "goal_rate": 0.07,
                "goals": 0,
                "shots_on_target": 1,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.055,
                "ball_carries": 29,
                "total_progression": 76,
                "progressive_carries": 7
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 22.0 expected minutes (appearance prob 0.50)",
              "stats": {
                "key_pass": 0,
                "assists": 0,
                "expected_assists": 0.0318,
                "expected_goals": 0.0203,
                "total_shots": 0,
                "total_pass": 12,
                "accurate_pass": 10,
                "ball_recovery": 1,
                "duels_won": 1,
                "rating": 6.9,
                "minutes": 22,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 5,
                "accurate_own_half_passes": 4,
                "total_opp_half_passes": 5,
                "accurate_opp_half_passes": 3,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 16,
                "possession_lost": 2.0073,
                "dispossessed": 0.8,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0171,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0135,
                "ball_carries": 7,
                "total_progression": 19,
                "progressive_carries": 2,
                "bench_appearance_probability": 0.501,
                "bench_expected_minutes": 22.03
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 0,
                "assists": 0,
                "expected_assists": 0.0318,
                "expected_goals": 0.0203,
                "total_shots": 0,
                "total_pass": 12,
                "accurate_pass": 10,
                "ball_recovery": 1,
                "duels_won": 1,
                "rating": 6.9,
                "minutes": 22,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 5,
                "accurate_own_half_passes": 4,
                "total_opp_half_passes": 5,
                "accurate_opp_half_passes": 3,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 16,
                "possession_lost": 2.0073,
                "dispossessed": 0.8,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0171,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0135,
                "ball_carries": 7,
                "total_progression": 19,
                "progressive_carries": 2,
                "bench_appearance_probability": 0.501,
                "bench_expected_minutes": 22.03
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 9, fifa_overall 78.0)",
              "stats": {
                "key_pass": 0,
                "assists": 0,
                "expected_assists": 0.0318,
                "expected_goals": 0.0203,
                "total_shots": 0,
                "total_pass": 12,
                "accurate_pass": 10,
                "ball_recovery": 1,
                "duels_won": 1,
                "rating": 6.9,
                "minutes": 22,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 5,
                "accurate_own_half_passes": 4,
                "total_opp_half_passes": 5,
                "accurate_opp_half_passes": 3,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 16,
                "possession_lost": 2.0073,
                "dispossessed": 0.8,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 1,
                "won_contest": 1,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0171,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0135,
                "ball_carries": 7,
                "total_progression": 19,
                "progressive_carries": 2,
                "bench_appearance_probability": 0.501,
                "bench_expected_minutes": 22.03,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.422,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "available_bench_not_projected_used",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 78.0
              }
            }
          ]
        },
        "Jonathan Asp Jensen": {
          "player_id": 1146545,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 18,
          "height": 182,
          "market_value": 3900000,
          "stats": {
            "expected_goals": 0.0601,
            "goal_rate": 0.039,
            "goals": 0,
            "shots_on_target": 0,
            "expected_assists": 0.0061,
            "key_pass": 0,
            "rating": 6.5937,
            "minutes": 25,
            "total_pass": 2,
            "accurate_pass": 2,
            "duels_won": 1,
            "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": 4,
            "possession_lost": 0.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": 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": 1,
            "total_progression": 5,
            "progressive_carries": 0,
            "bench_appearance_probability": 0.561,
            "bench_expected_minutes": 25.34,
            "projected_substitution_order": 1,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 2,
            "projected_substitution_expected_count": 2.422,
            "projected_substitution_game_state_adjustment": 0,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 69.0
          },
          "latest_10_games": [
            {
              "match_id": 16416291.0,
              "match_date": "2026-08-30",
              "home_team": "Deportivo de A Coruña",
              "away_team": "Valencia",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Deportivo de A Coruña",
              "opponent": "Valencia",
              "stats": {
                "minutes": 11,
                "rating": 6.5,
                "assists": 0,
                "expected_goals": 0.0328,
                "expected_assists": 0.0,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 1,
                "accurate_pass": 1
              },
              "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": 16416307.0,
              "match_date": "2026-08-24",
              "home_team": "Málaga CF",
              "away_team": "Deportivo de A Coruña",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo de A Coruña",
              "opponent": "Málaga CF",
              "stats": {
                "minutes": 62,
                "rating": 6.3,
                "assists": 0,
                "expected_goals": 0.0302,
                "expected_assists": 0.0184,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 15,
                "accurate_pass": 12,
                "clearances": 1,
                "duels_won": 1,
                "ball_recovery": 1
              },
              "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": "home",
              "is_starting_11": 1,
              "team": "Deportivo de A Coruña",
              "opponent": "Elche",
              "stats": {
                "minutes": 60,
                "rating": 6.5,
                "assists": 0,
                "expected_goals": 0.0312,
                "expected_assists": 0.003,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 9,
                "accurate_pass": 7,
                "tackles": 2,
                "tackles_won": 2,
                "duels_won": 2,
                "ball_recovery": 2
              },
              "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": 5662,
            "combined_rank_score": 3934.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 915.0,
            "sofascore_rating": 6.5,
            "sofascore_appearances": 1.0,
            "fifa_rank": 6954.0,
            "fifa_overall": 69.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 10,
            "squad_role": "substitute",
            "projected_match_rating": 6.5937,
            "source_file": "data/player_rankings.csv",
            "player_name": "Jonathan Asp Jensen",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Oleksandr Svatok",
                  "ranking": 5657
                },
                {
                  "player_name": "Dimitar Mitov",
                  "ranking": 5658
                },
                {
                  "player_name": "Víctor Dávila",
                  "ranking": 5659
                },
                {
                  "player_name": "Ulrik Saltnes",
                  "ranking": 5660
                },
                {
                  "player_name": "Kareem Tunde",
                  "ranking": 5661
                }
              ],
              "lower": [
                {
                  "player_name": "Wes Burns",
                  "ranking": 5663
                },
                {
                  "player_name": "Rodrigo Morínigo",
                  "ranking": 5664
                },
                {
                  "player_name": "Nicolás Lodeiro",
                  "ranking": 5665
                },
                {
                  "player_name": "Kalvin Phillips",
                  "ranking": 5666
                },
                {
                  "player_name": "Filip Krastev",
                  "ranking": 5667
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.438,
          "history_matches": 3,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "F_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "onTargetScoringAttempt",
              "shotOffTarget",
              "bigChanceMissed",
              "expectedAssists",
              "keyPass",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "touches",
              "dispossessed",
              "wasFouled",
              "topSpeed",
              "numberOfSprints",
              "ballRecovery",
              "possessionLostCtrl",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "shot_accuracy",
              "xg_per_shot",
              "touches_p90",
              "totalShots_p90",
              "duelWon_p90",
              "ballCarriesCount_p90",
              "big_chance_conversion",
              "shot_waste_rate",
              "aerial_dominance",
              "press_resistance_fwd",
              "speed_threat",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "expectedAssists",
              "keyPass",
              "rating"
            ],
            "history_matches": 3,
            "data_confidence": 0.438,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "bench_expected_minutes": 25.33644058998921,
            "bench_appearance_prob": 0.5607472995449642,
            "market_value_adjustment": 0.9846,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection scaled from XGBoost F_service (3 historical appearances) to 25.3 expected mins (appearance prob 0.56)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 6 target models",
              "stats": {
                "expected_goals": 0.1147,
                "goal_rate": 0.1407,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0219,
                "key_pass": 0,
                "rating": 6.697,
                "minutes": 44,
                "total_pass": 8,
                "accurate_pass": 7,
                "duels_won": 3,
                "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": 14,
                "possession_lost": 0.0,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 4,
                "total_progression": 17,
                "progressive_carries": 1
              },
              "trace": {
                "model": {
                  "position_service": "F",
                  "schema_version": 3,
                  "trained_at": "2026-09-15T10:01:52.318462+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 278,
                    "rows": 769
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-08-30",
                    "opponent": "Valencia",
                    "minutes": 11.0,
                    "is_starting": false,
                    "weight": 0.3887,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-08-24",
                    "opponent": "Málaga CF",
                    "minutes": 62.0,
                    "is_starting": true,
                    "weight": 0.3304,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-08-17",
                    "opponent": "Elche",
                    "minutes": 60.0,
                    "is_starting": true,
                    "weight": 0.2809,
                    "rating": 6.5
                  }
                ],
                "feature_row": {
                  "history_matches": 3.0,
                  "is_starting_11": 0.0,
                  "onTargetScoringAttempt": 0.7191,
                  "totalShots": 1.0,
                  "minutesPlayed": 41.6132,
                  "touches": 13.3333,
                  "dribbleValueNormalized": 0.082
                },
                "per_target": [
                  {
                    "target": "expectedGoals",
                    "predicted": 0.11472064256668091,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "minutesPlayed",
                        "importance": 0.093
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0745
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0545
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.043
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0314
                      }
                    ]
                  },
                  {
                    "target": "goals",
                    "predicted": 0.14065974950790405,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.1
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0715
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0371
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0298
                      },
                      {
                        "name": "passValueNormalized",
                        "importance": 0.0268
                      }
                    ]
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.5139478445053101,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0703
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0583
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0486
                      },
                      {
                        "name": "touches",
                        "importance": 0.0401
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0347
                      }
                    ]
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.021901464089751244,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "touches",
                        "importance": 0.0802
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0621
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0547
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0537
                      },
                      {
                        "name": "numberOfSprints",
                        "importance": 0.0397
                      }
                    ]
                  },
                  {
                    "target": "keyPass",
                    "predicted": 0.3693397641181946,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0738
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0657
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0615
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0458
                      },
                      {
                        "name": "aerialLost",
                        "importance": 0.0313
                      }
                    ]
                  },
                  {
                    "target": "rating",
                    "predicted": 6.697011470794678,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "speed_threat",
                        "importance": 0.0598
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0489
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0439
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0425
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0404
                      }
                    ]
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9846, quality 0.449)",
              "stats": {
                "expected_goals": 0.113,
                "goal_rate": 0.1385,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0216,
                "key_pass": 0,
                "rating": 6.5937,
                "minutes": 44,
                "total_pass": 8,
                "accurate_pass": 7,
                "duels_won": 3,
                "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": 14,
                "possession_lost": 0.0,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 4,
                "total_progression": 17,
                "progressive_carries": 1
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 25.3 expected minutes (appearance prob 0.56)",
              "stats": {
                "expected_goals": 0.0318,
                "goal_rate": 0.039,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0061,
                "key_pass": 0,
                "rating": 6.5937,
                "minutes": 25,
                "total_pass": 2,
                "accurate_pass": 2,
                "duels_won": 1,
                "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": 4,
                "possession_lost": 0.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": 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": 1,
                "total_progression": 5,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.561,
                "bench_expected_minutes": 25.34
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.0318,
                "goal_rate": 0.039,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0061,
                "key_pass": 0,
                "rating": 6.5937,
                "minutes": 25,
                "total_pass": 2,
                "accurate_pass": 2,
                "duels_won": 1,
                "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": 4,
                "possession_lost": 0.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": 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": 1,
                "total_progression": 5,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.561,
                "bench_expected_minutes": 25.34
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.36 (squad xG sum 0.7214, xG scale 1.8894)",
              "stats": {
                "expected_goals": 0.0601,
                "goal_rate": 0.039,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0061,
                "key_pass": 0,
                "rating": 6.5937,
                "minutes": 25,
                "total_pass": 2,
                "accurate_pass": 2,
                "duels_won": 1,
                "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": 4,
                "possession_lost": 0.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": 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": 1,
                "total_progression": 5,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.561,
                "bench_expected_minutes": 25.34,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.422,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 10, fifa_overall 69.0)",
              "stats": {
                "expected_goals": 0.0601,
                "goal_rate": 0.039,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0061,
                "key_pass": 0,
                "rating": 6.5937,
                "minutes": 25,
                "total_pass": 2,
                "accurate_pass": 2,
                "duels_won": 1,
                "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": 4,
                "possession_lost": 0.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": 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": 1,
                "total_progression": 5,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.561,
                "bench_expected_minutes": 25.34,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.422,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 69.0
              }
            }
          ]
        },
        "Bil Nsongo": {
          "player_id": 2335487,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 32,
          "height": 182,
          "market_value": 3200000,
          "stats": {
            "expected_goals": 0.0692,
            "goal_rate": 0.0546,
            "goals": 0,
            "shots_on_target": 0,
            "expected_assists": 0.0091,
            "key_pass": 0,
            "rating": 6.6106,
            "minutes": 25,
            "total_pass": 4,
            "accurate_pass": 3,
            "duels_won": 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.6226,
            "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": 0,
            "assists": 0,
            "shots_off_target": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 1,
            "clearances": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "offsides": 0,
            "ball_carries": 2,
            "total_progression": 3,
            "progressive_carries": 0,
            "bench_appearance_probability": 0.559,
            "bench_expected_minutes": 25.3,
            "projected_substitution_order": 2,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 2,
            "projected_substitution_expected_count": 2.422,
            "projected_substitution_game_state_adjustment": 0,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 69.0
          },
          "latest_10_games": [
            {
              "match_type": "played",
              "match_id": 16416326.0,
              "match_date": "2026-09-13 16:30:00 UTC",
              "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",
              "home_team": "Getafe",
              "away_team": "Deportivo",
              "home_score_current": 1.0,
              "away_score_current": 1.0,
              "team_side": "away",
              "status_code": 100.0,
              "status_type": "finished",
              "status_description": "Ended",
              "player_status": "starter",
              "is_starting_11": true,
              "team": "Deportivo",
              "opponent": "Getafe",
              "stats": {},
              "has_player_stats": false,
              "source": "depth_chart.csv"
            },
            {
              "match_id": 16416324.0,
              "match_date": "2026-09-05",
              "home_team": "Villarreal",
              "away_team": "Deportivo de A Coruña",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo de A Coruña",
              "opponent": "Villarreal",
              "stats": {
                "minutes": 66,
                "rating": 7.2,
                "assists": 0,
                "expected_goals": 0.0244,
                "expected_assists": 0.0048,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 16,
                "accurate_pass": 12,
                "tackles": 3,
                "tackles_won": 1,
                "clearances": 1,
                "aerial_won": 2,
                "duels_won": 8,
                "ball_recovery": 2
              },
              "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": 16416291.0,
              "match_date": "2026-08-30",
              "home_team": "Deportivo de A Coruña",
              "away_team": "Valencia",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo de A Coruña",
              "opponent": "Valencia",
              "stats": {
                "minutes": 83,
                "rating": 6.6,
                "assists": 0,
                "expected_goals": 0.2769,
                "expected_assists": 0.0462,
                "total_shots": 2,
                "shots_off_target": 1,
                "total_pass": 25,
                "accurate_pass": 18,
                "key_pass": 2,
                "tackles": 2,
                "tackles_won": 2,
                "clearances": 1,
                "aerial_won": 4,
                "duels_won": 8,
                "ball_recovery": 1
              },
              "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": 16416307.0,
              "match_date": "2026-08-24",
              "home_team": "Málaga CF",
              "away_team": "Deportivo de A Coruña",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Deportivo de A Coruña",
              "opponent": "Málaga CF",
              "stats": {
                "minutes": 9,
                "rating": 6.7,
                "assists": 0,
                "expected_assists": 0.0016,
                "total_shots": 0,
                "total_pass": 4,
                "accurate_pass": 2,
                "tackles": 1,
                "duels_won": 2,
                "ball_recovery": 1
              },
              "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": "home",
              "is_starting_11": 1,
              "team": "Deportivo de A Coruña",
              "opponent": "Elche",
              "stats": {
                "minutes": 60,
                "rating": 6.8,
                "assists": 0,
                "expected_goals": 0.0104,
                "expected_assists": 0.0086,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 11,
                "accurate_pass": 9,
                "tackles": 2,
                "tackles_won": 2,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 4,
                "ball_recovery": 3
              },
              "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": 5567,
            "combined_rank_score": 3769.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 578.0,
            "sofascore_rating": 6.8,
            "sofascore_appearances": 1.0,
            "fifa_rank": 6960.0,
            "fifa_overall": 69.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 11,
            "squad_role": "substitute",
            "projected_match_rating": 6.6106,
            "source_file": "data/player_rankings.csv",
            "player_name": "Bil Nsongo",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Guilherme Bissoli",
                  "ranking": 5562
                },
                {
                  "player_name": "Caio Vidal",
                  "ranking": 5563
                },
                {
                  "player_name": "Erick Marcus",
                  "ranking": 5564
                },
                {
                  "player_name": "Kwadwo Duah",
                  "ranking": 5565
                },
                {
                  "player_name": "Mateusz Skrzypczak",
                  "ranking": 5566
                }
              ],
              "lower": [
                {
                  "player_name": "Einar Galilea",
                  "ranking": 5568
                },
                {
                  "player_name": "Ashley Barnes",
                  "ranking": 5569
                },
                {
                  "player_name": "Deian Sorescu",
                  "ranking": 5570
                },
                {
                  "player_name": "Vasilije Adžić",
                  "ranking": 5571
                },
                {
                  "player_name": "Luca De La Torre",
                  "ranking": 5572
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.5,
          "history_matches": 4,
          "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": 4,
            "data_confidence": 0.5,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "bench_expected_minutes": 25.30206294284004,
            "bench_appearance_prob": 0.5591846792200018,
            "market_value_adjustment": 0.982,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection scaled from XGBoost F_service (4 historical appearances) to 25.3 expected mins (appearance prob 0.56)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 6 target models",
              "stats": {
                "expected_goals": 0.1325,
                "goal_rate": 0.1979,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0328,
                "key_pass": 1,
                "rating": 6.732,
                "minutes": 54,
                "total_pass": 14,
                "accurate_pass": 10,
                "duels_won": 6,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 10,
                "accurate_opp_half_passes": 6,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 30,
                "possession_lost": 9.5,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 2,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 7,
                "total_progression": 11,
                "progressive_carries": 0
              },
              "trace": {
                "model": {
                  "position_service": "F",
                  "schema_version": 3,
                  "trained_at": "2026-09-15T10:01:52.318462+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 278,
                    "rows": 769
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-05",
                    "opponent": "Villarreal",
                    "minutes": 66.0,
                    "is_starting": true,
                    "weight": 0.3138,
                    "rating": 7.2
                  },
                  {
                    "match_date": "2026-08-30",
                    "opponent": "Valencia",
                    "minutes": 83.0,
                    "is_starting": true,
                    "weight": 0.2667,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-08-24",
                    "opponent": "Málaga CF",
                    "minutes": 9.0,
                    "is_starting": false,
                    "weight": 0.2267,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-08-17",
                    "opponent": "Elche",
                    "minutes": 60.0,
                    "is_starting": true,
                    "weight": 0.1927,
                    "rating": 6.8
                  }
                ],
                "feature_row": {
                  "history_matches": 4.0,
                  "is_starting_11": 0.0,
                  "onTargetScoringAttempt": 0.1927,
                  "totalShots": 1.04,
                  "minutesPlayed": 56.4547,
                  "touches": 30.9697,
                  "dribbleValueNormalized": 0.1103
                },
                "per_target": [
                  {
                    "target": "expectedGoals",
                    "predicted": 0.13254673779010773,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "minutesPlayed",
                        "importance": 0.093
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0745
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0545
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.043
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0314
                      }
                    ]
                  },
                  {
                    "target": "goals",
                    "predicted": 0.1978786438703537,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.1
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0715
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0371
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0298
                      },
                      {
                        "name": "passValueNormalized",
                        "importance": 0.0268
                      }
                    ]
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.5450507402420044,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0703
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0583
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0486
                      },
                      {
                        "name": "touches",
                        "importance": 0.0401
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0347
                      }
                    ]
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.03280279412865639,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "touches",
                        "importance": 0.0802
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0621
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0547
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0537
                      },
                      {
                        "name": "numberOfSprints",
                        "importance": 0.0397
                      }
                    ]
                  },
                  {
                    "target": "keyPass",
                    "predicted": 0.5068106651306152,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0738
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0657
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0615
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0458
                      },
                      {
                        "name": "aerialLost",
                        "importance": 0.0313
                      }
                    ]
                  },
                  {
                    "target": "rating",
                    "predicted": 6.731954574584961,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "speed_threat",
                        "importance": 0.0598
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0489
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0439
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0425
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0404
                      }
                    ]
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9820, quality 0.440)",
              "stats": {
                "expected_goals": 0.1302,
                "goal_rate": 0.1943,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0322,
                "key_pass": 0,
                "rating": 6.6106,
                "minutes": 54,
                "total_pass": 14,
                "accurate_pass": 10,
                "duels_won": 5,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 9,
                "accurate_opp_half_passes": 6,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 29,
                "possession_lost": 9.3288,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 2,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 7,
                "total_progression": 10,
                "progressive_carries": 0
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 25.3 expected minutes (appearance prob 0.56)",
              "stats": {
                "expected_goals": 0.0366,
                "goal_rate": 0.0546,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0091,
                "key_pass": 0,
                "rating": 6.6106,
                "minutes": 25,
                "total_pass": 4,
                "accurate_pass": 3,
                "duels_won": 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.6226,
                "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": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 2,
                "total_progression": 3,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.559,
                "bench_expected_minutes": 25.3
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.0366,
                "goal_rate": 0.0546,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0091,
                "key_pass": 0,
                "rating": 6.6106,
                "minutes": 25,
                "total_pass": 4,
                "accurate_pass": 3,
                "duels_won": 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.6226,
                "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": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 2,
                "total_progression": 3,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.559,
                "bench_expected_minutes": 25.3
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.36 (squad xG sum 0.7214, xG scale 1.8894)",
              "stats": {
                "expected_goals": 0.0692,
                "goal_rate": 0.0546,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0091,
                "key_pass": 0,
                "rating": 6.6106,
                "minutes": 25,
                "total_pass": 4,
                "accurate_pass": 3,
                "duels_won": 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.6226,
                "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": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 2,
                "total_progression": 3,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.559,
                "bench_expected_minutes": 25.3,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.422,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 11, fifa_overall 69.0)",
              "stats": {
                "expected_goals": 0.0692,
                "goal_rate": 0.0546,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0091,
                "key_pass": 0,
                "rating": 6.6106,
                "minutes": 25,
                "total_pass": 4,
                "accurate_pass": 3,
                "duels_won": 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.6226,
                "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": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 2,
                "total_progression": 3,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.559,
                "bench_expected_minutes": 25.3,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.422,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 69.0
              }
            }
          ]
        }
      },
      "substitutes": {
        "Jonathan Asp Jensen": {
          "player_id": 1146545,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 18,
          "height": 182,
          "market_value": 3900000,
          "stats": {
            "expected_goals": 0.0601,
            "goal_rate": 0.039,
            "goals": 0,
            "shots_on_target": 0,
            "expected_assists": 0.0061,
            "key_pass": 0,
            "rating": 6.5937,
            "minutes": 25,
            "total_pass": 2,
            "accurate_pass": 2,
            "duels_won": 1,
            "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": 4,
            "possession_lost": 0.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": 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": 1,
            "total_progression": 5,
            "progressive_carries": 0,
            "bench_appearance_probability": 0.561,
            "bench_expected_minutes": 25.34,
            "projected_substitution_order": 1,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 2,
            "projected_substitution_expected_count": 2.422,
            "projected_substitution_game_state_adjustment": 0,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 69.0
          },
          "latest_10_games": [
            {
              "match_id": 16416291.0,
              "match_date": "2026-08-30",
              "home_team": "Deportivo de A Coruña",
              "away_team": "Valencia",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Deportivo de A Coruña",
              "opponent": "Valencia",
              "stats": {
                "minutes": 11,
                "rating": 6.5,
                "assists": 0,
                "expected_goals": 0.0328,
                "expected_assists": 0.0,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 1,
                "accurate_pass": 1
              },
              "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": 16416307.0,
              "match_date": "2026-08-24",
              "home_team": "Málaga CF",
              "away_team": "Deportivo de A Coruña",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo de A Coruña",
              "opponent": "Málaga CF",
              "stats": {
                "minutes": 62,
                "rating": 6.3,
                "assists": 0,
                "expected_goals": 0.0302,
                "expected_assists": 0.0184,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 15,
                "accurate_pass": 12,
                "clearances": 1,
                "duels_won": 1,
                "ball_recovery": 1
              },
              "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": "home",
              "is_starting_11": 1,
              "team": "Deportivo de A Coruña",
              "opponent": "Elche",
              "stats": {
                "minutes": 60,
                "rating": 6.5,
                "assists": 0,
                "expected_goals": 0.0312,
                "expected_assists": 0.003,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 9,
                "accurate_pass": 7,
                "tackles": 2,
                "tackles_won": 2,
                "duels_won": 2,
                "ball_recovery": 2
              },
              "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": 5662,
            "combined_rank_score": 3934.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 915.0,
            "sofascore_rating": 6.5,
            "sofascore_appearances": 1.0,
            "fifa_rank": 6954.0,
            "fifa_overall": 69.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 10,
            "squad_role": "substitute",
            "projected_match_rating": 6.5937,
            "source_file": "data/player_rankings.csv",
            "player_name": "Jonathan Asp Jensen",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Oleksandr Svatok",
                  "ranking": 5657
                },
                {
                  "player_name": "Dimitar Mitov",
                  "ranking": 5658
                },
                {
                  "player_name": "Víctor Dávila",
                  "ranking": 5659
                },
                {
                  "player_name": "Ulrik Saltnes",
                  "ranking": 5660
                },
                {
                  "player_name": "Kareem Tunde",
                  "ranking": 5661
                }
              ],
              "lower": [
                {
                  "player_name": "Wes Burns",
                  "ranking": 5663
                },
                {
                  "player_name": "Rodrigo Morínigo",
                  "ranking": 5664
                },
                {
                  "player_name": "Nicolás Lodeiro",
                  "ranking": 5665
                },
                {
                  "player_name": "Kalvin Phillips",
                  "ranking": 5666
                },
                {
                  "player_name": "Filip Krastev",
                  "ranking": 5667
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.438,
          "history_matches": 3,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "F_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "onTargetScoringAttempt",
              "shotOffTarget",
              "bigChanceMissed",
              "expectedAssists",
              "keyPass",
              "duelWon",
              "duelLost",
              "aerialWon",
              "aerialLost",
              "touches",
              "dispossessed",
              "wasFouled",
              "topSpeed",
              "numberOfSprints",
              "ballRecovery",
              "possessionLostCtrl",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "shot_accuracy",
              "xg_per_shot",
              "touches_p90",
              "totalShots_p90",
              "duelWon_p90",
              "ballCarriesCount_p90",
              "big_chance_conversion",
              "shot_waste_rate",
              "aerial_dominance",
              "press_resistance_fwd",
              "speed_threat",
              "progressive_carries_p90",
              "history_matches"
            ],
            "targets_predicted": [
              "expectedGoals",
              "goals",
              "onTargetScoringAttempt",
              "expectedAssists",
              "keyPass",
              "rating"
            ],
            "history_matches": 3,
            "data_confidence": 0.438,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "bench_expected_minutes": 25.33644058998921,
            "bench_appearance_prob": 0.5607472995449642,
            "market_value_adjustment": 0.9846,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection scaled from XGBoost F_service (3 historical appearances) to 25.3 expected mins (appearance prob 0.56)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 6 target models",
              "stats": {
                "expected_goals": 0.1147,
                "goal_rate": 0.1407,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0219,
                "key_pass": 0,
                "rating": 6.697,
                "minutes": 44,
                "total_pass": 8,
                "accurate_pass": 7,
                "duels_won": 3,
                "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": 14,
                "possession_lost": 0.0,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 4,
                "total_progression": 17,
                "progressive_carries": 1
              },
              "trace": {
                "model": {
                  "position_service": "F",
                  "schema_version": 3,
                  "trained_at": "2026-09-15T10:01:52.318462+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 278,
                    "rows": 769
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-08-30",
                    "opponent": "Valencia",
                    "minutes": 11.0,
                    "is_starting": false,
                    "weight": 0.3887,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-08-24",
                    "opponent": "Málaga CF",
                    "minutes": 62.0,
                    "is_starting": true,
                    "weight": 0.3304,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-08-17",
                    "opponent": "Elche",
                    "minutes": 60.0,
                    "is_starting": true,
                    "weight": 0.2809,
                    "rating": 6.5
                  }
                ],
                "feature_row": {
                  "history_matches": 3.0,
                  "is_starting_11": 0.0,
                  "onTargetScoringAttempt": 0.7191,
                  "totalShots": 1.0,
                  "minutesPlayed": 41.6132,
                  "touches": 13.3333,
                  "dribbleValueNormalized": 0.082
                },
                "per_target": [
                  {
                    "target": "expectedGoals",
                    "predicted": 0.11472064256668091,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "minutesPlayed",
                        "importance": 0.093
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0745
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0545
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.043
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0314
                      }
                    ]
                  },
                  {
                    "target": "goals",
                    "predicted": 0.14065974950790405,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.1
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0715
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0371
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0298
                      },
                      {
                        "name": "passValueNormalized",
                        "importance": 0.0268
                      }
                    ]
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.5139478445053101,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0703
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0583
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0486
                      },
                      {
                        "name": "touches",
                        "importance": 0.0401
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0347
                      }
                    ]
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.021901464089751244,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "touches",
                        "importance": 0.0802
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0621
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0547
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0537
                      },
                      {
                        "name": "numberOfSprints",
                        "importance": 0.0397
                      }
                    ]
                  },
                  {
                    "target": "keyPass",
                    "predicted": 0.3693397641181946,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0738
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0657
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0615
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0458
                      },
                      {
                        "name": "aerialLost",
                        "importance": 0.0313
                      }
                    ]
                  },
                  {
                    "target": "rating",
                    "predicted": 6.697011470794678,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "speed_threat",
                        "importance": 0.0598
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0489
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0439
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0425
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0404
                      }
                    ]
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9846, quality 0.449)",
              "stats": {
                "expected_goals": 0.113,
                "goal_rate": 0.1385,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0216,
                "key_pass": 0,
                "rating": 6.5937,
                "minutes": 44,
                "total_pass": 8,
                "accurate_pass": 7,
                "duels_won": 3,
                "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": 14,
                "possession_lost": 0.0,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 4,
                "total_progression": 17,
                "progressive_carries": 1
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 25.3 expected minutes (appearance prob 0.56)",
              "stats": {
                "expected_goals": 0.0318,
                "goal_rate": 0.039,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0061,
                "key_pass": 0,
                "rating": 6.5937,
                "minutes": 25,
                "total_pass": 2,
                "accurate_pass": 2,
                "duels_won": 1,
                "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": 4,
                "possession_lost": 0.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": 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": 1,
                "total_progression": 5,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.561,
                "bench_expected_minutes": 25.34
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.0318,
                "goal_rate": 0.039,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0061,
                "key_pass": 0,
                "rating": 6.5937,
                "minutes": 25,
                "total_pass": 2,
                "accurate_pass": 2,
                "duels_won": 1,
                "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": 4,
                "possession_lost": 0.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": 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": 1,
                "total_progression": 5,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.561,
                "bench_expected_minutes": 25.34
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.36 (squad xG sum 0.7214, xG scale 1.8894)",
              "stats": {
                "expected_goals": 0.0601,
                "goal_rate": 0.039,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0061,
                "key_pass": 0,
                "rating": 6.5937,
                "minutes": 25,
                "total_pass": 2,
                "accurate_pass": 2,
                "duels_won": 1,
                "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": 4,
                "possession_lost": 0.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": 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": 1,
                "total_progression": 5,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.561,
                "bench_expected_minutes": 25.34,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.422,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 10, fifa_overall 69.0)",
              "stats": {
                "expected_goals": 0.0601,
                "goal_rate": 0.039,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0061,
                "key_pass": 0,
                "rating": 6.5937,
                "minutes": 25,
                "total_pass": 2,
                "accurate_pass": 2,
                "duels_won": 1,
                "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": 4,
                "possession_lost": 0.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": 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": 1,
                "total_progression": 5,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.561,
                "bench_expected_minutes": 25.34,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.422,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 69.0
              }
            }
          ]
        },
        "Bil Nsongo": {
          "player_id": 2335487,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 32,
          "height": 182,
          "market_value": 3200000,
          "stats": {
            "expected_goals": 0.0692,
            "goal_rate": 0.0546,
            "goals": 0,
            "shots_on_target": 0,
            "expected_assists": 0.0091,
            "key_pass": 0,
            "rating": 6.6106,
            "minutes": 25,
            "total_pass": 4,
            "accurate_pass": 3,
            "duels_won": 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.6226,
            "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": 0,
            "assists": 0,
            "shots_off_target": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 1,
            "clearances": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "offsides": 0,
            "ball_carries": 2,
            "total_progression": 3,
            "progressive_carries": 0,
            "bench_appearance_probability": 0.559,
            "bench_expected_minutes": 25.3,
            "projected_substitution_order": 2,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 2,
            "projected_substitution_expected_count": 2.422,
            "projected_substitution_game_state_adjustment": 0,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 69.0
          },
          "latest_10_games": [
            {
              "match_type": "played",
              "match_id": 16416326.0,
              "match_date": "2026-09-13 16:30:00 UTC",
              "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",
              "home_team": "Getafe",
              "away_team": "Deportivo",
              "home_score_current": 1.0,
              "away_score_current": 1.0,
              "team_side": "away",
              "status_code": 100.0,
              "status_type": "finished",
              "status_description": "Ended",
              "player_status": "starter",
              "is_starting_11": true,
              "team": "Deportivo",
              "opponent": "Getafe",
              "stats": {},
              "has_player_stats": false,
              "source": "depth_chart.csv"
            },
            {
              "match_id": 16416324.0,
              "match_date": "2026-09-05",
              "home_team": "Villarreal",
              "away_team": "Deportivo de A Coruña",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Deportivo de A Coruña",
              "opponent": "Villarreal",
              "stats": {
                "minutes": 66,
                "rating": 7.2,
                "assists": 0,
                "expected_goals": 0.0244,
                "expected_assists": 0.0048,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 16,
                "accurate_pass": 12,
                "tackles": 3,
                "tackles_won": 1,
                "clearances": 1,
                "aerial_won": 2,
                "duels_won": 8,
                "ball_recovery": 2
              },
              "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": 16416291.0,
              "match_date": "2026-08-30",
              "home_team": "Deportivo de A Coruña",
              "away_team": "Valencia",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Deportivo de A Coruña",
              "opponent": "Valencia",
              "stats": {
                "minutes": 83,
                "rating": 6.6,
                "assists": 0,
                "expected_goals": 0.2769,
                "expected_assists": 0.0462,
                "total_shots": 2,
                "shots_off_target": 1,
                "total_pass": 25,
                "accurate_pass": 18,
                "key_pass": 2,
                "tackles": 2,
                "tackles_won": 2,
                "clearances": 1,
                "aerial_won": 4,
                "duels_won": 8,
                "ball_recovery": 1
              },
              "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": 16416307.0,
              "match_date": "2026-08-24",
              "home_team": "Málaga CF",
              "away_team": "Deportivo de A Coruña",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Deportivo de A Coruña",
              "opponent": "Málaga CF",
              "stats": {
                "minutes": 9,
                "rating": 6.7,
                "assists": 0,
                "expected_assists": 0.0016,
                "total_shots": 0,
                "total_pass": 4,
                "accurate_pass": 2,
                "tackles": 1,
                "duels_won": 2,
                "ball_recovery": 1
              },
              "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": "home",
              "is_starting_11": 1,
              "team": "Deportivo de A Coruña",
              "opponent": "Elche",
              "stats": {
                "minutes": 60,
                "rating": 6.8,
                "assists": 0,
                "expected_goals": 0.0104,
                "expected_assists": 0.0086,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 11,
                "accurate_pass": 9,
                "tackles": 2,
                "tackles_won": 2,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 4,
                "ball_recovery": 3
              },
              "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": 5567,
            "combined_rank_score": 3769.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 578.0,
            "sofascore_rating": 6.8,
            "sofascore_appearances": 1.0,
            "fifa_rank": 6960.0,
            "fifa_overall": 69.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 11,
            "squad_role": "substitute",
            "projected_match_rating": 6.6106,
            "source_file": "data/player_rankings.csv",
            "player_name": "Bil Nsongo",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Guilherme Bissoli",
                  "ranking": 5562
                },
                {
                  "player_name": "Caio Vidal",
                  "ranking": 5563
                },
                {
                  "player_name": "Erick Marcus",
                  "ranking": 5564
                },
                {
                  "player_name": "Kwadwo Duah",
                  "ranking": 5565
                },
                {
                  "player_name": "Mateusz Skrzypczak",
                  "ranking": 5566
                }
              ],
              "lower": [
                {
                  "player_name": "Einar Galilea",
                  "ranking": 5568
                },
                {
                  "player_name": "Ashley Barnes",
                  "ranking": 5569
                },
                {
                  "player_name": "Deian Sorescu",
                  "ranking": 5570
                },
                {
                  "player_name": "Vasilije Adžić",
                  "ranking": 5571
                },
                {
                  "player_name": "Luca De La Torre",
                  "ranking": 5572
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.5,
          "history_matches": 4,
          "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": 4,
            "data_confidence": 0.5,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "bench_expected_minutes": 25.30206294284004,
            "bench_appearance_prob": 0.5591846792200018,
            "market_value_adjustment": 0.982,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection scaled from XGBoost F_service (4 historical appearances) to 25.3 expected mins (appearance prob 0.56)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 6 target models",
              "stats": {
                "expected_goals": 0.1325,
                "goal_rate": 0.1979,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0328,
                "key_pass": 1,
                "rating": 6.732,
                "minutes": 54,
                "total_pass": 14,
                "accurate_pass": 10,
                "duels_won": 6,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 10,
                "accurate_opp_half_passes": 6,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 30,
                "possession_lost": 9.5,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 2,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 7,
                "total_progression": 11,
                "progressive_carries": 0
              },
              "trace": {
                "model": {
                  "position_service": "F",
                  "schema_version": 3,
                  "trained_at": "2026-09-15T10:01:52.318462+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 278,
                    "rows": 769
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-05",
                    "opponent": "Villarreal",
                    "minutes": 66.0,
                    "is_starting": true,
                    "weight": 0.3138,
                    "rating": 7.2
                  },
                  {
                    "match_date": "2026-08-30",
                    "opponent": "Valencia",
                    "minutes": 83.0,
                    "is_starting": true,
                    "weight": 0.2667,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-08-24",
                    "opponent": "Málaga CF",
                    "minutes": 9.0,
                    "is_starting": false,
                    "weight": 0.2267,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-08-17",
                    "opponent": "Elche",
                    "minutes": 60.0,
                    "is_starting": true,
                    "weight": 0.1927,
                    "rating": 6.8
                  }
                ],
                "feature_row": {
                  "history_matches": 4.0,
                  "is_starting_11": 0.0,
                  "onTargetScoringAttempt": 0.1927,
                  "totalShots": 1.04,
                  "minutesPlayed": 56.4547,
                  "touches": 30.9697,
                  "dribbleValueNormalized": 0.1103
                },
                "per_target": [
                  {
                    "target": "expectedGoals",
                    "predicted": 0.13254673779010773,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "minutesPlayed",
                        "importance": 0.093
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0745
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0545
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.043
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0314
                      }
                    ]
                  },
                  {
                    "target": "goals",
                    "predicted": 0.1978786438703537,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.1
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0715
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0371
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0298
                      },
                      {
                        "name": "passValueNormalized",
                        "importance": 0.0268
                      }
                    ]
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.5450507402420044,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0703
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0583
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0486
                      },
                      {
                        "name": "touches",
                        "importance": 0.0401
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0347
                      }
                    ]
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.03280279412865639,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "touches",
                        "importance": 0.0802
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0621
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0547
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0537
                      },
                      {
                        "name": "numberOfSprints",
                        "importance": 0.0397
                      }
                    ]
                  },
                  {
                    "target": "keyPass",
                    "predicted": 0.5068106651306152,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0738
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0657
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0615
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0458
                      },
                      {
                        "name": "aerialLost",
                        "importance": 0.0313
                      }
                    ]
                  },
                  {
                    "target": "rating",
                    "predicted": 6.731954574584961,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "speed_threat",
                        "importance": 0.0598
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0489
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0439
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0425
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0404
                      }
                    ]
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9820, quality 0.440)",
              "stats": {
                "expected_goals": 0.1302,
                "goal_rate": 0.1943,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0322,
                "key_pass": 0,
                "rating": 6.6106,
                "minutes": 54,
                "total_pass": 14,
                "accurate_pass": 10,
                "duels_won": 5,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 9,
                "accurate_opp_half_passes": 6,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 29,
                "possession_lost": 9.3288,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 2,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 7,
                "total_progression": 10,
                "progressive_carries": 0
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 25.3 expected minutes (appearance prob 0.56)",
              "stats": {
                "expected_goals": 0.0366,
                "goal_rate": 0.0546,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0091,
                "key_pass": 0,
                "rating": 6.6106,
                "minutes": 25,
                "total_pass": 4,
                "accurate_pass": 3,
                "duels_won": 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.6226,
                "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": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 2,
                "total_progression": 3,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.559,
                "bench_expected_minutes": 25.3
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.0366,
                "goal_rate": 0.0546,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0091,
                "key_pass": 0,
                "rating": 6.6106,
                "minutes": 25,
                "total_pass": 4,
                "accurate_pass": 3,
                "duels_won": 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.6226,
                "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": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 2,
                "total_progression": 3,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.559,
                "bench_expected_minutes": 25.3
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.36 (squad xG sum 0.7214, xG scale 1.8894)",
              "stats": {
                "expected_goals": 0.0692,
                "goal_rate": 0.0546,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0091,
                "key_pass": 0,
                "rating": 6.6106,
                "minutes": 25,
                "total_pass": 4,
                "accurate_pass": 3,
                "duels_won": 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.6226,
                "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": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 2,
                "total_progression": 3,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.559,
                "bench_expected_minutes": 25.3,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.422,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 11, fifa_overall 69.0)",
              "stats": {
                "expected_goals": 0.0692,
                "goal_rate": 0.0546,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0091,
                "key_pass": 0,
                "rating": 6.6106,
                "minutes": 25,
                "total_pass": 4,
                "accurate_pass": 3,
                "duels_won": 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.6226,
                "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": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 2,
                "total_progression": 3,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.559,
                "bench_expected_minutes": 25.3,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 2,
                "projected_substitution_expected_count": 2.422,
                "projected_substitution_game_state_adjustment": 0,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 69.0
              }
            }
          ]
        }
      },
      "team_totals": {
        "projected_goals": 1,
        "expected_goals": 1.36,
        "expected_assists": 0.52,
        "total_shots": 7,
        "shots_on_target": 3,
        "total_passes": 320,
        "interceptions": 4,
        "tackles": 10,
        "avg_rating": 6.79,
        "possession_estimated_pct": 50.6,
        "pressing_actions_per_90": 6.7
      }
    },
    "Sevilla": {
      "formation": "4-4-2",
      "players": {
        "Robbie Ure": {
          "player_id": 1142351,
          "position": "F",
          "position_depth": "F",
          "is_starter": true,
          "shirt_number": 9,
          "height": 189,
          "market_value": 4800000,
          "stats": {
            "expected_goals": 0.2191,
            "goal_rate": 0.1466,
            "goals": 0,
            "shots_on_target": 1,
            "expected_assists": 0.0274,
            "key_pass": 1,
            "rating": 6.549,
            "minutes": 69,
            "total_pass": 8,
            "accurate_pass": 6,
            "duels_won": 3,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 7,
            "accurate_opp_half_passes": 5,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 16,
            "possession_lost": 4.4456,
            "dispossessed": 0.0,
            "duels_lost": 8,
            "aerial_lost": 4,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 2,
            "assists": 0,
            "shots_off_target": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "offsides": 0,
            "ball_carries": 0,
            "total_progression": 0,
            "progressive_carries": 0,
            "total_shots": 2,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 0.0,
            "shotConversion": 0.0,
            "minutesPct": 83.3,
            "pointsPerMatch": 2.0,
            "netGoalDifferencePer90": 0.8,
            "dribbles_attempted": 2,
            "dribbles_successful": 0.4,
            "aerial_won": 2,
            "crosses_attempted": 0.0,
            "duel_win_rate": 0.217,
            "pressing_faced": "LOW",
            "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
            "numerical_situation": "1v2",
            "opponent_defenders": "José María Giménez, Lucas Noubi",
            "opponent_faced": "José María Giménez, Lucas Noubi",
            "antagonist_source": "attacking_duel",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 71.0
          },
          "latest_10_games": [
            {
              "match_type": "played",
              "match_id": 16416330.0,
              "match_date": "2026-09-11 19:00:00 UTC",
              "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",
              "home_team": "Sevilla",
              "away_team": "Valencia",
              "home_score_current": 1.0,
              "away_score_current": 0.0,
              "team_side": "home",
              "status_code": 100.0,
              "status_type": "finished",
              "status_description": "Ended",
              "player_status": "starter",
              "is_starting_11": true,
              "team": "Sevilla",
              "opponent": "Valencia",
              "stats": {},
              "has_player_stats": false,
              "source": "depth_chart.csv"
            },
            {
              "match_id": 16416323.0,
              "match_date": "2026-09-06",
              "home_team": "Espanyol",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 54,
                "rating": 6.5,
                "assists": 0,
                "expected_assists": 0.0249,
                "total_shots": 0,
                "total_pass": 9,
                "accurate_pass": 9,
                "duels_won": 4,
                "ball_recovery": 2
              },
              "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": 16416316.0,
              "match_date": "2026-08-29",
              "home_team": "Sevilla",
              "away_team": "Atlético Madrid",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Atlético Madrid",
              "stats": {
                "minutes": 90,
                "rating": 6.2,
                "assists": 1,
                "expected_goals": 0.2605,
                "expected_assists": 0.0246,
                "total_shots": 3,
                "shots_off_target": 2,
                "total_pass": 12,
                "accurate_pass": 9,
                "key_pass": 1,
                "tackles": 1,
                "aerial_won": 2,
                "duels_won": 3
              },
              "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": 16416301.0,
              "match_date": "2026-08-22",
              "home_team": "Athletic Club",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 90,
                "rating": 5.7,
                "assists": 0,
                "expected_assists": 0.0048,
                "total_shots": 0,
                "total_pass": 7,
                "accurate_pass": 1,
                "key_pass": 1,
                "aerial_won": 1,
                "duels_won": 2
              },
              "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": 16421052.0,
              "match_date": "2026-08-15",
              "home_team": "Sevilla",
              "away_team": "Rayo Vallecano",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Rayo Vallecano",
              "stats": {
                "minutes": 45,
                "rating": 6.9,
                "assists": 0,
                "expected_goals": 0.0899,
                "expected_assists": 0.0259,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 6,
                "accurate_pass": 6,
                "key_pass": 1,
                "duels_won": 3,
                "ball_recovery": 2
              },
              "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": 4666,
            "combined_rank_score": 2760.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 445.0,
            "sofascore_rating": 6.9,
            "sofascore_appearances": 1.0,
            "fifa_rank": 5075.0,
            "fifa_overall": 71.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 11,
            "squad_role": "starter",
            "projected_match_rating": 6.549,
            "source_file": "data/player_rankings.csv",
            "player_name": "Robbie Ure",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Loris Karius",
                  "ranking": 4661
                },
                {
                  "player_name": "Lucas Ferreira",
                  "ranking": 4662
                },
                {
                  "player_name": "Hjalmar Ekdal",
                  "ranking": 4663
                },
                {
                  "player_name": "Kevin Stöger",
                  "ranking": 4664
                },
                {
                  "player_name": "Kenan Karaman",
                  "ranking": 4665
                }
              ],
              "lower": [
                {
                  "player_name": "Matías Pérez",
                  "ranking": 4667
                },
                {
                  "player_name": "Jean-Luc Dompé",
                  "ranking": 4668
                },
                {
                  "player_name": "Alessio Castro-Montes",
                  "ranking": 4669
                },
                {
                  "player_name": "Jordan Torunarigha",
                  "ranking": 4670
                },
                {
                  "player_name": "Nikolas Nartey",
                  "ranking": 4671
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.525,
          "history_matches": 4,
          "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": 4,
            "data_confidence": 0.525,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 0.9879,
            "fbref_prior_metrics": {
              "squad": "Sevilla",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 3.0,
              "starts": 2.0,
              "minutes": 225.0,
              "goals_per90": 0.0,
              "assists_per90": 0.4,
              "shots_per90": 1.6,
              "shots_on_target_pct": 0.0,
              "prior_reliability": 0.1667
            },
            "rationale": "XGBoost regressor (F_service) evaluated 4 historical appearances across 6 target models; FBref 2026-2027 prior blended (La Liga, Sevilla, rel: 0.17, gls/90: 0.0, ast/90: 0.4)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 6 target models",
              "stats": {
                "expected_goals": 0.2304,
                "goal_rate": 0.1579,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0277,
                "key_pass": 1,
                "rating": 6.6291,
                "minutes": 70,
                "total_pass": 8,
                "accurate_pass": 6,
                "duels_won": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 16,
                "possession_lost": 4.5,
                "dispossessed": 0.0,
                "duels_lost": 8,
                "aerial_lost": 4,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 2,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0
              },
              "trace": {
                "model": {
                  "position_service": "F",
                  "schema_version": 3,
                  "trained_at": "2026-09-15T10:01:52.318462+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 278,
                    "rows": 769
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Espanyol",
                    "minutes": 54.0,
                    "is_starting": true,
                    "weight": 0.3138,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Atlético Madrid",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.2667,
                    "rating": 6.2
                  },
                  {
                    "match_date": "2026-08-22",
                    "opponent": "Athletic Club",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.2267,
                    "rating": 5.7
                  },
                  {
                    "match_date": "2026-08-15",
                    "opponent": "Rayo Vallecano",
                    "minutes": 45.0,
                    "is_starting": false,
                    "weight": 0.1927,
                    "rating": 6.9
                  }
                ],
                "feature_row": {
                  "history_matches": 4.0,
                  "is_starting_11": 1.0,
                  "onTargetScoringAttempt": 0.0,
                  "totalShots": 0.9929,
                  "minutesPlayed": 70.0304,
                  "touches": 16.9088,
                  "dribbleValueNormalized": 0.002
                },
                "per_target": [
                  {
                    "target": "expectedGoals",
                    "predicted": 0.23036593198776245,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "minutesPlayed",
                        "importance": 0.093
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0745
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0545
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.043
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0314
                      }
                    ]
                  },
                  {
                    "target": "goals",
                    "predicted": 0.15792512893676758,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.1
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0715
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0371
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0298
                      },
                      {
                        "name": "passValueNormalized",
                        "importance": 0.0268
                      }
                    ]
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.5394484400749207,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0703
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0583
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0486
                      },
                      {
                        "name": "touches",
                        "importance": 0.0401
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0347
                      }
                    ]
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.02773035131394863,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "touches",
                        "importance": 0.0802
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0621
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0547
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0537
                      },
                      {
                        "name": "numberOfSprints",
                        "importance": 0.0397
                      }
                    ]
                  },
                  {
                    "target": "keyPass",
                    "predicted": 0.6225131750106812,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0738
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0657
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0615
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0458
                      },
                      {
                        "name": "aerialLost",
                        "importance": 0.0313
                      }
                    ]
                  },
                  {
                    "target": "rating",
                    "predicted": 6.629108905792236,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "speed_threat",
                        "importance": 0.0598
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0489
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0439
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0425
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0404
                      }
                    ]
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9879, quality 0.460)",
              "stats": {
                "expected_goals": 0.2276,
                "goal_rate": 0.156,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0274,
                "key_pass": 1,
                "rating": 6.549,
                "minutes": 69,
                "total_pass": 8,
                "accurate_pass": 6,
                "duels_won": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 16,
                "possession_lost": 4.4456,
                "dispossessed": 0.0,
                "duels_lost": 8,
                "aerial_lost": 4,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 2,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0602)",
              "stats": {
                "expected_goals": 0.2276,
                "goal_rate": 0.1466,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0274,
                "key_pass": 1,
                "rating": 6.549,
                "minutes": 69,
                "total_pass": 8,
                "accurate_pass": 6,
                "duels_won": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 16,
                "possession_lost": 4.4456,
                "dispossessed": 0.0,
                "duels_lost": 8,
                "aerial_lost": 4,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 2,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "total_shots": 2,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 83.3,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.8
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.2276,
                "goal_rate": 0.1466,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0274,
                "key_pass": 1,
                "rating": 6.549,
                "minutes": 69,
                "total_pass": 8,
                "accurate_pass": 6,
                "duels_won": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 16,
                "possession_lost": 4.4456,
                "dispossessed": 0.0,
                "duels_lost": 8,
                "aerial_lost": 4,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 2,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "total_shots": 2,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 83.3,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.8
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "expected_goals": 0.159,
                "goal_rate": 0.1466,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0274,
                "key_pass": 1,
                "rating": 6.549,
                "minutes": 69,
                "total_pass": 8,
                "accurate_pass": 6,
                "duels_won": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 16,
                "possession_lost": 4.4456,
                "dispossessed": 0.0,
                "duels_lost": 8,
                "aerial_lost": 4,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 2,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "total_shots": 2,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 83.3,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.8,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.4,
                "aerial_won": 2,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.217,
                "pressing_faced": "LOW",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "José María Giménez, Lucas Noubi",
                "opponent_faced": "José María Giménez, Lucas Noubi",
                "antagonist_source": "attacking_duel"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.02 (squad xG sum 0.7402, xG scale 1.3780)",
              "stats": {
                "expected_goals": 0.2191,
                "goal_rate": 0.1466,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0274,
                "key_pass": 1,
                "rating": 6.549,
                "minutes": 69,
                "total_pass": 8,
                "accurate_pass": 6,
                "duels_won": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 16,
                "possession_lost": 4.4456,
                "dispossessed": 0.0,
                "duels_lost": 8,
                "aerial_lost": 4,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 2,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "total_shots": 2,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 83.3,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.8,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.4,
                "aerial_won": 2,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.217,
                "pressing_faced": "LOW",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "José María Giménez, Lucas Noubi",
                "opponent_faced": "José María Giménez, Lucas Noubi",
                "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 11, fifa_overall 71.0)",
              "stats": {
                "expected_goals": 0.2191,
                "goal_rate": 0.1466,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0274,
                "key_pass": 1,
                "rating": 6.549,
                "minutes": 69,
                "total_pass": 8,
                "accurate_pass": 6,
                "duels_won": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 16,
                "possession_lost": 4.4456,
                "dispossessed": 0.0,
                "duels_lost": 8,
                "aerial_lost": 4,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 2,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "total_shots": 2,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 83.3,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.8,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.4,
                "aerial_won": 2,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.217,
                "pressing_faced": "LOW",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "José María Giménez, Lucas Noubi",
                "opponent_faced": "José María Giménez, Lucas Noubi",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 71.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 0 projected goals distributed by scorer weight",
              "stats": {
                "expected_goals": 0.2191,
                "goal_rate": 0.1466,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0274,
                "key_pass": 1,
                "rating": 6.549,
                "minutes": 69,
                "total_pass": 8,
                "accurate_pass": 6,
                "duels_won": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 16,
                "possession_lost": 4.4456,
                "dispossessed": 0.0,
                "duels_lost": 8,
                "aerial_lost": 4,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 2,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "total_shots": 2,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 83.3,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.8,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.4,
                "aerial_won": 2,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.217,
                "pressing_faced": "LOW",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "José María Giménez, Lucas Noubi",
                "opponent_faced": "José María Giménez, Lucas Noubi",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 71.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 0 projected assists distributed by provider weight",
              "stats": {
                "expected_goals": 0.2191,
                "goal_rate": 0.1466,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0274,
                "key_pass": 1,
                "rating": 6.549,
                "minutes": 69,
                "total_pass": 8,
                "accurate_pass": 6,
                "duels_won": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 5,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 16,
                "possession_lost": 4.4456,
                "dispossessed": 0.0,
                "duels_lost": 8,
                "aerial_lost": 4,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 2,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "total_shots": 2,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 83.3,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.8,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.4,
                "aerial_won": 2,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.217,
                "pressing_faced": "LOW",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "numerical_situation": "1v2",
                "opponent_defenders": "José María Giménez, Lucas Noubi",
                "opponent_faced": "José María Giménez, Lucas Noubi",
                "antagonist_source": "attacking_duel",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 71.0
              }
            }
          ]
        },
        "Jon Guridi": {
          "player_id": 788141,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 18,
          "height": 179,
          "market_value": 1700000,
          "stats": {
            "key_pass": 1,
            "expected_assists": 0.0505,
            "assists": 0,
            "expected_goals": 0.0532,
            "rating": 6.5913,
            "minutes": 62,
            "total_pass": 19,
            "accurate_pass": 16,
            "duels_won": 2,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_own_half_passes": 7,
            "accurate_own_half_passes": 7,
            "total_opp_half_passes": 12,
            "accurate_opp_half_passes": 9,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 26,
            "possession_lost": 6.8686,
            "dispossessed": 1.2265,
            "duels_lost": 5,
            "aerial_won": 1,
            "aerial_lost": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "total_contest": 0,
            "won_contest": 0,
            "challenges_lost": 0,
            "fouls": 1,
            "fouls_drawn": 0,
            "goal_rate": 0.0241,
            "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": 7,
            "total_progression": 20,
            "progressive_carries": 1,
            "total_shots": 2,
            "offsides": 0,
            "yellowCards": 1.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 100.0,
            "shotConversion": 0.33,
            "minutesPct": 66.7,
            "pointsPerMatch": 2.0,
            "netGoalDifferencePer90": 0.0,
            "dribbles_attempted": 3,
            "dribbles_successful": 1.3,
            "crosses_attempted": 2.0,
            "duel_win_rate": 0.481,
            "pressing_faced": "LOW",
            "matchup_zone": "Left Mid vs Right Back — Wide Channel",
            "numerical_situation": "1v1",
            "opponent_defenders": "Ximo Navarro",
            "opponent_faced": "Ximo Navarro",
            "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_type": "played",
              "match_id": 16416330.0,
              "match_date": "2026-09-11 19:00:00 UTC",
              "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",
              "home_team": "Sevilla",
              "away_team": "Valencia",
              "home_score_current": 1.0,
              "away_score_current": 0.0,
              "team_side": "home",
              "status_code": 100.0,
              "status_type": "finished",
              "status_description": "Ended",
              "player_status": "starter",
              "is_starting_11": true,
              "team": "Sevilla",
              "opponent": "Valencia",
              "stats": {},
              "has_player_stats": false,
              "source": "depth_chart.csv"
            },
            {
              "match_id": 16416323.0,
              "match_date": "2026-09-06",
              "home_team": "Espanyol",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 71,
                "rating": 6.5,
                "assists": 0,
                "expected_assists": 0.0448,
                "total_shots": 0,
                "total_pass": 23,
                "accurate_pass": 20,
                "key_pass": 1,
                "interceptions": 1,
                "aerial_won": 2,
                "duels_won": 3,
                "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": 16416316.0,
              "match_date": "2026-08-29",
              "home_team": "Sevilla",
              "away_team": "Atlético Madrid",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Atlético Madrid",
              "stats": {
                "minutes": 55,
                "rating": 6.0,
                "assists": 0,
                "expected_goals": 0.0269,
                "expected_assists": 0.0096,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 18,
                "accurate_pass": 15,
                "tackles": 1,
                "tackles_won": 1,
                "duels_won": 1,
                "ball_recovery": 3
              },
              "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": 16416301.0,
              "match_date": "2026-08-22",
              "home_team": "Athletic Club",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 45,
                "rating": 6.3,
                "assists": 0,
                "expected_assists": 0.001,
                "total_shots": 0,
                "total_pass": 16,
                "accurate_pass": 13,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 1,
                "duels_won": 2,
                "ball_recovery": 3
              },
              "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": 16421052.0,
              "match_date": "2026-08-15",
              "home_team": "Sevilla",
              "away_team": "Rayo Vallecano",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Rayo Vallecano",
              "stats": {
                "minutes": 82,
                "rating": 6.7,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.8527,
                "expected_assists": 0.0075,
                "total_shots": 2,
                "shots_on_target": 2,
                "total_pass": 20,
                "accurate_pass": 19,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 3
              },
              "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": 1779,
            "combined_rank_score": 964.5,
            "ranking_source": "sofascore_plus_fifa_csv_filled",
            "ranking_status": "combined",
            "sofascore_rank": 698.0,
            "sofascore_rating": 6.7,
            "sofascore_appearances": 1.0,
            "fifa_rank": 1231.0,
            "fifa_overall": 78.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 17,
            "squad_role": "starter",
            "projected_match_rating": 6.5913,
            "source_file": "data/player_rankings.csv",
            "player_name": "Jon Guridi",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Domantas Antanavičius",
                  "ranking": 1774
                },
                {
                  "player_name": "Emil Tsenov",
                  "ranking": 1775
                },
                {
                  "player_name": "Maksim Myakish",
                  "ranking": 1776
                },
                {
                  "player_name": "Jun'ai Byfield",
                  "ranking": 1777
                },
                {
                  "player_name": "Nemanja Gudelj",
                  "ranking": 1778
                }
              ],
              "lower": [
                {
                  "player_name": "Pedro Felipe",
                  "ranking": 1780
                },
                {
                  "player_name": "Nico Guillén",
                  "ranking": 1781
                },
                {
                  "player_name": "Gabriel Pires",
                  "ranking": 1782
                },
                {
                  "player_name": "Yuri",
                  "ranking": 1783
                },
                {
                  "player_name": "William Furtado",
                  "ranking": 1784
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.52,
          "history_matches": 4,
          "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": 4,
            "data_confidence": 0.52,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 0.9812,
            "fbref_prior_metrics": {
              "squad": "Sevilla",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 3.0,
              "starts": 3.0,
              "minutes": 180.0,
              "goals_per90": 0.5,
              "assists_per90": 0.0,
              "shots_per90": 1.5,
              "shots_on_target_pct": 100.0,
              "prior_reliability": 0.1333
            },
            "rationale": "XGBoost regressor (M_service) evaluated 4 historical appearances across 5 target models; FBref 2026-2027 prior blended (La Liga, Sevilla, 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.0515,
                "assists": 0,
                "expected_goals": 0.0393,
                "rating": 6.7174,
                "minutes": 63,
                "total_pass": 19,
                "accurate_pass": 17,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 8,
                "accurate_own_half_passes": 8,
                "total_opp_half_passes": 12,
                "accurate_opp_half_passes": 9,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 27,
                "possession_lost": 7.0,
                "dispossessed": 1.25,
                "duels_lost": 5,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 7,
                "total_progression": 21,
                "progressive_carries": 1
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 3,
                  "trained_at": "2026-09-15T10:01:48.236605+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 461,
                    "rows": 1422
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Espanyol",
                    "minutes": 71.0,
                    "is_starting": true,
                    "weight": 0.3138,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Atlético Madrid",
                    "minutes": 55.0,
                    "is_starting": true,
                    "weight": 0.2667,
                    "rating": 6.0
                  },
                  {
                    "match_date": "2026-08-22",
                    "opponent": "Athletic Club",
                    "minutes": 45.0,
                    "is_starting": true,
                    "weight": 0.2267,
                    "rating": 6.3
                  },
                  {
                    "match_date": "2026-08-15",
                    "opponent": "Rayo Vallecano",
                    "minutes": 82.0,
                    "is_starting": true,
                    "weight": 0.1927,
                    "rating": 6.7
                  }
                ],
                "feature_row": {
                  "history_matches": 4.0,
                  "is_starting_11": 1.0,
                  "ballRecovery_p90": 4.8955,
                  "ballRecovery": 3.3138,
                  "intensity_index": 4.4567,
                  "expectedAssists": 0.0183,
                  "kilometersCovered": 8.3373
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 0.7915533185005188,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0551
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0489
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0393
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.035
                      },
                      {
                        "name": "accurateCross",
                        "importance": 0.0319
                      }
                    ]
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.05149976909160614,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "cross_creative_contribution",
                        "importance": 0.0714
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0375
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0361
                      },
                      {
                        "name": "accurateCross",
                        "importance": 0.0356
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.0345
                      }
                    ]
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.07391472905874252,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0442
                      },
                      {
                        "name": "keyPass_p90",
                        "importance": 0.0378
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0368
                      },
                      {
                        "name": "cross_accuracy",
                        "importance": 0.036
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0315
                      }
                    ]
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.039334412664175034,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.077
                      },
                      {
                        "name": "intensity_index",
                        "importance": 0.0622
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0454
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0399
                      },
                      {
                        "name": "numberOfSprints",
                        "importance": 0.0384
                      }
                    ]
                  },
                  {
                    "target": "rating",
                    "predicted": 6.717372417449951,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "ballRecovery_p90",
                        "importance": 0.0847
                      },
                      {
                        "name": "ballRecovery",
                        "importance": 0.0836
                      },
                      {
                        "name": "kilometersCovered",
                        "importance": 0.0597
                      },
                      {
                        "name": "defensive_midfield_actions",
                        "importance": 0.05
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0441
                      }
                    ]
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9812, quality 0.437)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0505,
                "assists": 0,
                "expected_goals": 0.0386,
                "rating": 6.5913,
                "minutes": 62,
                "total_pass": 19,
                "accurate_pass": 16,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 12,
                "accurate_opp_half_passes": 9,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 26,
                "possession_lost": 6.8686,
                "dispossessed": 1.2265,
                "duels_lost": 5,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 7,
                "total_progression": 20,
                "progressive_carries": 1
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0481)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0505,
                "assists": 0,
                "expected_goals": 0.0386,
                "rating": 6.5913,
                "minutes": 62,
                "total_pass": 19,
                "accurate_pass": 16,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 12,
                "accurate_opp_half_passes": 9,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 26,
                "possession_lost": 6.8686,
                "dispossessed": 1.2265,
                "duels_lost": 5,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "goal_rate": 0.0241,
                "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": 7,
                "total_progression": 20,
                "progressive_carries": 1,
                "total_shots": 2,
                "offsides": 0,
                "yellowCards": 1.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.33,
                "minutesPct": 66.7,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": -1.0
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0505,
                "assists": 0,
                "expected_goals": 0.0386,
                "rating": 6.5913,
                "minutes": 62,
                "total_pass": 19,
                "accurate_pass": 16,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 12,
                "accurate_opp_half_passes": 9,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 26,
                "possession_lost": 6.8686,
                "dispossessed": 1.2265,
                "duels_lost": 5,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "goal_rate": 0.0241,
                "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": 7,
                "total_progression": 20,
                "progressive_carries": 1,
                "total_shots": 2,
                "offsides": 0,
                "yellowCards": 1.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.33,
                "minutesPct": 66.7,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.0
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0505,
                "assists": 0,
                "expected_goals": 0.0386,
                "rating": 6.5913,
                "minutes": 62,
                "total_pass": 19,
                "accurate_pass": 16,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 12,
                "accurate_opp_half_passes": 9,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 26,
                "possession_lost": 6.8686,
                "dispossessed": 1.2265,
                "duels_lost": 5,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "goal_rate": 0.0241,
                "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": 7,
                "total_progression": 20,
                "progressive_carries": 1,
                "total_shots": 2,
                "offsides": 0,
                "yellowCards": 1.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.33,
                "minutesPct": 66.7,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 3,
                "dribbles_successful": 1.3,
                "crosses_attempted": 2.0,
                "duel_win_rate": 0.481,
                "pressing_faced": "LOW",
                "matchup_zone": "Left Mid vs Right Back — Wide Channel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Ximo Navarro",
                "opponent_faced": "Ximo Navarro",
                "antagonist_source": "attacking_duel, midfield_pairing"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.02 (squad xG sum 0.7402, xG scale 1.3780)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0505,
                "assists": 0,
                "expected_goals": 0.0532,
                "rating": 6.5913,
                "minutes": 62,
                "total_pass": 19,
                "accurate_pass": 16,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 12,
                "accurate_opp_half_passes": 9,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 26,
                "possession_lost": 6.8686,
                "dispossessed": 1.2265,
                "duels_lost": 5,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "goal_rate": 0.0241,
                "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": 7,
                "total_progression": 20,
                "progressive_carries": 1,
                "total_shots": 2,
                "offsides": 0,
                "yellowCards": 1.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.33,
                "minutesPct": 66.7,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 3,
                "dribbles_successful": 1.3,
                "crosses_attempted": 2.0,
                "duel_win_rate": 0.481,
                "pressing_faced": "LOW",
                "matchup_zone": "Left Mid vs Right Back — Wide Channel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Ximo Navarro",
                "opponent_faced": "Ximo Navarro",
                "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 17, fifa_overall 78.0)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0505,
                "assists": 0,
                "expected_goals": 0.0532,
                "rating": 6.5913,
                "minutes": 62,
                "total_pass": 19,
                "accurate_pass": 16,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 12,
                "accurate_opp_half_passes": 9,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 26,
                "possession_lost": 6.8686,
                "dispossessed": 1.2265,
                "duels_lost": 5,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "goal_rate": 0.0241,
                "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": 7,
                "total_progression": 20,
                "progressive_carries": 1,
                "total_shots": 2,
                "offsides": 0,
                "yellowCards": 1.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.33,
                "minutesPct": 66.7,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 3,
                "dribbles_successful": 1.3,
                "crosses_attempted": 2.0,
                "duel_win_rate": 0.481,
                "pressing_faced": "LOW",
                "matchup_zone": "Left Mid vs Right Back — Wide Channel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Ximo Navarro",
                "opponent_faced": "Ximo Navarro",
                "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.0505,
                "assists": 0,
                "expected_goals": 0.0532,
                "rating": 6.5913,
                "minutes": 62,
                "total_pass": 19,
                "accurate_pass": 16,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 12,
                "accurate_opp_half_passes": 9,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 26,
                "possession_lost": 6.8686,
                "dispossessed": 1.2265,
                "duels_lost": 5,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "goal_rate": 0.0241,
                "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": 7,
                "total_progression": 20,
                "progressive_carries": 1,
                "total_shots": 2,
                "offsides": 0,
                "yellowCards": 1.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.33,
                "minutesPct": 66.7,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 3,
                "dribbles_successful": 1.3,
                "crosses_attempted": 2.0,
                "duel_win_rate": 0.481,
                "pressing_faced": "LOW",
                "matchup_zone": "Left Mid vs Right Back — Wide Channel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Ximo Navarro",
                "opponent_faced": "Ximo Navarro",
                "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.0505,
                "assists": 0,
                "expected_goals": 0.0532,
                "rating": 6.5913,
                "minutes": 62,
                "total_pass": 19,
                "accurate_pass": 16,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 12,
                "accurate_opp_half_passes": 9,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 26,
                "possession_lost": 6.8686,
                "dispossessed": 1.2265,
                "duels_lost": 5,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "goal_rate": 0.0241,
                "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": 7,
                "total_progression": 20,
                "progressive_carries": 1,
                "total_shots": 2,
                "offsides": 0,
                "yellowCards": 1.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 100.0,
                "shotConversion": 0.33,
                "minutesPct": 66.7,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.0,
                "dribbles_attempted": 3,
                "dribbles_successful": 1.3,
                "crosses_attempted": 2.0,
                "duel_win_rate": 0.481,
                "pressing_faced": "LOW",
                "matchup_zone": "Left Mid vs Right Back — Wide Channel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Ximo Navarro",
                "opponent_faced": "Ximo Navarro",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 78.0
              }
            }
          ]
        },
        "Chidera Ejuke": {
          "player_id": 875890,
          "position": "F",
          "position_depth": "F",
          "is_starter": true,
          "shirt_number": 21,
          "height": 176,
          "market_value": 3700000,
          "stats": {
            "expected_goals": 0.2427,
            "goal_rate": 0.2319,
            "goals": 0,
            "shots_on_target": 1,
            "expected_assists": 0.0411,
            "key_pass": 1,
            "rating": 6.747,
            "minutes": 37,
            "total_pass": 0,
            "accurate_pass": 0,
            "duels_won": 3,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 7,
            "accurate_opp_half_passes": 0,
            "crosses_total": 1,
            "crosses_accurate": 0,
            "touches": 23,
            "possession_lost": 6.3949,
            "dispossessed": 0.0,
            "duels_lost": 3,
            "aerial_lost": 0,
            "total_contest": 4,
            "won_contest": 0,
            "ball_recovery": 3,
            "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": 8,
            "total_progression": 66,
            "progressive_carries": 2,
            "total_shots": 2,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 50.0,
            "shotConversion": 0.5,
            "minutesPct": 34.8,
            "pointsPerMatch": 2.0,
            "netGoalDifferencePer90": 2.87,
            "opponent_faced": "José María Giménez, Giacomo Quagliata",
            "matchup_zone": "Shape fallback",
            "antagonist_source": "formation_fallback",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 76.0
          },
          "latest_10_games": [
            {
              "match_id": 16416323.0,
              "match_date": "2026-09-06",
              "home_team": "Espanyol",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 60,
                "rating": 6.6,
                "assists": 0,
                "expected_assists": 0.015,
                "total_shots": 0,
                "total_pass": 24,
                "accurate_pass": 23,
                "interceptions": 2,
                "clearances": 2,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 1
              },
              "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": 16416316.0,
              "match_date": "2026-08-29",
              "home_team": "Sevilla",
              "away_team": "Atlético Madrid",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Atlético Madrid",
              "stats": {
                "minutes": 35,
                "rating": 7.5,
                "assists": 0,
                "expected_goals": 0.0241,
                "expected_assists": 0.0378,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 13,
                "accurate_pass": 13,
                "key_pass": 1,
                "duels_won": 8,
                "ball_recovery": 5
              },
              "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": 16416301.0,
              "match_date": "2026-08-22",
              "home_team": "Athletic Club",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 45,
                "rating": 7.6,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.3171,
                "expected_assists": 0.0001,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 7,
                "accurate_pass": 5,
                "tackles": 3,
                "tackles_won": 1,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 4,
                "ball_recovery": 3
              },
              "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": 16421052.0,
              "match_date": "2026-08-15",
              "home_team": "Sevilla",
              "away_team": "Rayo Vallecano",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Rayo Vallecano",
              "stats": {
                "minutes": 12,
                "rating": 6.5,
                "assists": 0,
                "total_shots": 0,
                "ball_recovery": 2
              },
              "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": 3119,
            "combined_rank_score": 1080.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 199.0,
            "sofascore_rating": 7.2,
            "sofascore_appearances": 3.0,
            "fifa_rank": 1962.0,
            "fifa_overall": 76.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 14,
            "squad_role": "starter",
            "projected_match_rating": 6.747,
            "source_file": "data/player_rankings.csv",
            "player_name": "Chidera Ejuke",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Ayase Ueda",
                  "ranking": 3114
                },
                {
                  "player_name": "Mika Godts",
                  "ranking": 3115
                },
                {
                  "player_name": "Youri Baas",
                  "ranking": 3116
                },
                {
                  "player_name": "Martín Satriano",
                  "ranking": 3117
                },
                {
                  "player_name": "Marcos Leonardo",
                  "ranking": 3118
                }
              ],
              "lower": [
                {
                  "player_name": "Adrián Martínez",
                  "ranking": 3120
                },
                {
                  "player_name": "Emile Smith Rowe",
                  "ranking": 3121
                },
                {
                  "player_name": "Santiago Giménez",
                  "ranking": 3122
                },
                {
                  "player_name": "Mykola Shaparenko",
                  "ranking": 3123
                },
                {
                  "player_name": "Kostas Tsimikas",
                  "ranking": 3124
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.51,
          "history_matches": 4,
          "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": 4,
            "data_confidence": 0.51,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 0.9838,
            "fbref_prior_metrics": {
              "squad": "Sevilla",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 3.0,
              "starts": 0.0,
              "minutes": 94.0,
              "goals_per90": 1.0,
              "assists_per90": 0.0,
              "shots_per90": 1.91,
              "shots_on_target_pct": 50.0,
              "prior_reliability": 0.0667
            },
            "rationale": "XGBoost regressor (F_service) evaluated 4 historical appearances across 6 target models; FBref 2026-2027 prior blended (La Liga, Sevilla, rel: 0.07, gls/90: 1.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 6 target models",
              "stats": {
                "expected_goals": 0.179,
                "goal_rate": 0.2164,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0418,
                "key_pass": 1,
                "rating": 6.8579,
                "minutes": 38,
                "total_pass": 0,
                "accurate_pass": 0,
                "duels_won": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 0,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 23,
                "possession_lost": 6.5,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 0,
                "total_contest": 4,
                "won_contest": 0,
                "ball_recovery": 3,
                "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": 8,
                "total_progression": 67,
                "progressive_carries": 2
              },
              "trace": {
                "model": {
                  "position_service": "F",
                  "schema_version": 3,
                  "trained_at": "2026-09-15T10:01:52.318462+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 278,
                    "rows": 769
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Espanyol",
                    "minutes": 60.0,
                    "is_starting": true,
                    "weight": 0.3138,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Atlético Madrid",
                    "minutes": 35.0,
                    "is_starting": false,
                    "weight": 0.2667,
                    "rating": 7.5
                  },
                  {
                    "match_date": "2026-08-22",
                    "opponent": "Athletic Club",
                    "minutes": 45.0,
                    "is_starting": false,
                    "weight": 0.2267,
                    "rating": 7.6
                  },
                  {
                    "match_date": "2026-08-15",
                    "opponent": "Rayo Vallecano",
                    "minutes": 12.0,
                    "is_starting": false,
                    "weight": 0.1927,
                    "rating": 6.5
                  }
                ],
                "feature_row": {
                  "history_matches": 4.0,
                  "is_starting_11": 1.0,
                  "onTargetScoringAttempt": 0.2267,
                  "totalShots": 0.4935,
                  "minutesPlayed": 40.68,
                  "touches": 25.1724,
                  "dribbleValueNormalized": 0.2507
                },
                "per_target": [
                  {
                    "target": "expectedGoals",
                    "predicted": 0.17904143035411835,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "minutesPlayed",
                        "importance": 0.093
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0745
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0545
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.043
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0314
                      }
                    ]
                  },
                  {
                    "target": "goals",
                    "predicted": 0.21638306975364685,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.1
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0715
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0371
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0298
                      },
                      {
                        "name": "passValueNormalized",
                        "importance": 0.0268
                      }
                    ]
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.6547604203224182,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0703
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0583
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0486
                      },
                      {
                        "name": "touches",
                        "importance": 0.0401
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0347
                      }
                    ]
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.04182176664471626,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "touches",
                        "importance": 0.0802
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0621
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0547
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0537
                      },
                      {
                        "name": "numberOfSprints",
                        "importance": 0.0397
                      }
                    ]
                  },
                  {
                    "target": "keyPass",
                    "predicted": 1.037736415863037,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0738
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0657
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0615
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0458
                      },
                      {
                        "name": "aerialLost",
                        "importance": 0.0313
                      }
                    ]
                  },
                  {
                    "target": "rating",
                    "predicted": 6.857865810394287,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "speed_threat",
                        "importance": 0.0598
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0489
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0439
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0425
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0404
                      }
                    ]
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9838, quality 0.446)",
              "stats": {
                "expected_goals": 0.1761,
                "goal_rate": 0.2129,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0411,
                "key_pass": 1,
                "rating": 6.747,
                "minutes": 37,
                "total_pass": 0,
                "accurate_pass": 0,
                "duels_won": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 0,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 23,
                "possession_lost": 6.3949,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 0,
                "total_contest": 4,
                "won_contest": 0,
                "ball_recovery": 3,
                "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": 8,
                "total_progression": 66,
                "progressive_carries": 2
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0241)",
              "stats": {
                "expected_goals": 0.1761,
                "goal_rate": 0.2319,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0411,
                "key_pass": 1,
                "rating": 6.747,
                "minutes": 37,
                "total_pass": 0,
                "accurate_pass": 0,
                "duels_won": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 0,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 23,
                "possession_lost": 6.3949,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 0,
                "total_contest": 4,
                "won_contest": 0,
                "ball_recovery": 3,
                "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": 8,
                "total_progression": 66,
                "progressive_carries": 2,
                "total_shots": 2,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 50.0,
                "shotConversion": 0.5,
                "minutesPct": 34.8,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 2.87
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.1761,
                "goal_rate": 0.2319,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0411,
                "key_pass": 1,
                "rating": 6.747,
                "minutes": 37,
                "total_pass": 0,
                "accurate_pass": 0,
                "duels_won": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 0,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 23,
                "possession_lost": 6.3949,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 0,
                "total_contest": 4,
                "won_contest": 0,
                "ball_recovery": 3,
                "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": 8,
                "total_progression": 66,
                "progressive_carries": 2,
                "total_shots": 2,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 50.0,
                "shotConversion": 0.5,
                "minutesPct": 34.8,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 2.87
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "expected_goals": 0.1761,
                "goal_rate": 0.2319,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0411,
                "key_pass": 1,
                "rating": 6.747,
                "minutes": 37,
                "total_pass": 0,
                "accurate_pass": 0,
                "duels_won": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 0,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 23,
                "possession_lost": 6.3949,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 0,
                "total_contest": 4,
                "won_contest": 0,
                "ball_recovery": 3,
                "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": 8,
                "total_progression": 66,
                "progressive_carries": 2,
                "total_shots": 2,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 50.0,
                "shotConversion": 0.5,
                "minutesPct": 34.8,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 2.87,
                "opponent_faced": "José María Giménez, Giacomo Quagliata",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.02 (squad xG sum 0.7402, xG scale 1.3780)",
              "stats": {
                "expected_goals": 0.2427,
                "goal_rate": 0.2319,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0411,
                "key_pass": 1,
                "rating": 6.747,
                "minutes": 37,
                "total_pass": 0,
                "accurate_pass": 0,
                "duels_won": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 0,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 23,
                "possession_lost": 6.3949,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 0,
                "total_contest": 4,
                "won_contest": 0,
                "ball_recovery": 3,
                "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": 8,
                "total_progression": 66,
                "progressive_carries": 2,
                "total_shots": 2,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 50.0,
                "shotConversion": 0.5,
                "minutesPct": 34.8,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 2.87,
                "opponent_faced": "José María Giménez, Giacomo Quagliata",
                "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 76.0)",
              "stats": {
                "expected_goals": 0.2427,
                "goal_rate": 0.2319,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0411,
                "key_pass": 1,
                "rating": 6.747,
                "minutes": 37,
                "total_pass": 0,
                "accurate_pass": 0,
                "duels_won": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 0,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 23,
                "possession_lost": 6.3949,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 0,
                "total_contest": 4,
                "won_contest": 0,
                "ball_recovery": 3,
                "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": 8,
                "total_progression": 66,
                "progressive_carries": 2,
                "total_shots": 2,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 50.0,
                "shotConversion": 0.5,
                "minutesPct": 34.8,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 2.87,
                "opponent_faced": "José María Giménez, Giacomo Quagliata",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "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": {
                "expected_goals": 0.2427,
                "goal_rate": 0.2319,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0411,
                "key_pass": 1,
                "rating": 6.747,
                "minutes": 37,
                "total_pass": 0,
                "accurate_pass": 0,
                "duels_won": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 0,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 23,
                "possession_lost": 6.3949,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 0,
                "total_contest": 4,
                "won_contest": 0,
                "ball_recovery": 3,
                "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": 8,
                "total_progression": 66,
                "progressive_carries": 2,
                "total_shots": 2,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 50.0,
                "shotConversion": 0.5,
                "minutesPct": 34.8,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 2.87,
                "opponent_faced": "José María Giménez, Giacomo Quagliata",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "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": {
                "expected_goals": 0.2427,
                "goal_rate": 0.2319,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0411,
                "key_pass": 1,
                "rating": 6.747,
                "minutes": 37,
                "total_pass": 0,
                "accurate_pass": 0,
                "duels_won": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 0,
                "crosses_total": 1,
                "crosses_accurate": 0,
                "touches": 23,
                "possession_lost": 6.3949,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 0,
                "total_contest": 4,
                "won_contest": 0,
                "ball_recovery": 3,
                "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": 8,
                "total_progression": 66,
                "progressive_carries": 2,
                "total_shots": 2,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 50.0,
                "shotConversion": 0.5,
                "minutesPct": 34.8,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 2.87,
                "opponent_faced": "José María Giménez, Giacomo Quagliata",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 76.0
              }
            }
          ]
        },
        "Giorgi Kochorashvili": {
          "player_id": 886402,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 8,
          "height": 176,
          "market_value": 3800000,
          "stats": {
            "key_pass": 1,
            "expected_assists": 0.0713,
            "assists": 0,
            "expected_goals": 0.0599,
            "rating": 6.7188,
            "minutes": 44,
            "total_pass": 24,
            "accurate_pass": 21,
            "duels_won": 2,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_own_half_passes": 7,
            "accurate_own_half_passes": 7,
            "total_opp_half_passes": 17,
            "accurate_opp_half_passes": 14,
            "crosses_total": 3,
            "crosses_accurate": 0,
            "touches": 37,
            "possession_lost": 8.3658,
            "dispossessed": 0.0,
            "duels_lost": 2,
            "aerial_won": 1,
            "aerial_lost": 0,
            "interceptions": 0,
            "tackles_won": 1,
            "tackles": 1,
            "clearances": 0,
            "total_contest": 0,
            "won_contest": 0,
            "challenges_lost": 0,
            "fouls": 1,
            "fouls_drawn": 1,
            "goal_rate": 0.0,
            "goals": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "ball_carries": 9,
            "total_progression": 0,
            "progressive_carries": 0,
            "total_shots": 2,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 0.0,
            "shotConversion": 0.0,
            "minutesPct": 13.3,
            "pointsPerMatch": 0.0,
            "netGoalDifferencePer90": 2.5,
            "dribbles_attempted": 3,
            "dribbles_successful": 1.2,
            "crosses_attempted": 2.0,
            "duel_win_rate": 0.466,
            "pressing_faced": "LOW",
            "matchup_zone": "Right Mid vs Left Back — Wide Channel",
            "numerical_situation": "1v1",
            "opponent_defenders": "Giacomo Quagliata",
            "opponent_faced": "Giacomo Quagliata",
            "antagonist_source": "attacking_duel, midfield_pairing",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 74.0
          },
          "latest_10_games": [
            {
              "match_id": 16416323.0,
              "match_date": "2026-09-06",
              "home_team": "Espanyol",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 54,
                "rating": 6.6,
                "assists": 0,
                "expected_assists": 0.0181,
                "total_shots": 0,
                "total_pass": 28,
                "accurate_pass": 23,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "duels_won": 2,
                "ball_recovery": 2
              },
              "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": 16416316.0,
              "match_date": "2026-08-29",
              "home_team": "Sevilla",
              "away_team": "Atlético Madrid",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Atlético Madrid",
              "stats": {
                "minutes": 35,
                "rating": 6.8,
                "assists": 0,
                "expected_goals": 0.0687,
                "expected_assists": 0.0183,
                "total_shots": 2,
                "shots_off_target": 2,
                "total_pass": 21,
                "accurate_pass": 20,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 1,
                "duels_won": 3
              },
              "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": 3657,
            "combined_rank_score": 1619.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 247.0,
            "sofascore_rating": 7.12,
            "sofascore_appearances": 5.0,
            "fifa_rank": 2992.0,
            "fifa_overall": 74.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 13,
            "squad_role": "starter",
            "projected_match_rating": 6.7188,
            "source_file": "data/player_rankings.csv",
            "player_name": "Giorgi Kochorashvili",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Altimira",
                  "ranking": 3652
                },
                {
                  "player_name": "Miguel Almirón",
                  "ranking": 3653
                },
                {
                  "player_name": "Marko Livaja",
                  "ranking": 3654
                },
                {
                  "player_name": "Víctor Chust",
                  "ranking": 3655
                },
                {
                  "player_name": "Kevin Lomónaco",
                  "ranking": 3656
                }
              ],
              "lower": [
                {
                  "player_name": "Quilindschy Hartman",
                  "ranking": 3658
                },
                {
                  "player_name": "Oscar Dorley",
                  "ranking": 3659
                },
                {
                  "player_name": "Mykola Matviienko",
                  "ranking": 3660
                },
                {
                  "player_name": "Hamed Junior Traorè",
                  "ranking": 3661
                },
                {
                  "player_name": "Andrés Cubas",
                  "ranking": 3662
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.379,
          "history_matches": 2,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "M_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "keyPass",
              "expectedAssists",
              "totalCross",
              "accurateCross",
              "duelWon",
              "duelLost",
              "aerialWon",
              "ballRecovery",
              "touches",
              "interceptionWon",
              "wonTackle",
              "possessionLostCtrl",
              "dispossessed",
              "numberOfSprints",
              "kilometersCovered",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "creative_index",
              "touches_p90",
              "totalPass_p90",
              "keyPass_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "ballCarriesCount_p90",
              "creative_efficiency",
              "cross_accuracy",
              "cross_creative_contribution",
              "defensive_midfield_actions",
              "press_vulnerability",
              "progressive_carries_p90",
              "intensity_index",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "rating"
            ],
            "history_matches": 2,
            "data_confidence": 0.379,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 0.9842,
            "fbref_prior_metrics": {
              "squad": "Sevilla",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 1.0,
              "starts": 0.0,
              "minutes": 36.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 5.0,
              "shots_on_target_pct": 0.0,
              "prior_reliability": 0.0267
            },
            "rationale": "XGBoost regressor (M_service) evaluated 2 historical appearances across 5 target models; FBref 2026-2027 prior blended (La Liga, Sevilla, 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.0724,
                "assists": 0,
                "expected_goals": 0.0442,
                "rating": 6.8266,
                "minutes": 44,
                "total_pass": 24,
                "accurate_pass": 22,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 8,
                "accurate_own_half_passes": 8,
                "total_opp_half_passes": 17,
                "accurate_opp_half_passes": 14,
                "crosses_total": 4,
                "crosses_accurate": 0,
                "touches": 38,
                "possession_lost": 8.5,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 2,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 9,
                "total_progression": 0,
                "progressive_carries": 0
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 3,
                  "trained_at": "2026-09-15T10:01:48.236605+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 461,
                    "rows": 1422
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Espanyol",
                    "minutes": 54.0,
                    "is_starting": true,
                    "weight": 0.5405,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Atlético Madrid",
                    "minutes": 35.0,
                    "is_starting": false,
                    "weight": 0.4595,
                    "rating": 6.8
                  }
                ],
                "feature_row": {
                  "history_matches": 2.0,
                  "is_starting_11": 1.0,
                  "ballRecovery_p90": 1.8018,
                  "ballRecovery": 1.0811,
                  "intensity_index": 2.9047,
                  "expectedAssists": 0.0182,
                  "kilometersCovered": 5.5832
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 0.9231194257736206,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0551
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0489
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0393
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.035
                      },
                      {
                        "name": "accurateCross",
                        "importance": 0.0319
                      }
                    ]
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.0723985955119133,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "cross_creative_contribution",
                        "importance": 0.0714
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0375
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0361
                      },
                      {
                        "name": "accurateCross",
                        "importance": 0.0356
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.0345
                      }
                    ]
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.07252384722232819,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0442
                      },
                      {
                        "name": "keyPass_p90",
                        "importance": 0.0378
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0368
                      },
                      {
                        "name": "cross_accuracy",
                        "importance": 0.036
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0315
                      }
                    ]
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.044172998517751694,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.077
                      },
                      {
                        "name": "intensity_index",
                        "importance": 0.0622
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0454
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0399
                      },
                      {
                        "name": "numberOfSprints",
                        "importance": 0.0384
                      }
                    ]
                  },
                  {
                    "target": "rating",
                    "predicted": 6.826641082763672,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "ballRecovery_p90",
                        "importance": 0.0847
                      },
                      {
                        "name": "ballRecovery",
                        "importance": 0.0836
                      },
                      {
                        "name": "kilometersCovered",
                        "importance": 0.0597
                      },
                      {
                        "name": "defensive_midfield_actions",
                        "importance": 0.05
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0441
                      }
                    ]
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9842, quality 0.447)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0713,
                "assists": 0,
                "expected_goals": 0.0435,
                "rating": 6.7188,
                "minutes": 44,
                "total_pass": 24,
                "accurate_pass": 21,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 17,
                "accurate_opp_half_passes": 14,
                "crosses_total": 3,
                "crosses_accurate": 0,
                "touches": 37,
                "possession_lost": 8.3658,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 9,
                "total_progression": 0,
                "progressive_carries": 0
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0124)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0713,
                "assists": 0,
                "expected_goals": 0.0435,
                "rating": 6.7188,
                "minutes": 44,
                "total_pass": 24,
                "accurate_pass": 21,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 17,
                "accurate_opp_half_passes": 14,
                "crosses_total": 3,
                "crosses_accurate": 0,
                "touches": 37,
                "possession_lost": 8.3658,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 9,
                "total_progression": 0,
                "progressive_carries": 0,
                "total_shots": 5,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 13.3,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 2.5
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0713,
                "assists": 0,
                "expected_goals": 0.0435,
                "rating": 6.7188,
                "minutes": 44,
                "total_pass": 24,
                "accurate_pass": 21,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 17,
                "accurate_opp_half_passes": 14,
                "crosses_total": 3,
                "crosses_accurate": 0,
                "touches": 37,
                "possession_lost": 8.3658,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 9,
                "total_progression": 0,
                "progressive_carries": 0,
                "total_shots": 5,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 13.3,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 2.5
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0713,
                "assists": 0,
                "expected_goals": 0.0435,
                "rating": 6.7188,
                "minutes": 44,
                "total_pass": 24,
                "accurate_pass": 21,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 17,
                "accurate_opp_half_passes": 14,
                "crosses_total": 3,
                "crosses_accurate": 0,
                "touches": 37,
                "possession_lost": 8.3658,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 9,
                "total_progression": 0,
                "progressive_carries": 0,
                "total_shots": 2,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 13.3,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 2.5,
                "dribbles_attempted": 3,
                "dribbles_successful": 1.2,
                "crosses_attempted": 2.0,
                "duel_win_rate": 0.466,
                "pressing_faced": "LOW",
                "matchup_zone": "Right Mid vs Left Back — Wide Channel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Giacomo Quagliata",
                "opponent_faced": "Giacomo Quagliata",
                "antagonist_source": "attacking_duel, midfield_pairing"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.02 (squad xG sum 0.7402, xG scale 1.3780)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0713,
                "assists": 0,
                "expected_goals": 0.0599,
                "rating": 6.7188,
                "minutes": 44,
                "total_pass": 24,
                "accurate_pass": 21,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 17,
                "accurate_opp_half_passes": 14,
                "crosses_total": 3,
                "crosses_accurate": 0,
                "touches": 37,
                "possession_lost": 8.3658,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 9,
                "total_progression": 0,
                "progressive_carries": 0,
                "total_shots": 2,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 13.3,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 2.5,
                "dribbles_attempted": 3,
                "dribbles_successful": 1.2,
                "crosses_attempted": 2.0,
                "duel_win_rate": 0.466,
                "pressing_faced": "LOW",
                "matchup_zone": "Right Mid vs Left Back — Wide Channel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Giacomo Quagliata",
                "opponent_faced": "Giacomo Quagliata",
                "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 13, fifa_overall 74.0)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0713,
                "assists": 0,
                "expected_goals": 0.0599,
                "rating": 6.7188,
                "minutes": 44,
                "total_pass": 24,
                "accurate_pass": 21,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 17,
                "accurate_opp_half_passes": 14,
                "crosses_total": 3,
                "crosses_accurate": 0,
                "touches": 37,
                "possession_lost": 8.3658,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 9,
                "total_progression": 0,
                "progressive_carries": 0,
                "total_shots": 2,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 13.3,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 2.5,
                "dribbles_attempted": 3,
                "dribbles_successful": 1.2,
                "crosses_attempted": 2.0,
                "duel_win_rate": 0.466,
                "pressing_faced": "LOW",
                "matchup_zone": "Right Mid vs Left Back — Wide Channel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Giacomo Quagliata",
                "opponent_faced": "Giacomo Quagliata",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 74.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 0 projected goals distributed by scorer weight",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0713,
                "assists": 0,
                "expected_goals": 0.0599,
                "rating": 6.7188,
                "minutes": 44,
                "total_pass": 24,
                "accurate_pass": 21,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 17,
                "accurate_opp_half_passes": 14,
                "crosses_total": 3,
                "crosses_accurate": 0,
                "touches": 37,
                "possession_lost": 8.3658,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 9,
                "total_progression": 0,
                "progressive_carries": 0,
                "total_shots": 2,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 13.3,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 2.5,
                "dribbles_attempted": 3,
                "dribbles_successful": 1.2,
                "crosses_attempted": 2.0,
                "duel_win_rate": 0.466,
                "pressing_faced": "LOW",
                "matchup_zone": "Right Mid vs Left Back — Wide Channel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Giacomo Quagliata",
                "opponent_faced": "Giacomo Quagliata",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 74.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 0 projected assists distributed by provider weight",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0713,
                "assists": 0,
                "expected_goals": 0.0599,
                "rating": 6.7188,
                "minutes": 44,
                "total_pass": 24,
                "accurate_pass": 21,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 7,
                "total_opp_half_passes": 17,
                "accurate_opp_half_passes": 14,
                "crosses_total": 3,
                "crosses_accurate": 0,
                "touches": 37,
                "possession_lost": 8.3658,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_won": 1,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 1,
                "tackles": 1,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 1,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 9,
                "total_progression": 0,
                "progressive_carries": 0,
                "total_shots": 2,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 13.3,
                "pointsPerMatch": 0.0,
                "netGoalDifferencePer90": 2.5,
                "dribbles_attempted": 3,
                "dribbles_successful": 1.2,
                "crosses_attempted": 2.0,
                "duel_win_rate": 0.466,
                "pressing_faced": "LOW",
                "matchup_zone": "Right Mid vs Left Back — Wide Channel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Giacomo Quagliata",
                "opponent_faced": "Giacomo Quagliata",
                "antagonist_source": "attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 74.0
              }
            }
          ]
        },
        "Lucien Agoumé": {
          "player_id": 960006,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 6,
          "height": 185,
          "market_value": 15500000,
          "stats": {
            "key_pass": 1,
            "expected_assists": 0.0898,
            "assists": 0,
            "expected_goals": 0.0701,
            "rating": 7.0834,
            "minutes": 92,
            "total_pass": 39,
            "accurate_pass": 31,
            "duels_won": 6,
            "total_long_balls": 5,
            "accurate_long_balls": 3,
            "total_own_half_passes": 14,
            "accurate_own_half_passes": 12,
            "total_opp_half_passes": 25,
            "accurate_opp_half_passes": 19,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 56,
            "possession_lost": 9.9975,
            "dispossessed": 0.0,
            "duels_lost": 5,
            "aerial_won": 1,
            "aerial_lost": 1,
            "interceptions": 0,
            "tackles_won": 3,
            "tackles": 3,
            "clearances": 0,
            "total_contest": 0,
            "won_contest": 0,
            "challenges_lost": 0,
            "fouls": 3,
            "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": 12,
            "total_progression": 43,
            "progressive_carries": 1,
            "total_shots": 2,
            "offsides": 0,
            "yellowCards": 0.3333,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 0.0,
            "shotConversion": 0.0,
            "minutesPct": 100.0,
            "pointsPerMatch": 2.0,
            "netGoalDifferencePer90": 0.33,
            "dribbles_attempted": 2,
            "dribbles_successful": 0.9,
            "crosses_attempted": 0.0,
            "duel_win_rate": 0.493,
            "pressing_faced": "LOW",
            "matchup_zone": "Central Mid vs Defensive Mid — Pressing/Creation Duel",
            "numerical_situation": "1v1",
            "opponent_defenders": "Marc Casadó",
            "opponent_faced": "Marc Casadó",
            "antagonist_source": "defensive_duel, 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_type": "played",
              "match_id": 16416330.0,
              "match_date": "2026-09-11 19:00:00 UTC",
              "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",
              "home_team": "Sevilla",
              "away_team": "Valencia",
              "home_score_current": 1.0,
              "away_score_current": 0.0,
              "team_side": "home",
              "status_code": 100.0,
              "status_type": "finished",
              "status_description": "Ended",
              "player_status": "starter",
              "is_starting_11": true,
              "team": "Sevilla",
              "opponent": "Valencia",
              "stats": {},
              "has_player_stats": false,
              "source": "depth_chart.csv"
            },
            {
              "match_id": 16416323.0,
              "match_date": "2026-09-06",
              "home_team": "Espanyol",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 90,
                "rating": 7.1,
                "assists": 0,
                "expected_assists": 0.2189,
                "total_shots": 0,
                "total_pass": 43,
                "accurate_pass": 35,
                "tackles": 2,
                "tackles_won": 1,
                "interceptions": 4,
                "clearances": 3,
                "aerial_won": 1,
                "duels_won": 5,
                "ball_recovery": 8
              },
              "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": 16416316.0,
              "match_date": "2026-08-29",
              "home_team": "Sevilla",
              "away_team": "Atlético Madrid",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Atlético Madrid",
              "stats": {
                "minutes": 90,
                "rating": 6.8,
                "assists": 0,
                "expected_goals": 0.0379,
                "expected_assists": 0.0528,
                "total_shots": 2,
                "shots_off_target": 1,
                "total_pass": 46,
                "accurate_pass": 41,
                "key_pass": 1,
                "tackles": 2,
                "tackles_won": 2,
                "interceptions": 1,
                "duels_won": 4,
                "ball_recovery": 3
              },
              "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": 16416301.0,
              "match_date": "2026-08-22",
              "home_team": "Athletic Club",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 90,
                "rating": 7.2,
                "assists": 0,
                "expected_assists": 0.0125,
                "total_shots": 0,
                "total_pass": 27,
                "accurate_pass": 21,
                "tackles": 5,
                "tackles_won": 5,
                "interceptions": 5,
                "clearances": 8,
                "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"
            },
            {
              "match_id": 16421052.0,
              "match_date": "2026-08-15",
              "home_team": "Sevilla",
              "away_team": "Rayo Vallecano",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Rayo Vallecano",
              "stats": {
                "minutes": 90,
                "rating": 6.9,
                "assists": 0,
                "expected_assists": 0.1681,
                "total_shots": 0,
                "total_pass": 35,
                "accurate_pass": 25,
                "tackles": 4,
                "tackles_won": 3,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 8,
                "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": 3222,
            "combined_rank_score": 1170.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 374.0,
            "sofascore_rating": 6.9667,
            "sofascore_appearances": 3.0,
            "fifa_rank": 1966.0,
            "fifa_overall": 76.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 3,
            "squad_role": "starter",
            "projected_match_rating": 7.0834,
            "source_file": "data/player_rankings.csv",
            "player_name": "Lucien Agoumé",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Lazaros Rota",
                  "ranking": 3217
                },
                {
                  "player_name": "Joshua Zirkzee",
                  "ranking": 3218
                },
                {
                  "player_name": "Camilo Vargas",
                  "ranking": 3219
                },
                {
                  "player_name": "Hugo Duro",
                  "ranking": 3220
                },
                {
                  "player_name": "Chris Führich",
                  "ranking": 3221
                }
              ],
              "lower": [
                {
                  "player_name": "Maarten Vandevoordt",
                  "ranking": 3223
                },
                {
                  "player_name": "Nikola Vasilj",
                  "ranking": 3224
                },
                {
                  "player_name": "Wouter Burger",
                  "ranking": 3225
                },
                {
                  "player_name": "Daniel James",
                  "ranking": 3226
                },
                {
                  "player_name": "Jhon Lucumí",
                  "ranking": 3227
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.53,
          "history_matches": 4,
          "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": 4,
            "data_confidence": 0.53,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 1.0254,
            "fbref_prior_metrics": {
              "squad": "Sevilla",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 3.0,
              "starts": 3.0,
              "minutes": 270.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 0.67,
              "shots_on_target_pct": 0.0,
              "prior_reliability": 0.2
            },
            "rationale": "XGBoost regressor (M_service) evaluated 4 historical appearances across 5 target models; FBref 2026-2027 prior blended (La Liga, Sevilla, rel: 0.20, 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.0875,
                "assists": 0,
                "expected_goals": 0.0497,
                "rating": 6.9081,
                "minutes": 90,
                "total_pass": 38,
                "accurate_pass": 30,
                "duels_won": 6,
                "total_long_balls": 5,
                "accurate_long_balls": 2,
                "total_own_half_passes": 13,
                "accurate_own_half_passes": 12,
                "total_opp_half_passes": 24,
                "accurate_opp_half_passes": 18,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 54,
                "possession_lost": 9.75,
                "dispossessed": 0.0,
                "duels_lost": 4,
                "aerial_won": 0,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 3,
                "tackles": 3,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 2,
                "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": 12,
                "total_progression": 42,
                "progressive_carries": 0
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 3,
                  "trained_at": "2026-09-15T10:01:48.236605+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 461,
                    "rows": 1422
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Espanyol",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.3138,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Atlético Madrid",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.2667,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-08-22",
                    "opponent": "Athletic Club",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.2267,
                    "rating": 7.2
                  },
                  {
                    "match_date": "2026-08-15",
                    "opponent": "Rayo Vallecano",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1927,
                    "rating": 6.9
                  }
                ],
                "feature_row": {
                  "history_matches": 4.0,
                  "is_starting_11": 1.0,
                  "ballRecovery_p90": 5.8274,
                  "ballRecovery": 5.8274,
                  "intensity_index": 6.1119,
                  "expectedAssists": 0.118,
                  "kilometersCovered": 10.4414
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 0.9411530494689941,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0551
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0489
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0393
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.035
                      },
                      {
                        "name": "accurateCross",
                        "importance": 0.0319
                      }
                    ]
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.08752871304750443,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "cross_creative_contribution",
                        "importance": 0.0714
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0375
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0361
                      },
                      {
                        "name": "accurateCross",
                        "importance": 0.0356
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.0345
                      }
                    ]
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.0855485200881958,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0442
                      },
                      {
                        "name": "keyPass_p90",
                        "importance": 0.0378
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0368
                      },
                      {
                        "name": "cross_accuracy",
                        "importance": 0.036
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0315
                      }
                    ]
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.049680255353450775,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.077
                      },
                      {
                        "name": "intensity_index",
                        "importance": 0.0622
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0454
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0399
                      },
                      {
                        "name": "numberOfSprints",
                        "importance": 0.0384
                      }
                    ]
                  },
                  {
                    "target": "rating",
                    "predicted": 6.908113956451416,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "ballRecovery_p90",
                        "importance": 0.0847
                      },
                      {
                        "name": "ballRecovery",
                        "importance": 0.0836
                      },
                      {
                        "name": "kilometersCovered",
                        "importance": 0.0597
                      },
                      {
                        "name": "defensive_midfield_actions",
                        "importance": 0.05
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0441
                      }
                    ]
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0254, quality 0.585)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0898,
                "assists": 0,
                "expected_goals": 0.0509,
                "rating": 7.0834,
                "minutes": 92,
                "total_pass": 39,
                "accurate_pass": 31,
                "duels_won": 6,
                "total_long_balls": 5,
                "accurate_long_balls": 3,
                "total_own_half_passes": 14,
                "accurate_own_half_passes": 12,
                "total_opp_half_passes": 25,
                "accurate_opp_half_passes": 19,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 56,
                "possession_lost": 9.9975,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_won": 0,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 3,
                "tackles": 3,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 3,
                "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": 12,
                "total_progression": 43,
                "progressive_carries": 1
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0722)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0898,
                "assists": 0,
                "expected_goals": 0.0509,
                "rating": 7.0834,
                "minutes": 92,
                "total_pass": 39,
                "accurate_pass": 31,
                "duels_won": 6,
                "total_long_balls": 5,
                "accurate_long_balls": 3,
                "total_own_half_passes": 14,
                "accurate_own_half_passes": 12,
                "total_opp_half_passes": 25,
                "accurate_opp_half_passes": 19,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 56,
                "possession_lost": 9.9975,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_won": 0,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 3,
                "tackles": 3,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 3,
                "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": 12,
                "total_progression": 43,
                "progressive_carries": 1,
                "total_shots": 1,
                "offsides": 0,
                "yellowCards": 0.3333,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.33
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0898,
                "assists": 0,
                "expected_goals": 0.0509,
                "rating": 7.0834,
                "minutes": 92,
                "total_pass": 39,
                "accurate_pass": 31,
                "duels_won": 6,
                "total_long_balls": 5,
                "accurate_long_balls": 3,
                "total_own_half_passes": 14,
                "accurate_own_half_passes": 12,
                "total_opp_half_passes": 25,
                "accurate_opp_half_passes": 19,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 56,
                "possession_lost": 9.9975,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_won": 0,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 3,
                "tackles": 3,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 3,
                "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": 12,
                "total_progression": 43,
                "progressive_carries": 1,
                "total_shots": 1,
                "offsides": 0,
                "yellowCards": 0.3333,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.33
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0898,
                "assists": 0,
                "expected_goals": 0.0509,
                "rating": 7.0834,
                "minutes": 92,
                "total_pass": 39,
                "accurate_pass": 31,
                "duels_won": 6,
                "total_long_balls": 5,
                "accurate_long_balls": 3,
                "total_own_half_passes": 14,
                "accurate_own_half_passes": 12,
                "total_opp_half_passes": 25,
                "accurate_opp_half_passes": 19,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 56,
                "possession_lost": 9.9975,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 3,
                "tackles": 3,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 3,
                "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": 12,
                "total_progression": 43,
                "progressive_carries": 1,
                "total_shots": 2,
                "offsides": 0,
                "yellowCards": 0.3333,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.33,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.9,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.493,
                "pressing_faced": "LOW",
                "matchup_zone": "Central Mid vs Defensive Mid — Pressing/Creation Duel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Marc Casadó",
                "opponent_faced": "Marc Casadó",
                "antagonist_source": "defensive_duel, attacking_duel, midfield_pairing"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.02 (squad xG sum 0.7402, xG scale 1.3780)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0898,
                "assists": 0,
                "expected_goals": 0.0701,
                "rating": 7.0834,
                "minutes": 92,
                "total_pass": 39,
                "accurate_pass": 31,
                "duels_won": 6,
                "total_long_balls": 5,
                "accurate_long_balls": 3,
                "total_own_half_passes": 14,
                "accurate_own_half_passes": 12,
                "total_opp_half_passes": 25,
                "accurate_opp_half_passes": 19,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 56,
                "possession_lost": 9.9975,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 3,
                "tackles": 3,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 3,
                "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": 12,
                "total_progression": 43,
                "progressive_carries": 1,
                "total_shots": 2,
                "offsides": 0,
                "yellowCards": 0.3333,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.33,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.9,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.493,
                "pressing_faced": "LOW",
                "matchup_zone": "Central Mid vs Defensive Mid — Pressing/Creation Duel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Marc Casadó",
                "opponent_faced": "Marc Casadó",
                "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 3, fifa_overall 76.0)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0898,
                "assists": 0,
                "expected_goals": 0.0701,
                "rating": 7.0834,
                "minutes": 92,
                "total_pass": 39,
                "accurate_pass": 31,
                "duels_won": 6,
                "total_long_balls": 5,
                "accurate_long_balls": 3,
                "total_own_half_passes": 14,
                "accurate_own_half_passes": 12,
                "total_opp_half_passes": 25,
                "accurate_opp_half_passes": 19,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 56,
                "possession_lost": 9.9975,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 3,
                "tackles": 3,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 3,
                "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": 12,
                "total_progression": 43,
                "progressive_carries": 1,
                "total_shots": 2,
                "offsides": 0,
                "yellowCards": 0.3333,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.33,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.9,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.493,
                "pressing_faced": "LOW",
                "matchup_zone": "Central Mid vs Defensive Mid — Pressing/Creation Duel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Marc Casadó",
                "opponent_faced": "Marc Casadó",
                "antagonist_source": "defensive_duel, 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": 1,
                "expected_assists": 0.0898,
                "assists": 0,
                "expected_goals": 0.0701,
                "rating": 7.0834,
                "minutes": 92,
                "total_pass": 39,
                "accurate_pass": 31,
                "duels_won": 6,
                "total_long_balls": 5,
                "accurate_long_balls": 3,
                "total_own_half_passes": 14,
                "accurate_own_half_passes": 12,
                "total_opp_half_passes": 25,
                "accurate_opp_half_passes": 19,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 56,
                "possession_lost": 9.9975,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 3,
                "tackles": 3,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 3,
                "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": 12,
                "total_progression": 43,
                "progressive_carries": 1,
                "total_shots": 2,
                "offsides": 0,
                "yellowCards": 0.3333,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.33,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.9,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.493,
                "pressing_faced": "LOW",
                "matchup_zone": "Central Mid vs Defensive Mid — Pressing/Creation Duel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Marc Casadó",
                "opponent_faced": "Marc Casadó",
                "antagonist_source": "defensive_duel, 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": 1,
                "expected_assists": 0.0898,
                "assists": 0,
                "expected_goals": 0.0701,
                "rating": 7.0834,
                "minutes": 92,
                "total_pass": 39,
                "accurate_pass": 31,
                "duels_won": 6,
                "total_long_balls": 5,
                "accurate_long_balls": 3,
                "total_own_half_passes": 14,
                "accurate_own_half_passes": 12,
                "total_opp_half_passes": 25,
                "accurate_opp_half_passes": 19,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 56,
                "possession_lost": 9.9975,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_won": 1,
                "aerial_lost": 1,
                "interceptions": 0,
                "tackles_won": 3,
                "tackles": 3,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 3,
                "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": 12,
                "total_progression": 43,
                "progressive_carries": 1,
                "total_shots": 2,
                "offsides": 0,
                "yellowCards": 0.3333,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.33,
                "dribbles_attempted": 2,
                "dribbles_successful": 0.9,
                "crosses_attempted": 0.0,
                "duel_win_rate": 0.493,
                "pressing_faced": "LOW",
                "matchup_zone": "Central Mid vs Defensive Mid — Pressing/Creation Duel",
                "numerical_situation": "1v1",
                "opponent_defenders": "Marc Casadó",
                "opponent_faced": "Marc Casadó",
                "antagonist_source": "defensive_duel, attacking_duel, midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 76.0
              }
            }
          ]
        },
        "Miguel Sierra": {
          "player_id": 2509247,
          "position": "M",
          "position_depth": "M",
          "is_starter": true,
          "shirt_number": 30,
          "height": 181,
          "market_value": 330000,
          "stats": {
            "key_pass": 1,
            "expected_assists": 0.0834,
            "assists": 0,
            "expected_goals": 0.2391,
            "rating": 6.7853,
            "minutes": 65,
            "total_pass": 14,
            "accurate_pass": 10,
            "duels_won": 7,
            "total_long_balls": 2,
            "accurate_long_balls": 0,
            "total_own_half_passes": 4,
            "accurate_own_half_passes": 3,
            "total_opp_half_passes": 10,
            "accurate_opp_half_passes": 6,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 34,
            "possession_lost": 10.3029,
            "dispossessed": 0.0,
            "duels_lost": 6,
            "aerial_won": 0,
            "aerial_lost": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 1,
            "clearances": 0,
            "total_contest": 3,
            "won_contest": 3,
            "challenges_lost": 0,
            "fouls": 0,
            "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": 11,
            "total_progression": 32,
            "progressive_carries": 1,
            "opponent_faced": "Lorenzo Amatucci",
            "matchup_zone": "Midfield lane",
            "antagonist_source": "midfield_pairing",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 65.0
          },
          "latest_10_games": [
            {
              "match_type": "played",
              "match_id": 16416330.0,
              "match_date": "2026-09-11 19:00:00 UTC",
              "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",
              "home_team": "Sevilla",
              "away_team": "Valencia",
              "home_score_current": 1.0,
              "away_score_current": 0.0,
              "team_side": "home",
              "status_code": 100.0,
              "status_type": "finished",
              "status_description": "Ended",
              "player_status": "starter",
              "is_starting_11": true,
              "team": "Sevilla",
              "opponent": "Valencia",
              "stats": {},
              "has_player_stats": false,
              "source": "depth_chart.csv"
            },
            {
              "match_id": 16416323.0,
              "match_date": "2026-09-06",
              "home_team": "Espanyol",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 71,
                "rating": 6.6,
                "assists": 0,
                "expected_goals": 0.0795,
                "expected_assists": 0.0096,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 17,
                "accurate_pass": 14,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 1,
                "duels_won": 6,
                "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": 16416316.0,
              "match_date": "2026-08-29",
              "home_team": "Sevilla",
              "away_team": "Atlético Madrid",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Atlético Madrid",
              "stats": {
                "minutes": 80,
                "rating": 7.6,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.1411,
                "expected_assists": 0.0422,
                "total_shots": 4,
                "shots_on_target": 3,
                "shots_off_target": 1,
                "total_pass": 17,
                "accurate_pass": 12,
                "key_pass": 2,
                "tackles": 1,
                "tackles_won": 1,
                "aerial_won": 2,
                "duels_won": 8,
                "ball_recovery": 2
              },
              "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": 16416301.0,
              "match_date": "2026-08-22",
              "home_team": "Athletic Club",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 45,
                "rating": 7.3,
                "assists": 0,
                "expected_goals": 0.0318,
                "expected_assists": 0.0018,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 7,
                "accurate_pass": 5,
                "tackles": 2,
                "tackles_won": 1,
                "duels_won": 6,
                "ball_recovery": 1
              },
              "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": 16421052.0,
              "match_date": "2026-08-15",
              "home_team": "Sevilla",
              "away_team": "Rayo Vallecano",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Rayo Vallecano",
              "stats": {
                "minutes": 70,
                "rating": 7.1,
                "assists": 0,
                "expected_goals": 0.0291,
                "expected_assists": 0.1331,
                "total_shots": 1,
                "total_pass": 16,
                "accurate_pass": 9,
                "key_pass": 2,
                "tackles": 1,
                "interceptions": 1,
                "clearances": 1,
                "aerial_won": 2,
                "duels_won": 7,
                "ball_recovery": 5
              },
              "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": 7553,
            "combined_rank_score": 5973.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 143.0,
            "sofascore_rating": 7.3333,
            "sofascore_appearances": 3.0,
            "fifa_rank": 11803.0,
            "fifa_overall": 65.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 18,
            "squad_role": "starter",
            "projected_match_rating": 6.7853,
            "source_file": "data/player_rankings.csv",
            "player_name": "Miguel Sierra",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Gaspar Campos",
                  "ranking": 7548
                },
                {
                  "player_name": "Alex Millán",
                  "ranking": 7549
                },
                {
                  "player_name": "Daijiro Chirino",
                  "ranking": 7550
                },
                {
                  "player_name": "Aldasoro",
                  "ranking": 7551
                },
                {
                  "player_name": "Imanol",
                  "ranking": 7552
                }
              ],
              "lower": [
                {
                  "player_name": "Javi Martón",
                  "ranking": 7554
                },
                {
                  "player_name": "Zico Buurmeester",
                  "ranking": 7555
                },
                {
                  "player_name": "Víctor Aznar",
                  "ranking": 7556
                },
                {
                  "player_name": "Ale García",
                  "ranking": 7557
                },
                {
                  "player_name": "Hiroshi Ibusuki",
                  "ranking": 7558
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.5,
          "history_matches": 4,
          "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": 4,
            "data_confidence": 0.5,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "market_value_adjustment": 0.9812,
            "fbref_prior_metrics": null,
            "rationale": "XGBoost regressor (M_service) evaluated 4 historical appearances across 5 target models."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 5 target models",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.085,
                "assists": 0,
                "expected_goals": 0.1768,
                "rating": 6.9151,
                "minutes": 66,
                "total_pass": 14,
                "accurate_pass": 10,
                "duels_won": 7,
                "total_long_balls": 2,
                "accurate_long_balls": 0,
                "total_own_half_passes": 4,
                "accurate_own_half_passes": 4,
                "total_opp_half_passes": 10,
                "accurate_opp_half_passes": 6,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 34,
                "possession_lost": 10.5,
                "dispossessed": 0.0,
                "duels_lost": 6,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 0,
                "total_contest": 4,
                "won_contest": 3,
                "challenges_lost": 0,
                "fouls": 0,
                "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": 11,
                "total_progression": 32,
                "progressive_carries": 2
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 3,
                  "trained_at": "2026-09-15T10:01:48.236605+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 461,
                    "rows": 1422
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Espanyol",
                    "minutes": 71.0,
                    "is_starting": true,
                    "weight": 0.3138,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Atlético Madrid",
                    "minutes": 80.0,
                    "is_starting": true,
                    "weight": 0.2667,
                    "rating": 7.6
                  },
                  {
                    "match_date": "2026-08-22",
                    "opponent": "Athletic Club",
                    "minutes": 45.0,
                    "is_starting": true,
                    "weight": 0.2267,
                    "rating": 7.3
                  },
                  {
                    "match_date": "2026-08-15",
                    "opponent": "Rayo Vallecano",
                    "minutes": 70.0,
                    "is_starting": true,
                    "weight": 0.1927,
                    "rating": 7.1
                  }
                ],
                "feature_row": {
                  "history_matches": 4.0,
                  "is_starting_11": 1.0,
                  "ballRecovery_p90": 3.8837,
                  "ballRecovery": 2.9791,
                  "intensity_index": 7.3428,
                  "expectedAssists": 0.0403,
                  "kilometersCovered": 7.7405
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 0.9194930195808411,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0551
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0489
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0393
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.035
                      },
                      {
                        "name": "accurateCross",
                        "importance": 0.0319
                      }
                    ]
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.0849706158041954,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "cross_creative_contribution",
                        "importance": 0.0714
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0375
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0361
                      },
                      {
                        "name": "accurateCross",
                        "importance": 0.0356
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.0345
                      }
                    ]
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.11086955666542053,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0442
                      },
                      {
                        "name": "keyPass_p90",
                        "importance": 0.0378
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0368
                      },
                      {
                        "name": "cross_accuracy",
                        "importance": 0.036
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0315
                      }
                    ]
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.17678040266036987,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.077
                      },
                      {
                        "name": "intensity_index",
                        "importance": 0.0622
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0454
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0399
                      },
                      {
                        "name": "numberOfSprints",
                        "importance": 0.0384
                      }
                    ]
                  },
                  {
                    "target": "rating",
                    "predicted": 6.915079593658447,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "ballRecovery_p90",
                        "importance": 0.0847
                      },
                      {
                        "name": "ballRecovery",
                        "importance": 0.0836
                      },
                      {
                        "name": "kilometersCovered",
                        "importance": 0.0597
                      },
                      {
                        "name": "defensive_midfield_actions",
                        "importance": 0.05
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0441
                      }
                    ]
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9812, quality 0.437)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0834,
                "assists": 0,
                "expected_goals": 0.1735,
                "rating": 6.7853,
                "minutes": 65,
                "total_pass": 14,
                "accurate_pass": 10,
                "duels_won": 7,
                "total_long_balls": 2,
                "accurate_long_balls": 0,
                "total_own_half_passes": 4,
                "accurate_own_half_passes": 3,
                "total_opp_half_passes": 10,
                "accurate_opp_half_passes": 6,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 34,
                "possession_lost": 10.3029,
                "dispossessed": 0.0,
                "duels_lost": 6,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 0,
                "total_contest": 3,
                "won_contest": 3,
                "challenges_lost": 0,
                "fouls": 0,
                "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": 11,
                "total_progression": 32,
                "progressive_carries": 1
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0834,
                "assists": 0,
                "expected_goals": 0.1735,
                "rating": 6.7853,
                "minutes": 65,
                "total_pass": 14,
                "accurate_pass": 10,
                "duels_won": 7,
                "total_long_balls": 2,
                "accurate_long_balls": 0,
                "total_own_half_passes": 4,
                "accurate_own_half_passes": 3,
                "total_opp_half_passes": 10,
                "accurate_opp_half_passes": 6,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 34,
                "possession_lost": 10.3029,
                "dispossessed": 0.0,
                "duels_lost": 6,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 0,
                "total_contest": 3,
                "won_contest": 3,
                "challenges_lost": 0,
                "fouls": 0,
                "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": 11,
                "total_progression": 32,
                "progressive_carries": 1
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0834,
                "assists": 0,
                "expected_goals": 0.1735,
                "rating": 6.7853,
                "minutes": 65,
                "total_pass": 14,
                "accurate_pass": 10,
                "duels_won": 7,
                "total_long_balls": 2,
                "accurate_long_balls": 0,
                "total_own_half_passes": 4,
                "accurate_own_half_passes": 3,
                "total_opp_half_passes": 10,
                "accurate_opp_half_passes": 6,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 34,
                "possession_lost": 10.3029,
                "dispossessed": 0.0,
                "duels_lost": 6,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 0,
                "total_contest": 3,
                "won_contest": 3,
                "challenges_lost": 0,
                "fouls": 0,
                "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": 11,
                "total_progression": 32,
                "progressive_carries": 1,
                "opponent_faced": "Lorenzo Amatucci",
                "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 1.02 (squad xG sum 0.7402, xG scale 1.3780)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0834,
                "assists": 0,
                "expected_goals": 0.2391,
                "rating": 6.7853,
                "minutes": 65,
                "total_pass": 14,
                "accurate_pass": 10,
                "duels_won": 7,
                "total_long_balls": 2,
                "accurate_long_balls": 0,
                "total_own_half_passes": 4,
                "accurate_own_half_passes": 3,
                "total_opp_half_passes": 10,
                "accurate_opp_half_passes": 6,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 34,
                "possession_lost": 10.3029,
                "dispossessed": 0.0,
                "duels_lost": 6,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 0,
                "total_contest": 3,
                "won_contest": 3,
                "challenges_lost": 0,
                "fouls": 0,
                "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": 11,
                "total_progression": 32,
                "progressive_carries": 1,
                "opponent_faced": "Lorenzo Amatucci",
                "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 18, fifa_overall 65.0)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0834,
                "assists": 0,
                "expected_goals": 0.2391,
                "rating": 6.7853,
                "minutes": 65,
                "total_pass": 14,
                "accurate_pass": 10,
                "duels_won": 7,
                "total_long_balls": 2,
                "accurate_long_balls": 0,
                "total_own_half_passes": 4,
                "accurate_own_half_passes": 3,
                "total_opp_half_passes": 10,
                "accurate_opp_half_passes": 6,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 34,
                "possession_lost": 10.3029,
                "dispossessed": 0.0,
                "duels_lost": 6,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 0,
                "total_contest": 3,
                "won_contest": 3,
                "challenges_lost": 0,
                "fouls": 0,
                "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": 11,
                "total_progression": 32,
                "progressive_carries": 1,
                "opponent_faced": "Lorenzo Amatucci",
                "matchup_zone": "Midfield lane",
                "antagonist_source": "midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 65.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 0 projected goals distributed by scorer weight",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0834,
                "assists": 0,
                "expected_goals": 0.2391,
                "rating": 6.7853,
                "minutes": 65,
                "total_pass": 14,
                "accurate_pass": 10,
                "duels_won": 7,
                "total_long_balls": 2,
                "accurate_long_balls": 0,
                "total_own_half_passes": 4,
                "accurate_own_half_passes": 3,
                "total_opp_half_passes": 10,
                "accurate_opp_half_passes": 6,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 34,
                "possession_lost": 10.3029,
                "dispossessed": 0.0,
                "duels_lost": 6,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 0,
                "total_contest": 3,
                "won_contest": 3,
                "challenges_lost": 0,
                "fouls": 0,
                "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": 11,
                "total_progression": 32,
                "progressive_carries": 1,
                "opponent_faced": "Lorenzo Amatucci",
                "matchup_zone": "Midfield lane",
                "antagonist_source": "midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 65.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 0 projected assists distributed by provider weight",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0834,
                "assists": 0,
                "expected_goals": 0.2391,
                "rating": 6.7853,
                "minutes": 65,
                "total_pass": 14,
                "accurate_pass": 10,
                "duels_won": 7,
                "total_long_balls": 2,
                "accurate_long_balls": 0,
                "total_own_half_passes": 4,
                "accurate_own_half_passes": 3,
                "total_opp_half_passes": 10,
                "accurate_opp_half_passes": 6,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 34,
                "possession_lost": 10.3029,
                "dispossessed": 0.0,
                "duels_lost": 6,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 0,
                "total_contest": 3,
                "won_contest": 3,
                "challenges_lost": 0,
                "fouls": 0,
                "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": 11,
                "total_progression": 32,
                "progressive_carries": 1,
                "opponent_faced": "Lorenzo Amatucci",
                "matchup_zone": "Midfield lane",
                "antagonist_source": "midfield_pairing",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 65.0
              }
            }
          ]
        },
        "Gabriel Suazo": {
          "player_id": 818986,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 17,
          "height": 178,
          "market_value": 6600000,
          "stats": {
            "interceptions": 1,
            "tackles": 2,
            "tackles_won": 1,
            "clearances": 2,
            "aerial_won": 1,
            "rating": 6.5107,
            "minutes": 90,
            "total_pass": 41,
            "accurate_pass": 33,
            "duels_won": 5,
            "total_long_balls": 4,
            "accurate_long_balls": 2,
            "total_own_half_passes": 15,
            "accurate_own_half_passes": 13,
            "total_opp_half_passes": 27,
            "accurate_opp_half_passes": 21,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 65,
            "possession_lost": 14.172,
            "dispossessed": 0.0,
            "duels_lost": 5,
            "aerial_lost": 0,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 4,
            "challenges_lost": 1,
            "fouls": 0,
            "fouls_drawn": 0,
            "blocks": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.0,
            "expected_assists": 0.0696,
            "total_shots": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0,
            "ball_carries": 12,
            "total_progression": 39,
            "progressive_carries": 1,
            "key_pass": 0,
            "offsides": 0,
            "yellowCards": 0.6667,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 0.0,
            "shotConversion": 0.0,
            "minutesPct": 100.0,
            "pointsPerMatch": 2.0,
            "netGoalDifferencePer90": 0.33,
            "opponent_faced": "Yeremay Hernández",
            "matchup_zone": "Shape fallback",
            "antagonist_source": "formation_fallback",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 74.0
          },
          "latest_10_games": [
            {
              "match_type": "played",
              "match_id": 16416330.0,
              "match_date": "2026-09-11 19:00:00 UTC",
              "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",
              "home_team": "Sevilla",
              "away_team": "Valencia",
              "home_score_current": 1.0,
              "away_score_current": 0.0,
              "team_side": "home",
              "status_code": 100.0,
              "status_type": "finished",
              "status_description": "Ended",
              "player_status": "starter",
              "is_starting_11": true,
              "team": "Sevilla",
              "opponent": "Valencia",
              "stats": {},
              "has_player_stats": false,
              "source": "depth_chart.csv"
            },
            {
              "match_id": 16416323.0,
              "match_date": "2026-09-06",
              "home_team": "Espanyol",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 90,
                "rating": 7.1,
                "assists": 0,
                "expected_assists": 0.1018,
                "total_shots": 0,
                "total_pass": 29,
                "accurate_pass": 24,
                "tackles": 4,
                "tackles_won": 4,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 5,
                "ball_recovery": 5
              },
              "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": 16416316.0,
              "match_date": "2026-08-29",
              "home_team": "Sevilla",
              "away_team": "Atlético Madrid",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Atlético Madrid",
              "stats": {
                "minutes": 90,
                "rating": 6.2,
                "assists": 0,
                "expected_goals": 0.0101,
                "expected_assists": 0.1379,
                "total_shots": 1,
                "total_pass": 62,
                "accurate_pass": 50,
                "key_pass": 5,
                "interceptions": 1,
                "aerial_won": 2,
                "duels_won": 3,
                "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": 16416301.0,
              "match_date": "2026-08-22",
              "home_team": "Athletic Club",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 90,
                "rating": 6.7,
                "assists": 0,
                "expected_assists": 0.0206,
                "total_shots": 0,
                "total_pass": 42,
                "accurate_pass": 33,
                "tackles": 2,
                "tackles_won": 2,
                "interceptions": 1,
                "clearances": 9,
                "aerial_won": 3,
                "duels_won": 5,
                "ball_recovery": 5
              },
              "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": 16421052.0,
              "match_date": "2026-08-15",
              "home_team": "Sevilla",
              "away_team": "Rayo Vallecano",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Rayo Vallecano",
              "stats": {
                "minutes": 90,
                "rating": 6.9,
                "assists": 0,
                "expected_assists": 0.0095,
                "total_shots": 0,
                "total_pass": 33,
                "accurate_pass": 27,
                "tackles": 3,
                "tackles_won": 3,
                "clearances": 1,
                "aerial_won": 2,
                "duels_won": 8,
                "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"
            }
          ],
          "ranking": {
            "global_player_rank": 3708,
            "combined_rank_score": 1663.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 445.0,
            "sofascore_rating": 6.9,
            "sofascore_appearances": 1.0,
            "fifa_rank": 2882.0,
            "fifa_overall": 74.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 8,
            "squad_role": "starter",
            "projected_match_rating": 6.5107,
            "source_file": "data/player_rankings.csv",
            "player_name": "Gabriel Suazo",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Bryan Gil",
                  "ranking": 3703
                },
                {
                  "player_name": "Taiwo Awoniyi",
                  "ranking": 3704
                },
                {
                  "player_name": "Ismail Jakobs",
                  "ranking": 3705
                },
                {
                  "player_name": "Denis Suárez",
                  "ranking": 3706
                },
                {
                  "player_name": "Ernest Muçi",
                  "ranking": 3707
                }
              ],
              "lower": [
                {
                  "player_name": "İrfan Can Kahveci",
                  "ranking": 3709
                },
                {
                  "player_name": "Lucas Beltrán",
                  "ranking": 3710
                },
                {
                  "player_name": "Niclas Eliasson",
                  "ranking": 3711
                },
                {
                  "player_name": "Orri Óskarsson",
                  "ranking": 3712
                },
                {
                  "player_name": "Santiago Núñez",
                  "ranking": 3713
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.53,
          "history_matches": 4,
          "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": 4,
            "data_confidence": 0.53,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 0.9945,
            "fbref_prior_metrics": {
              "squad": "Sevilla",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 3.0,
              "starts": 3.0,
              "minutes": 270.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 0.33,
              "shots_on_target_pct": 0.0,
              "prior_reliability": 0.2
            },
            "rationale": "XGBoost regressor (D_service) evaluated 4 historical appearances across 6 target models; FBref 2026-2027 prior blended (La Liga, Sevilla, rel: 0.20, 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.5465,
                "minutes": 90,
                "total_pass": 42,
                "accurate_pass": 34,
                "duels_won": 5,
                "total_long_balls": 4,
                "accurate_long_balls": 2,
                "total_own_half_passes": 15,
                "accurate_own_half_passes": 13,
                "total_opp_half_passes": 27,
                "accurate_opp_half_passes": 21,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 65,
                "possession_lost": 14.25,
                "dispossessed": 0.0,
                "duels_lost": 6,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 4,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.07,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 12,
                "total_progression": 39,
                "progressive_carries": 1,
                "key_pass": 0
              },
              "trace": {
                "model": {
                  "position_service": "D",
                  "schema_version": 3,
                  "trained_at": "2026-09-15T10:01:44.724055+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 374,
                    "rows": 1289
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Espanyol",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.3138,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Atlético Madrid",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.2667,
                    "rating": 6.2
                  },
                  {
                    "match_date": "2026-08-22",
                    "opponent": "Athletic Club",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.2267,
                    "rating": 6.7
                  },
                  {
                    "match_date": "2026-08-15",
                    "opponent": "Rayo Vallecano",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1927,
                    "rating": 6.9
                  }
                ],
                "feature_row": {
                  "history_matches": 4.0,
                  "is_starting_11": 1.0,
                  "accuratePass": 33.554,
                  "touches_p90": 64.5544,
                  "possessionLostCtrl": 14.0254,
                  "totalClearance": 2.5471,
                  "aerialWon": 1.9129
                },
                "per_target": [
                  {
                    "target": "interceptionWon",
                    "predicted": 0.7916533946990967,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0944
                      },
                      {
                        "name": "duel_win_rate",
                        "importance": 0.0353
                      },
                      {
                        "name": "duelWon_p90",
                        "importance": 0.0341
                      },
                      {
                        "name": "interceptionWon_p90",
                        "importance": 0.0326
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0322
                      }
                    ]
                  },
                  {
                    "target": "totalTackle",
                    "predicted": 1.992221713066101,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "history_matches",
                        "importance": 0.0588
                      },
                      {
                        "name": "duelLost",
                        "importance": 0.0461
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0446
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0406
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0401
                      }
                    ]
                  },
                  {
                    "target": "wonTackle",
                    "predicted": 1.4943372011184692,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "history_matches",
                        "importance": 0.0565
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0432
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0353
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0347
                      },
                      {
                        "name": "wonTackle",
                        "importance": 0.0329
                      }
                    ]
                  },
                  {
                    "target": "totalClearance",
                    "predicted": 2.259016275405884,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.11
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0506
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.0425
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0417
                      },
                      {
                        "name": "tackle_success_rate",
                        "importance": 0.0343
                      }
                    ]
                  },
                  {
                    "target": "aerialWon",
                    "predicted": 0.9982686042785645,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0798
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0597
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0439
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0426
                      },
                      {
                        "name": "errorLeadToAShot",
                        "importance": 0.0411
                      }
                    ]
                  },
                  {
                    "target": "rating",
                    "predicted": 6.546492576599121,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "touches_p90",
                        "importance": 0.0708
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0705
                      },
                      {
                        "name": "totalLongBalls",
                        "importance": 0.0537
                      },
                      {
                        "name": "pass_accuracy",
                        "importance": 0.0518
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0478
                      }
                    ]
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9945, quality 0.482)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 2,
                "aerial_won": 1,
                "rating": 6.5107,
                "minutes": 90,
                "total_pass": 41,
                "accurate_pass": 33,
                "duels_won": 5,
                "total_long_balls": 4,
                "accurate_long_balls": 2,
                "total_own_half_passes": 15,
                "accurate_own_half_passes": 13,
                "total_opp_half_passes": 27,
                "accurate_opp_half_passes": 21,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 65,
                "possession_lost": 14.172,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 4,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0696,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 12,
                "total_progression": 39,
                "progressive_carries": 1,
                "key_pass": 0
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0722)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 2,
                "aerial_won": 1,
                "rating": 6.5107,
                "minutes": 90,
                "total_pass": 41,
                "accurate_pass": 33,
                "duels_won": 5,
                "total_long_balls": 4,
                "accurate_long_balls": 2,
                "total_own_half_passes": 15,
                "accurate_own_half_passes": 13,
                "total_opp_half_passes": 27,
                "accurate_opp_half_passes": 21,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 65,
                "possession_lost": 14.172,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 4,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0696,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 12,
                "total_progression": 39,
                "progressive_carries": 1,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.6667,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.33
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 2,
                "aerial_won": 1,
                "rating": 6.5107,
                "minutes": 90,
                "total_pass": 41,
                "accurate_pass": 33,
                "duels_won": 5,
                "total_long_balls": 4,
                "accurate_long_balls": 2,
                "total_own_half_passes": 15,
                "accurate_own_half_passes": 13,
                "total_opp_half_passes": 27,
                "accurate_opp_half_passes": 21,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 65,
                "possession_lost": 14.172,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 4,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0696,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 12,
                "total_progression": 39,
                "progressive_carries": 1,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.6667,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.33
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 2,
                "aerial_won": 1,
                "rating": 6.5107,
                "minutes": 90,
                "total_pass": 41,
                "accurate_pass": 33,
                "duels_won": 5,
                "total_long_balls": 4,
                "accurate_long_balls": 2,
                "total_own_half_passes": 15,
                "accurate_own_half_passes": 13,
                "total_opp_half_passes": 27,
                "accurate_opp_half_passes": 21,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 65,
                "possession_lost": 14.172,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 4,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0696,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 12,
                "total_progression": 39,
                "progressive_carries": 1,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.6667,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.33,
                "opponent_faced": "Yeremay Hernández",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.02 (squad xG sum 0.7402, xG scale 1.3780)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 2,
                "aerial_won": 1,
                "rating": 6.5107,
                "minutes": 90,
                "total_pass": 41,
                "accurate_pass": 33,
                "duels_won": 5,
                "total_long_balls": 4,
                "accurate_long_balls": 2,
                "total_own_half_passes": 15,
                "accurate_own_half_passes": 13,
                "total_opp_half_passes": 27,
                "accurate_opp_half_passes": 21,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 65,
                "possession_lost": 14.172,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 4,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0696,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 12,
                "total_progression": 39,
                "progressive_carries": 1,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.6667,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.33,
                "opponent_faced": "Yeremay Hernández",
                "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 8, fifa_overall 74.0)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 2,
                "aerial_won": 1,
                "rating": 6.5107,
                "minutes": 90,
                "total_pass": 41,
                "accurate_pass": 33,
                "duels_won": 5,
                "total_long_balls": 4,
                "accurate_long_balls": 2,
                "total_own_half_passes": 15,
                "accurate_own_half_passes": 13,
                "total_opp_half_passes": 27,
                "accurate_opp_half_passes": 21,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 65,
                "possession_lost": 14.172,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 4,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0696,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 12,
                "total_progression": 39,
                "progressive_carries": 1,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.6667,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.33,
                "opponent_faced": "Yeremay Hernández",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 74.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 0 projected goals distributed by scorer weight",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 2,
                "aerial_won": 1,
                "rating": 6.5107,
                "minutes": 90,
                "total_pass": 41,
                "accurate_pass": 33,
                "duels_won": 5,
                "total_long_balls": 4,
                "accurate_long_balls": 2,
                "total_own_half_passes": 15,
                "accurate_own_half_passes": 13,
                "total_opp_half_passes": 27,
                "accurate_opp_half_passes": 21,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 65,
                "possession_lost": 14.172,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 4,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0696,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 12,
                "total_progression": 39,
                "progressive_carries": 1,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.6667,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.33,
                "opponent_faced": "Yeremay Hernández",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 74.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 0 projected assists distributed by provider weight",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 2,
                "aerial_won": 1,
                "rating": 6.5107,
                "minutes": 90,
                "total_pass": 41,
                "accurate_pass": 33,
                "duels_won": 5,
                "total_long_balls": 4,
                "accurate_long_balls": 2,
                "total_own_half_passes": 15,
                "accurate_own_half_passes": 13,
                "total_opp_half_passes": 27,
                "accurate_opp_half_passes": 21,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 65,
                "possession_lost": 14.172,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 4,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0696,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 12,
                "total_progression": 39,
                "progressive_carries": 1,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.6667,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.33,
                "opponent_faced": "Yeremay Hernández",
                "matchup_zone": "Shape fallback",
                "antagonist_source": "formation_fallback",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 74.0
              }
            }
          ]
        },
        "Kike Salas": {
          "player_id": 1097719,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 4,
          "height": 186,
          "market_value": 15400000,
          "stats": {
            "interceptions": 1,
            "tackles": 2,
            "tackles_won": 1,
            "clearances": 5,
            "aerial_won": 2,
            "rating": 6.8206,
            "minutes": 92,
            "total_pass": 44,
            "accurate_pass": 31,
            "duels_won": 8,
            "total_long_balls": 13,
            "accurate_long_balls": 4,
            "total_own_half_passes": 16,
            "accurate_own_half_passes": 16,
            "total_opp_half_passes": 28,
            "accurate_opp_half_passes": 15,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 59,
            "possession_lost": 15.7141,
            "dispossessed": 0.0,
            "duels_lost": 6,
            "aerial_lost": 4,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 3,
            "challenges_lost": 1,
            "fouls": 0,
            "fouls_drawn": 2,
            "blocks": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.0,
            "expected_assists": 0.0308,
            "total_shots": 1,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0,
            "ball_carries": 11,
            "total_progression": 52,
            "progressive_carries": 1,
            "key_pass": 0,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.5,
            "ownGoals": 0.0,
            "shotAccuracy": 0.0,
            "shotConversion": 0.0,
            "minutesPct": 65.6,
            "pointsPerMatch": 1.5,
            "netGoalDifferencePer90": 0.0,
            "tackles_in_zone": 2.1,
            "tackles_won_in_zone": 1.9,
            "interceptions_in_zone": 0.9,
            "clearances_in_zone": 0.8,
            "aerial_duels_won": 1.4,
            "defensive_success_rate": 0.637,
            "opponent_faced": "Mario Soriano",
            "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": 76.0
          },
          "latest_10_games": [
            {
              "match_type": "played",
              "match_id": 16416330.0,
              "match_date": "2026-09-11 19:00:00 UTC",
              "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",
              "home_team": "Sevilla",
              "away_team": "Valencia",
              "home_score_current": 1.0,
              "away_score_current": 0.0,
              "team_side": "home",
              "status_code": 100.0,
              "status_type": "finished",
              "status_description": "Ended",
              "player_status": "starter",
              "is_starting_11": true,
              "team": "Sevilla",
              "opponent": "Valencia",
              "stats": {},
              "has_player_stats": false,
              "source": "depth_chart.csv"
            },
            {
              "match_id": 16416323.0,
              "match_date": "2026-09-06",
              "home_team": "Espanyol",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 90,
                "rating": 6.4,
                "assists": 0,
                "expected_assists": 0.0132,
                "total_shots": 0,
                "total_pass": 29,
                "accurate_pass": 18,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 6,
                "aerial_won": 5,
                "duels_won": 8,
                "ball_recovery": 1
              },
              "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": 16416316.0,
              "match_date": "2026-08-29",
              "home_team": "Sevilla",
              "away_team": "Atlético Madrid",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Atlético Madrid",
              "stats": {
                "minutes": 90,
                "rating": 6.8,
                "assists": 0,
                "expected_goals": 0.0486,
                "expected_assists": 0.0278,
                "total_shots": 2,
                "shots_off_target": 1,
                "total_pass": 56,
                "accurate_pass": 41,
                "tackles": 1,
                "clearances": 4,
                "aerial_won": 5,
                "duels_won": 8,
                "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": 16421052.0,
              "match_date": "2026-08-15",
              "home_team": "Sevilla",
              "away_team": "Rayo Vallecano",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Rayo Vallecano",
              "stats": {
                "minutes": 88,
                "rating": 6.8,
                "assists": 0,
                "expected_goals": 0.0101,
                "expected_assists": 0.0341,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 44,
                "accurate_pass": 31,
                "key_pass": 1,
                "tackles": 3,
                "tackles_won": 2,
                "interceptions": 1,
                "clearances": 5,
                "aerial_won": 3,
                "duels_won": 7,
                "ball_recovery": 5
              },
              "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": 3204,
            "combined_rank_score": 1158.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 330.0,
            "sofascore_rating": 7.0115,
            "sofascore_appearances": 26.0,
            "fifa_rank": 1986.0,
            "fifa_overall": 76.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 4,
            "squad_role": "starter",
            "projected_match_rating": 6.8206,
            "source_file": "data/player_rankings.csv",
            "player_name": "Kike Salas",
            "ranking_neighbors": {
              "upper": [
                {
                  "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
                },
                {
                  "player_name": "David Affengruber",
                  "ranking": 3203
                }
              ],
              "lower": [
                {
                  "player_name": "Franck Honorat",
                  "ranking": 3205
                },
                {
                  "player_name": "Djibril Sow",
                  "ranking": 3206
                },
                {
                  "player_name": "Pepelu",
                  "ranking": 3207
                },
                {
                  "player_name": "Dayann Methalie",
                  "ranking": 3208
                },
                {
                  "player_name": "Robin Gosens",
                  "ranking": 3209
                }
              ]
            }
          },
          "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.0251,
            "fbref_prior_metrics": {
              "squad": "Sevilla",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 2.0,
              "starts": 2.0,
              "minutes": 177.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 1.53,
              "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 (La Liga, Sevilla, 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": 1,
                "clearances": 4,
                "aerial_won": 2,
                "rating": 6.6539,
                "minutes": 89,
                "total_pass": 43,
                "accurate_pass": 30,
                "duels_won": 8,
                "total_long_balls": 12,
                "accurate_long_balls": 4,
                "total_own_half_passes": 16,
                "accurate_own_half_passes": 16,
                "total_opp_half_passes": 27,
                "accurate_opp_half_passes": 14,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 58,
                "possession_lost": 15.33,
                "dispossessed": 0.0,
                "duels_lost": 6,
                "aerial_lost": 4,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 2,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.03,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 11,
                "total_progression": 51,
                "progressive_carries": 1,
                "key_pass": 0
              },
              "trace": {
                "model": {
                  "position_service": "D",
                  "schema_version": 3,
                  "trained_at": "2026-09-15T10:01:44.724055+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 374,
                    "rows": 1289
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Espanyol",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.3887,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Atlético Madrid",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.3304,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-08-15",
                    "opponent": "Rayo Vallecano",
                    "minutes": 88.0,
                    "is_starting": true,
                    "weight": 0.2809,
                    "rating": 6.8
                  }
                ],
                "feature_row": {
                  "history_matches": 3.0,
                  "is_starting_11": 1.0,
                  "accuratePass": 29.2507,
                  "touches_p90": 57.5279,
                  "possessionLostCtrl": 15.5462,
                  "totalClearance": 5.0583,
                  "aerialWon": 4.4383
                },
                "per_target": [
                  {
                    "target": "interceptionWon",
                    "predicted": 0.8845792412757874,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0944
                      },
                      {
                        "name": "duel_win_rate",
                        "importance": 0.0353
                      },
                      {
                        "name": "duelWon_p90",
                        "importance": 0.0341
                      },
                      {
                        "name": "interceptionWon_p90",
                        "importance": 0.0326
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0322
                      }
                    ]
                  },
                  {
                    "target": "totalTackle",
                    "predicted": 1.7834511995315552,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "history_matches",
                        "importance": 0.0588
                      },
                      {
                        "name": "duelLost",
                        "importance": 0.0461
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0446
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0406
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0401
                      }
                    ]
                  },
                  {
                    "target": "wonTackle",
                    "predicted": 1.1238737106323242,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "history_matches",
                        "importance": 0.0565
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0432
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0353
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0347
                      },
                      {
                        "name": "wonTackle",
                        "importance": 0.0329
                      }
                    ]
                  },
                  {
                    "target": "totalClearance",
                    "predicted": 4.498956680297852,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.11
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0506
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.0425
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0417
                      },
                      {
                        "name": "tackle_success_rate",
                        "importance": 0.0343
                      }
                    ]
                  },
                  {
                    "target": "aerialWon",
                    "predicted": 2.0615127086639404,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0798
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0597
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0439
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0426
                      },
                      {
                        "name": "errorLeadToAShot",
                        "importance": 0.0411
                      }
                    ]
                  },
                  {
                    "target": "rating",
                    "predicted": 6.653905868530273,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "touches_p90",
                        "importance": 0.0708
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0705
                      },
                      {
                        "name": "totalLongBalls",
                        "importance": 0.0537
                      },
                      {
                        "name": "pass_accuracy",
                        "importance": 0.0518
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0478
                      }
                    ]
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0251, quality 0.584)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 5,
                "aerial_won": 2,
                "rating": 6.8206,
                "minutes": 92,
                "total_pass": 44,
                "accurate_pass": 31,
                "duels_won": 8,
                "total_long_balls": 13,
                "accurate_long_balls": 4,
                "total_own_half_passes": 16,
                "accurate_own_half_passes": 16,
                "total_opp_half_passes": 28,
                "accurate_opp_half_passes": 15,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 59,
                "possession_lost": 15.7141,
                "dispossessed": 0.0,
                "duels_lost": 6,
                "aerial_lost": 4,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 2,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0308,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 11,
                "total_progression": 52,
                "progressive_carries": 1,
                "key_pass": 0
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0542)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 5,
                "aerial_won": 2,
                "rating": 6.8206,
                "minutes": 92,
                "total_pass": 44,
                "accurate_pass": 31,
                "duels_won": 8,
                "total_long_balls": 13,
                "accurate_long_balls": 4,
                "total_own_half_passes": 16,
                "accurate_own_half_passes": 16,
                "total_opp_half_passes": 28,
                "accurate_opp_half_passes": 15,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 59,
                "possession_lost": 15.7141,
                "dispossessed": 0.0,
                "duels_lost": 6,
                "aerial_lost": 4,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 2,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0308,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 11,
                "total_progression": 52,
                "progressive_carries": 1,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.5,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 65.6,
                "pointsPerMatch": 1.5,
                "netGoalDifferencePer90": -1.02
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 5,
                "aerial_won": 2,
                "rating": 6.8206,
                "minutes": 92,
                "total_pass": 44,
                "accurate_pass": 31,
                "duels_won": 8,
                "total_long_balls": 13,
                "accurate_long_balls": 4,
                "total_own_half_passes": 16,
                "accurate_own_half_passes": 16,
                "total_opp_half_passes": 28,
                "accurate_opp_half_passes": 15,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 59,
                "possession_lost": 15.7141,
                "dispossessed": 0.0,
                "duels_lost": 6,
                "aerial_lost": 4,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 2,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0308,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 11,
                "total_progression": 52,
                "progressive_carries": 1,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.5,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 65.6,
                "pointsPerMatch": 1.5,
                "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": 5,
                "aerial_won": 2,
                "rating": 6.8206,
                "minutes": 92,
                "total_pass": 44,
                "accurate_pass": 31,
                "duels_won": 8,
                "total_long_balls": 13,
                "accurate_long_balls": 4,
                "total_own_half_passes": 16,
                "accurate_own_half_passes": 16,
                "total_opp_half_passes": 28,
                "accurate_opp_half_passes": 15,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 59,
                "possession_lost": 15.7141,
                "dispossessed": 0.0,
                "duels_lost": 6,
                "aerial_lost": 4,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 2,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0308,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 11,
                "total_progression": 52,
                "progressive_carries": 1,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.5,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 65.6,
                "pointsPerMatch": 1.5,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 2.1,
                "tackles_won_in_zone": 1.9,
                "interceptions_in_zone": 0.9,
                "clearances_in_zone": 0.8,
                "aerial_duels_won": 1.4,
                "defensive_success_rate": 0.637,
                "opponent_faced": "Mario Soriano",
                "pressing_zone": "Left Wing vs Right Back — Flank Battle",
                "matchup_zone": "Left Wing vs Right Back — Flank Battle",
                "antagonist_source": "defensive_duel"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.02 (squad xG sum 0.7402, xG scale 1.3780)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 5,
                "aerial_won": 2,
                "rating": 6.8206,
                "minutes": 92,
                "total_pass": 44,
                "accurate_pass": 31,
                "duels_won": 8,
                "total_long_balls": 13,
                "accurate_long_balls": 4,
                "total_own_half_passes": 16,
                "accurate_own_half_passes": 16,
                "total_opp_half_passes": 28,
                "accurate_opp_half_passes": 15,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 59,
                "possession_lost": 15.7141,
                "dispossessed": 0.0,
                "duels_lost": 6,
                "aerial_lost": 4,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 2,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0308,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 11,
                "total_progression": 52,
                "progressive_carries": 1,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.5,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 65.6,
                "pointsPerMatch": 1.5,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 2.1,
                "tackles_won_in_zone": 1.9,
                "interceptions_in_zone": 0.9,
                "clearances_in_zone": 0.8,
                "aerial_duels_won": 1.4,
                "defensive_success_rate": 0.637,
                "opponent_faced": "Mario Soriano",
                "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 4, fifa_overall 76.0)",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 5,
                "aerial_won": 2,
                "rating": 6.8206,
                "minutes": 92,
                "total_pass": 44,
                "accurate_pass": 31,
                "duels_won": 8,
                "total_long_balls": 13,
                "accurate_long_balls": 4,
                "total_own_half_passes": 16,
                "accurate_own_half_passes": 16,
                "total_opp_half_passes": 28,
                "accurate_opp_half_passes": 15,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 59,
                "possession_lost": 15.7141,
                "dispossessed": 0.0,
                "duels_lost": 6,
                "aerial_lost": 4,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 2,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0308,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 11,
                "total_progression": 52,
                "progressive_carries": 1,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.5,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 65.6,
                "pointsPerMatch": 1.5,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 2.1,
                "tackles_won_in_zone": 1.9,
                "interceptions_in_zone": 0.9,
                "clearances_in_zone": 0.8,
                "aerial_duels_won": 1.4,
                "defensive_success_rate": 0.637,
                "opponent_faced": "Mario Soriano",
                "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": 76.0
              }
            },
            {
              "step": "integer_goal_projection",
              "description": "Team scoreline allocation: 0 projected goals distributed by scorer weight",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 5,
                "aerial_won": 2,
                "rating": 6.8206,
                "minutes": 92,
                "total_pass": 44,
                "accurate_pass": 31,
                "duels_won": 8,
                "total_long_balls": 13,
                "accurate_long_balls": 4,
                "total_own_half_passes": 16,
                "accurate_own_half_passes": 16,
                "total_opp_half_passes": 28,
                "accurate_opp_half_passes": 15,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 59,
                "possession_lost": 15.7141,
                "dispossessed": 0.0,
                "duels_lost": 6,
                "aerial_lost": 4,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 2,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0308,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 11,
                "total_progression": 52,
                "progressive_carries": 1,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.5,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 65.6,
                "pointsPerMatch": 1.5,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 2.1,
                "tackles_won_in_zone": 1.9,
                "interceptions_in_zone": 0.9,
                "clearances_in_zone": 0.8,
                "aerial_duels_won": 1.4,
                "defensive_success_rate": 0.637,
                "opponent_faced": "Mario Soriano",
                "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": 76.0
              }
            },
            {
              "step": "integer_assist_projection",
              "description": "Team scoreline allocation: 0 projected assists distributed by provider weight",
              "stats": {
                "interceptions": 1,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 5,
                "aerial_won": 2,
                "rating": 6.8206,
                "minutes": 92,
                "total_pass": 44,
                "accurate_pass": 31,
                "duels_won": 8,
                "total_long_balls": 13,
                "accurate_long_balls": 4,
                "total_own_half_passes": 16,
                "accurate_own_half_passes": 16,
                "total_opp_half_passes": 28,
                "accurate_opp_half_passes": 15,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 59,
                "possession_lost": 15.7141,
                "dispossessed": 0.0,
                "duels_lost": 6,
                "aerial_lost": 4,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 1,
                "fouls": 0,
                "fouls_drawn": 2,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0308,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 11,
                "total_progression": 52,
                "progressive_carries": 1,
                "key_pass": 0,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.5,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 65.6,
                "pointsPerMatch": 1.5,
                "netGoalDifferencePer90": 0.0,
                "tackles_in_zone": 2.1,
                "tackles_won_in_zone": 1.9,
                "interceptions_in_zone": 0.9,
                "clearances_in_zone": 0.8,
                "aerial_duels_won": 1.4,
                "defensive_success_rate": 0.637,
                "opponent_faced": "Mario Soriano",
                "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": 76.0
              }
            }
          ]
        },
        "Andrés Castrin": {
          "player_id": 1428699,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 5,
          "height": 188,
          "market_value": 6500000,
          "stats": {
            "interceptions": 1,
            "tackles": 1,
            "tackles_won": 1,
            "clearances": 6,
            "aerial_won": 1,
            "rating": 6.7774,
            "minutes": 70,
            "total_pass": 30,
            "accurate_pass": 26,
            "duels_won": 2,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_own_half_passes": 18,
            "accurate_own_half_passes": 17,
            "total_opp_half_passes": 0,
            "accurate_opp_half_passes": 0,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 37,
            "possession_lost": 4.3047,
            "dispossessed": 0.0,
            "duels_lost": 0,
            "aerial_lost": 0,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 4,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "blocks": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.0,
            "expected_assists": 0.0099,
            "total_shots": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0,
            "ball_carries": 10,
            "total_progression": 40,
            "progressive_carries": 0,
            "key_pass": 0,
            "tackles_in_zone": 1.0,
            "tackles_won_in_zone": 1.1,
            "interceptions_in_zone": 0.8,
            "clearances_in_zone": 0.7,
            "aerial_duels_won": 0.6,
            "defensive_success_rate": 0.816,
            "opponent_faced": "Pierre-Emerick Aubameyang",
            "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": 73.0
          },
          "latest_10_games": [
            {
              "match_type": "played",
              "match_id": 16416330.0,
              "match_date": "2026-09-11 19:00:00 UTC",
              "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",
              "home_team": "Sevilla",
              "away_team": "Valencia",
              "home_score_current": 1.0,
              "away_score_current": 0.0,
              "team_side": "home",
              "status_code": 100.0,
              "status_type": "finished",
              "status_description": "Ended",
              "player_status": "starter",
              "is_starting_11": true,
              "team": "Sevilla",
              "opponent": "Valencia",
              "stats": {},
              "has_player_stats": false,
              "source": "depth_chart.csv"
            },
            {
              "match_id": 16416323.0,
              "match_date": "2026-09-06",
              "home_team": "Espanyol",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 30,
                "rating": 6.4,
                "assists": 0,
                "expected_goals": 0.0215,
                "expected_assists": 0.0,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 2,
                "accurate_pass": 2,
                "tackles": 1,
                "interceptions": 2,
                "clearances": 2,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 1
              },
              "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": 16416316.0,
              "match_date": "2026-08-29",
              "home_team": "Sevilla",
              "away_team": "Atlético Madrid",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Atlético Madrid",
              "stats": {
                "minutes": 90,
                "rating": 6.5,
                "assists": 0,
                "expected_assists": 0.0263,
                "total_shots": 0,
                "total_pass": 42,
                "accurate_pass": 38,
                "key_pass": 2,
                "clearances": 3,
                "aerial_won": 2,
                "duels_won": 2,
                "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": 16416301.0,
              "match_date": "2026-08-22",
              "home_team": "Athletic Club",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 90,
                "rating": 7.1,
                "assists": 0,
                "expected_assists": 0.0092,
                "total_shots": 0,
                "total_pass": 46,
                "accurate_pass": 39,
                "key_pass": 1,
                "tackles": 1,
                "interceptions": 1,
                "clearances": 5,
                "aerial_won": 2,
                "duels_won": 3,
                "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"
            }
          ],
          "ranking": {
            "global_player_rank": 3967,
            "combined_rank_score": 1939.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 359.0,
            "sofascore_rating": 6.9789,
            "sofascore_appearances": 19.0,
            "fifa_rank": 3519.0,
            "fifa_overall": 73.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 9,
            "squad_role": "starter",
            "projected_match_rating": 6.7774,
            "source_file": "data/player_rankings.csv",
            "player_name": "Andres Castrin",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Milot Rashica",
                  "ranking": 3962
                },
                {
                  "player_name": "Jeppe Tverskov",
                  "ranking": 3963
                },
                {
                  "player_name": "Cristian Espinoza",
                  "ranking": 3964
                },
                {
                  "player_name": "Gonzalo Valle",
                  "ranking": 3965
                },
                {
                  "player_name": "Marcel Hartel",
                  "ranking": 3966
                }
              ],
              "lower": [
                {
                  "player_name": "Thiago Fernandez",
                  "ranking": 3968
                },
                {
                  "player_name": "Sam Surridge",
                  "ranking": 3969
                },
                {
                  "player_name": "Kévin Denkey",
                  "ranking": 3970
                },
                {
                  "player_name": "Sasha Marcich",
                  "ranking": 3971
                },
                {
                  "player_name": "Joe Bell",
                  "ranking": 3972
                }
              ]
            }
          },
          "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"
            ],
            "market_value_adjustment": 0.9942,
            "fbref_prior_metrics": null,
            "rationale": "XGBoost regressor (D_service) evaluated 3 historical appearances across 6 target models."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 6 target models",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 6,
                "aerial_won": 1,
                "rating": 6.8171,
                "minutes": 70,
                "total_pass": 30,
                "accurate_pass": 26,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 18,
                "accurate_own_half_passes": 17,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 37,
                "possession_lost": 4.33,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 4,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.01,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 10,
                "total_progression": 40,
                "progressive_carries": 0,
                "key_pass": 0
              },
              "trace": {
                "model": {
                  "position_service": "D",
                  "schema_version": 3,
                  "trained_at": "2026-09-15T10:01:44.724055+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 374,
                    "rows": 1289
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Espanyol",
                    "minutes": 30.0,
                    "is_starting": false,
                    "weight": 0.3887,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Atlético Madrid",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.3304,
                    "rating": 6.5
                  },
                  {
                    "match_date": "2026-08-22",
                    "opponent": "Athletic Club",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.2809,
                    "rating": 7.1
                  }
                ],
                "feature_row": {
                  "history_matches": 3.0,
                  "is_starting_11": 1.0,
                  "accuratePass": 24.2867,
                  "touches_p90": 41.8027,
                  "possessionLostCtrl": 3.9572,
                  "totalClearance": 3.173,
                  "aerialWon": 1.6113
                },
                "per_target": [
                  {
                    "target": "interceptionWon",
                    "predicted": 0.9568228125572205,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0944
                      },
                      {
                        "name": "duel_win_rate",
                        "importance": 0.0353
                      },
                      {
                        "name": "duelWon_p90",
                        "importance": 0.0341
                      },
                      {
                        "name": "interceptionWon_p90",
                        "importance": 0.0326
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0322
                      }
                    ]
                  },
                  {
                    "target": "totalTackle",
                    "predicted": 1.336197853088379,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "history_matches",
                        "importance": 0.0588
                      },
                      {
                        "name": "duelLost",
                        "importance": 0.0461
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0446
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0406
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0401
                      }
                    ]
                  },
                  {
                    "target": "wonTackle",
                    "predicted": 0.8609268665313721,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "history_matches",
                        "importance": 0.0565
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0432
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0353
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0347
                      },
                      {
                        "name": "wonTackle",
                        "importance": 0.0329
                      }
                    ]
                  },
                  {
                    "target": "totalClearance",
                    "predicted": 5.594616889953613,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.11
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0506
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.0425
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0417
                      },
                      {
                        "name": "tackle_success_rate",
                        "importance": 0.0343
                      }
                    ]
                  },
                  {
                    "target": "aerialWon",
                    "predicted": 1.412325143814087,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0798
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0597
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0439
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0426
                      },
                      {
                        "name": "errorLeadToAShot",
                        "importance": 0.0411
                      }
                    ]
                  },
                  {
                    "target": "rating",
                    "predicted": 6.817147254943848,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "touches_p90",
                        "importance": 0.0708
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0705
                      },
                      {
                        "name": "totalLongBalls",
                        "importance": 0.0537
                      },
                      {
                        "name": "pass_accuracy",
                        "importance": 0.0518
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0478
                      }
                    ]
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9942, quality 0.481)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 6,
                "aerial_won": 1,
                "rating": 6.7774,
                "minutes": 70,
                "total_pass": 30,
                "accurate_pass": 26,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 18,
                "accurate_own_half_passes": 17,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 37,
                "possession_lost": 4.3047,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 4,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0099,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 10,
                "total_progression": 40,
                "progressive_carries": 0,
                "key_pass": 0
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 6,
                "aerial_won": 1,
                "rating": 6.7774,
                "minutes": 70,
                "total_pass": 30,
                "accurate_pass": 26,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 18,
                "accurate_own_half_passes": 17,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 37,
                "possession_lost": 4.3047,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 4,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0099,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 10,
                "total_progression": 40,
                "progressive_carries": 0,
                "key_pass": 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": 6,
                "aerial_won": 1,
                "rating": 6.7774,
                "minutes": 70,
                "total_pass": 30,
                "accurate_pass": 26,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 18,
                "accurate_own_half_passes": 17,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 37,
                "possession_lost": 4.3047,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 4,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0099,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 10,
                "total_progression": 40,
                "progressive_carries": 0,
                "key_pass": 0,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 1.1,
                "interceptions_in_zone": 0.8,
                "clearances_in_zone": 0.7,
                "aerial_duels_won": 0.6,
                "defensive_success_rate": 0.816,
                "opponent_faced": "Pierre-Emerick Aubameyang",
                "pressing_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "antagonist_source": "defensive_duel"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.02 (squad xG sum 0.7402, xG scale 1.3780)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 6,
                "aerial_won": 1,
                "rating": 6.7774,
                "minutes": 70,
                "total_pass": 30,
                "accurate_pass": 26,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 18,
                "accurate_own_half_passes": 17,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 37,
                "possession_lost": 4.3047,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 4,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0099,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 10,
                "total_progression": 40,
                "progressive_carries": 0,
                "key_pass": 0,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 1.1,
                "interceptions_in_zone": 0.8,
                "clearances_in_zone": 0.7,
                "aerial_duels_won": 0.6,
                "defensive_success_rate": 0.816,
                "opponent_faced": "Pierre-Emerick Aubameyang",
                "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 73.0)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 6,
                "aerial_won": 1,
                "rating": 6.7774,
                "minutes": 70,
                "total_pass": 30,
                "accurate_pass": 26,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 18,
                "accurate_own_half_passes": 17,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 37,
                "possession_lost": 4.3047,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 4,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0099,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 10,
                "total_progression": 40,
                "progressive_carries": 0,
                "key_pass": 0,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 1.1,
                "interceptions_in_zone": 0.8,
                "clearances_in_zone": 0.7,
                "aerial_duels_won": 0.6,
                "defensive_success_rate": 0.816,
                "opponent_faced": "Pierre-Emerick Aubameyang",
                "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": 73.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": 6,
                "aerial_won": 1,
                "rating": 6.7774,
                "minutes": 70,
                "total_pass": 30,
                "accurate_pass": 26,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 18,
                "accurate_own_half_passes": 17,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 37,
                "possession_lost": 4.3047,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 4,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0099,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 10,
                "total_progression": 40,
                "progressive_carries": 0,
                "key_pass": 0,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 1.1,
                "interceptions_in_zone": 0.8,
                "clearances_in_zone": 0.7,
                "aerial_duels_won": 0.6,
                "defensive_success_rate": 0.816,
                "opponent_faced": "Pierre-Emerick Aubameyang",
                "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": 73.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": 6,
                "aerial_won": 1,
                "rating": 6.7774,
                "minutes": 70,
                "total_pass": 30,
                "accurate_pass": 26,
                "duels_won": 2,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 18,
                "accurate_own_half_passes": 17,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 37,
                "possession_lost": 4.3047,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 4,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0099,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 10,
                "total_progression": 40,
                "progressive_carries": 0,
                "key_pass": 0,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 1.1,
                "interceptions_in_zone": 0.8,
                "clearances_in_zone": 0.7,
                "aerial_duels_won": 0.6,
                "defensive_success_rate": 0.816,
                "opponent_faced": "Pierre-Emerick Aubameyang",
                "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": 73.0
              }
            }
          ]
        },
        "Juan Iglesias": {
          "player_id": 949707,
          "position": "D",
          "position_depth": "D",
          "is_starter": true,
          "shirt_number": 2,
          "height": 185,
          "market_value": 4800000,
          "stats": {
            "interceptions": 1,
            "tackles": 1,
            "tackles_won": 1,
            "clearances": 2,
            "aerial_won": 1,
            "rating": 6.479,
            "minutes": 89,
            "total_pass": 23,
            "accurate_pass": 15,
            "duels_won": 5,
            "total_long_balls": 7,
            "accurate_long_balls": 3,
            "total_own_half_passes": 7,
            "accurate_own_half_passes": 6,
            "total_opp_half_passes": 16,
            "accurate_opp_half_passes": 9,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 48,
            "possession_lost": 12.5959,
            "dispossessed": 0.0,
            "duels_lost": 3,
            "aerial_lost": 0,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 3,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 2,
            "blocks": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.0,
            "expected_assists": 0.0395,
            "total_shots": 1,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0,
            "ball_carries": 7,
            "total_progression": 35,
            "progressive_carries": 1,
            "key_pass": 0,
            "tackles_in_zone": 1.0,
            "tackles_won_in_zone": 1.1,
            "interceptions_in_zone": 0.7,
            "clearances_in_zone": 0.6,
            "aerial_duels_won": 0.6,
            "defensive_success_rate": 0.816,
            "opponent_faced": "Pierre-Emerick Aubameyang",
            "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": 76.0
          },
          "latest_10_games": [
            {
              "match_type": "played",
              "match_id": 16416330.0,
              "match_date": "2026-09-11 19:00:00 UTC",
              "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",
              "home_team": "Sevilla",
              "away_team": "Valencia",
              "home_score_current": 1.0,
              "away_score_current": 0.0,
              "team_side": "home",
              "status_code": 100.0,
              "status_type": "finished",
              "status_description": "Ended",
              "player_status": "starter",
              "is_starting_11": true,
              "team": "Sevilla",
              "opponent": "Valencia",
              "stats": {},
              "has_player_stats": false,
              "source": "depth_chart.csv"
            },
            {
              "match_id": 16416323.0,
              "match_date": "2026-09-06",
              "home_team": "Espanyol",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 90,
                "rating": 6.6,
                "assists": 0,
                "expected_goals": 0.021,
                "expected_assists": 0.0228,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 30,
                "accurate_pass": 20,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 3,
                "duels_won": 3,
                "ball_recovery": 2
              },
              "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": 16416316.0,
              "match_date": "2026-08-29",
              "home_team": "Sevilla",
              "away_team": "Atlético Madrid",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Atlético Madrid",
              "stats": {
                "minutes": 90,
                "rating": 6.4,
                "assists": 0,
                "expected_goals": 0.0211,
                "expected_assists": 0.0304,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 23,
                "accurate_pass": 16,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 3,
                "aerial_won": 1,
                "duels_won": 5,
                "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": 16416301.0,
              "match_date": "2026-08-22",
              "home_team": "Athletic Club",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 90,
                "rating": 6.8,
                "assists": 0,
                "expected_goals": 0.0575,
                "expected_assists": 0.0005,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 13,
                "accurate_pass": 7,
                "tackles": 3,
                "tackles_won": 2,
                "clearances": 5,
                "duels_won": 7,
                "ball_recovery": 2
              },
              "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": 16421052.0,
              "match_date": "2026-08-15",
              "home_team": "Sevilla",
              "away_team": "Rayo Vallecano",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Rayo Vallecano",
              "stats": {
                "minutes": 90,
                "rating": 7.0,
                "assists": 0,
                "expected_assists": 0.1007,
                "total_shots": 0,
                "total_pass": 27,
                "accurate_pass": 18,
                "key_pass": 2,
                "tackles": 2,
                "tackles_won": 1,
                "clearances": 5,
                "aerial_won": 1,
                "duels_won": 6,
                "ball_recovery": 3
              },
              "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": 3199,
            "combined_rank_score": 1156.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 336.0,
            "sofascore_rating": 7.0,
            "sofascore_appearances": 1.0,
            "fifa_rank": 1977.0,
            "fifa_overall": 76.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 12,
            "squad_role": "starter",
            "projected_match_rating": 6.479,
            "source_file": "data/player_rankings.csv",
            "player_name": "Juan Iglesias",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Taylor Harwood-Bellis",
                  "ranking": 3194
                },
                {
                  "player_name": "Saïd El Mala",
                  "ranking": 3195
                },
                {
                  "player_name": "Fran García",
                  "ranking": 3196
                },
                {
                  "player_name": "Rômulo",
                  "ranking": 3197
                },
                {
                  "player_name": "David Zima",
                  "ranking": 3198
                }
              ],
              "lower": [
                {
                  "player_name": "Thierno Barry",
                  "ranking": 3200
                },
                {
                  "player_name": "Tiago Palacios",
                  "ranking": 3201
                },
                {
                  "player_name": "Frederik Rønnow",
                  "ranking": 3202
                },
                {
                  "player_name": "David Affengruber",
                  "ranking": 3203
                },
                {
                  "player_name": "Kike Salas",
                  "ranking": 3204
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value"
          ],
          "data_confidence": 0.5,
          "history_matches": 4,
          "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": 4,
            "data_confidence": 0.5,
            "data_sources": [
              "match_history",
              "market_value"
            ],
            "market_value_adjustment": 0.9879,
            "fbref_prior_metrics": null,
            "rationale": "XGBoost regressor (D_service) evaluated 4 historical appearances across 6 target models."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 6 target models",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 2,
                "aerial_won": 1,
                "rating": 6.5582,
                "minutes": 90,
                "total_pass": 23,
                "accurate_pass": 15,
                "duels_won": 5,
                "total_long_balls": 7,
                "accurate_long_balls": 3,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 6,
                "total_opp_half_passes": 16,
                "accurate_opp_half_passes": 10,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 49,
                "possession_lost": 12.75,
                "dispossessed": 0.0,
                "duels_lost": 4,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 2,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.04,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 7,
                "total_progression": 35,
                "progressive_carries": 1,
                "key_pass": 0
              },
              "trace": {
                "model": {
                  "position_service": "D",
                  "schema_version": 3,
                  "trained_at": "2026-09-15T10:01:44.724055+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 374,
                    "rows": 1289
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Espanyol",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.3138,
                    "rating": 6.6
                  },
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Atlético Madrid",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.2667,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-08-22",
                    "opponent": "Athletic Club",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.2267,
                    "rating": 6.8
                  },
                  {
                    "match_date": "2026-08-15",
                    "opponent": "Rayo Vallecano",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1927,
                    "rating": 7.0
                  }
                ],
                "feature_row": {
                  "history_matches": 4.0,
                  "is_starting_11": 1.0,
                  "accuratePass": 15.6001,
                  "touches_p90": 48.0346,
                  "possessionLostCtrl": 12.5902,
                  "totalClearance": 3.8389,
                  "aerialWon": 0.4595
                },
                "per_target": [
                  {
                    "target": "interceptionWon",
                    "predicted": 0.8854035139083862,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0944
                      },
                      {
                        "name": "duel_win_rate",
                        "importance": 0.0353
                      },
                      {
                        "name": "duelWon_p90",
                        "importance": 0.0341
                      },
                      {
                        "name": "interceptionWon_p90",
                        "importance": 0.0326
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0322
                      }
                    ]
                  },
                  {
                    "target": "totalTackle",
                    "predicted": 1.4896570444107056,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "history_matches",
                        "importance": 0.0588
                      },
                      {
                        "name": "duelLost",
                        "importance": 0.0461
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0446
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0406
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0401
                      }
                    ]
                  },
                  {
                    "target": "wonTackle",
                    "predicted": 1.270761251449585,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "history_matches",
                        "importance": 0.0565
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0432
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0353
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0347
                      },
                      {
                        "name": "wonTackle",
                        "importance": 0.0329
                      }
                    ]
                  },
                  {
                    "target": "totalClearance",
                    "predicted": 2.31349515914917,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.11
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0506
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.0425
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0417
                      },
                      {
                        "name": "tackle_success_rate",
                        "importance": 0.0343
                      }
                    ]
                  },
                  {
                    "target": "aerialWon",
                    "predicted": 0.9268704056739807,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0798
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0597
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0439
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0426
                      },
                      {
                        "name": "errorLeadToAShot",
                        "importance": 0.0411
                      }
                    ]
                  },
                  {
                    "target": "rating",
                    "predicted": 6.558231353759766,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "touches_p90",
                        "importance": 0.0708
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0705
                      },
                      {
                        "name": "totalLongBalls",
                        "importance": 0.0537
                      },
                      {
                        "name": "pass_accuracy",
                        "importance": 0.0518
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0478
                      }
                    ]
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9879, quality 0.460)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 2,
                "aerial_won": 1,
                "rating": 6.479,
                "minutes": 89,
                "total_pass": 23,
                "accurate_pass": 15,
                "duels_won": 5,
                "total_long_balls": 7,
                "accurate_long_balls": 3,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 6,
                "total_opp_half_passes": 16,
                "accurate_opp_half_passes": 9,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 48,
                "possession_lost": 12.5959,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 2,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0395,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 7,
                "total_progression": 35,
                "progressive_carries": 1,
                "key_pass": 0
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 2,
                "aerial_won": 1,
                "rating": 6.479,
                "minutes": 89,
                "total_pass": 23,
                "accurate_pass": 15,
                "duels_won": 5,
                "total_long_balls": 7,
                "accurate_long_balls": 3,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 6,
                "total_opp_half_passes": 16,
                "accurate_opp_half_passes": 9,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 48,
                "possession_lost": 12.5959,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 2,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0395,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 7,
                "total_progression": 35,
                "progressive_carries": 1,
                "key_pass": 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": 2,
                "aerial_won": 1,
                "rating": 6.479,
                "minutes": 89,
                "total_pass": 23,
                "accurate_pass": 15,
                "duels_won": 5,
                "total_long_balls": 7,
                "accurate_long_balls": 3,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 6,
                "total_opp_half_passes": 16,
                "accurate_opp_half_passes": 9,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 48,
                "possession_lost": 12.5959,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 2,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0395,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 7,
                "total_progression": 35,
                "progressive_carries": 1,
                "key_pass": 0,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 1.1,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.6,
                "aerial_duels_won": 0.6,
                "defensive_success_rate": 0.816,
                "opponent_faced": "Pierre-Emerick Aubameyang",
                "pressing_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "matchup_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
                "antagonist_source": "defensive_duel"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.02 (squad xG sum 0.7402, xG scale 1.3780)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 2,
                "aerial_won": 1,
                "rating": 6.479,
                "minutes": 89,
                "total_pass": 23,
                "accurate_pass": 15,
                "duels_won": 5,
                "total_long_balls": 7,
                "accurate_long_balls": 3,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 6,
                "total_opp_half_passes": 16,
                "accurate_opp_half_passes": 9,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 48,
                "possession_lost": 12.5959,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 2,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0395,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 7,
                "total_progression": 35,
                "progressive_carries": 1,
                "key_pass": 0,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 1.1,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.6,
                "aerial_duels_won": 0.6,
                "defensive_success_rate": 0.816,
                "opponent_faced": "Pierre-Emerick Aubameyang",
                "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 12, fifa_overall 76.0)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 2,
                "aerial_won": 1,
                "rating": 6.479,
                "minutes": 89,
                "total_pass": 23,
                "accurate_pass": 15,
                "duels_won": 5,
                "total_long_balls": 7,
                "accurate_long_balls": 3,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 6,
                "total_opp_half_passes": 16,
                "accurate_opp_half_passes": 9,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 48,
                "possession_lost": 12.5959,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 2,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0395,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 7,
                "total_progression": 35,
                "progressive_carries": 1,
                "key_pass": 0,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 1.1,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.6,
                "aerial_duels_won": 0.6,
                "defensive_success_rate": 0.816,
                "opponent_faced": "Pierre-Emerick Aubameyang",
                "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": 76.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": 2,
                "aerial_won": 1,
                "rating": 6.479,
                "minutes": 89,
                "total_pass": 23,
                "accurate_pass": 15,
                "duels_won": 5,
                "total_long_balls": 7,
                "accurate_long_balls": 3,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 6,
                "total_opp_half_passes": 16,
                "accurate_opp_half_passes": 9,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 48,
                "possession_lost": 12.5959,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 2,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0395,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 7,
                "total_progression": 35,
                "progressive_carries": 1,
                "key_pass": 0,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 1.1,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.6,
                "aerial_duels_won": 0.6,
                "defensive_success_rate": 0.816,
                "opponent_faced": "Pierre-Emerick Aubameyang",
                "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": 76.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": 2,
                "aerial_won": 1,
                "rating": 6.479,
                "minutes": 89,
                "total_pass": 23,
                "accurate_pass": 15,
                "duels_won": 5,
                "total_long_balls": 7,
                "accurate_long_balls": 3,
                "total_own_half_passes": 7,
                "accurate_own_half_passes": 6,
                "total_opp_half_passes": 16,
                "accurate_opp_half_passes": 9,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 48,
                "possession_lost": 12.5959,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 3,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 2,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0395,
                "total_shots": 1,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 7,
                "total_progression": 35,
                "progressive_carries": 1,
                "key_pass": 0,
                "tackles_in_zone": 1.0,
                "tackles_won_in_zone": 1.1,
                "interceptions_in_zone": 0.7,
                "clearances_in_zone": 0.6,
                "aerial_duels_won": 0.6,
                "defensive_success_rate": 0.816,
                "opponent_faced": "Pierre-Emerick Aubameyang",
                "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": 76.0
              }
            }
          ]
        },
        "Odysseas Vlachodimos": {
          "player_id": 138149,
          "position": "G",
          "position_depth": "G",
          "is_starter": true,
          "shirt_number": 1,
          "height": 191,
          "market_value": 3200000,
          "stats": {
            "saves": 3,
            "goals_prevented": 0.0,
            "rating": 6.7696,
            "minutes": 88,
            "total_pass": 27,
            "accurate_pass": 14,
            "duels_won": 0,
            "total_long_balls": 18,
            "accurate_long_balls": 6,
            "touches": 35,
            "clearances": 0,
            "ball_recovery": 9,
            "high_claims": 0,
            "punches": 0.0,
            "aerial_won": 0,
            "sweeper_actions": 0,
            "sweeper_accurate": 0,
            "saves_inside_box": 1,
            "possession_lost": 12.5202,
            "duels_lost": 0,
            "total_contest": 0,
            "won_contest": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "total_own_half_passes": 12,
            "accurate_own_half_passes": 10,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "total_shots": 0,
            "shots_on_target": 0,
            "goalsAgainst": 1.67,
            "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": 66.7,
            "cleanSheetPct": 0.0,
            "minutesPct": 100.0,
            "pointsPerMatch": 2.0,
            "netGoalDifferencePer90": 0.33,
            "expected_saves": 0.77,
            "high_pressure_saves": 0.29,
            "shots_faced": 1.7,
            "opponent_faced": "Pierre-Emerick Aubameyang, Marc Casadó",
            "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_type": "played",
              "match_id": 16416330.0,
              "match_date": "2026-09-11 19:00:00 UTC",
              "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",
              "home_team": "Sevilla",
              "away_team": "Valencia",
              "home_score_current": 1.0,
              "away_score_current": 0.0,
              "team_side": "home",
              "status_code": 100.0,
              "status_type": "finished",
              "status_description": "Ended",
              "player_status": "starter",
              "is_starting_11": true,
              "team": "Sevilla",
              "opponent": "Valencia",
              "stats": {},
              "has_player_stats": false,
              "source": "depth_chart.csv"
            },
            {
              "match_id": 16416323.0,
              "match_date": "2026-09-06",
              "home_team": "Espanyol",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 90,
                "rating": 7.1,
                "assists": 0,
                "expected_assists": 0.0012,
                "total_shots": 0,
                "total_pass": 30,
                "accurate_pass": 12,
                "clearances": 3,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 6,
                "saves": 2,
                "goals_prevented": 0.3787
              },
              "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": 16416316.0,
              "match_date": "2026-08-29",
              "home_team": "Sevilla",
              "away_team": "Atlético Madrid",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Atlético Madrid",
              "stats": {
                "minutes": 90,
                "rating": 5.7,
                "assists": 0,
                "expected_assists": 0.0048,
                "total_shots": 0,
                "total_pass": 19,
                "accurate_pass": 12,
                "ball_recovery": 5,
                "saves": 2,
                "goals_prevented": -1.758
              },
              "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": 16416301.0,
              "match_date": "2026-08-22",
              "home_team": "Athletic Club",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 90,
                "rating": 7.3,
                "assists": 0,
                "expected_assists": 0.0018,
                "total_shots": 0,
                "total_pass": 32,
                "accurate_pass": 19,
                "aerial_won": 1,
                "duels_won": 1,
                "ball_recovery": 16,
                "saves": 6,
                "goals_prevented": 0.2996
              },
              "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": 16421052.0,
              "match_date": "2026-08-15",
              "home_team": "Sevilla",
              "away_team": "Rayo Vallecano",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Rayo Vallecano",
              "stats": {
                "minutes": 90,
                "rating": 7.3,
                "assists": 0,
                "expected_assists": 0.001,
                "total_shots": 0,
                "total_pass": 29,
                "accurate_pass": 16,
                "clearances": 2,
                "ball_recovery": 11,
                "saves": 2,
                "goals_prevented": 0.7724
              },
              "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": 1276,
            "combined_rank_score": 554.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 157.0,
            "sofascore_rating": 7.3,
            "sofascore_appearances": 1.0,
            "fifa_rank": 951.0,
            "fifa_overall": 79.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 15,
            "squad_role": "starter",
            "projected_match_rating": 6.7696,
            "source_file": "data/player_rankings.csv",
            "player_name": "Odysseas Vlachodimos",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Giorgi Papava",
                  "ranking": 1271
                },
                {
                  "player_name": "Pablo Gavi",
                  "ranking": 1272
                },
                {
                  "player_name": "Martin Boakye",
                  "ranking": 1273
                },
                {
                  "player_name": "Rodrigo Caseres",
                  "ranking": 1274
                },
                {
                  "player_name": "Henrikh Mkhitaryan",
                  "ranking": 1275
                }
              ],
              "lower": [
                {
                  "player_name": "Diego Céspedes",
                  "ranking": 1277
                },
                {
                  "player_name": "Gi-pyo Kwon",
                  "ranking": 1278
                },
                {
                  "player_name": "Jeon Hyeon-byung",
                  "ranking": 1279
                },
                {
                  "player_name": "Nikita Demchenko",
                  "ranking": 1280
                },
                {
                  "player_name": "Alessio Romagnoli",
                  "ranking": 1281
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.53,
          "history_matches": 4,
          "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": 4,
            "data_confidence": 0.53,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "market_value_adjustment": 0.982,
            "fbref_prior_metrics": {
              "squad": "Sevilla",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 3.0,
              "starts": 3.0,
              "minutes": 270.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "shots_per90": 0.0,
              "prior_reliability": 0.2
            },
            "rationale": "XGBoost regressor (G_service) evaluated 4 historical appearances across 3 target models; FBref 2026-2027 prior blended (La Liga, Sevilla, rel: 0.20, gls/90: 0.0, ast/90: 0.0)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost G_service raw output over 3 target models",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0,
                "rating": 6.8938,
                "minutes": 90,
                "total_pass": 28,
                "accurate_pass": 15,
                "duels_won": 0,
                "total_long_balls": 18,
                "accurate_long_balls": 6,
                "touches": 36,
                "clearances": 0,
                "ball_recovery": 10,
                "high_claims": 0,
                "punches": 0.0,
                "aerial_won": 0,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 1,
                "possession_lost": 12.75,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 12,
                "accurate_own_half_passes": 10
              },
              "trace": {
                "model": {
                  "position_service": "G",
                  "schema_version": 3,
                  "trained_at": "2026-09-15T10:01:40.064367+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 113,
                    "rows": 393
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Espanyol",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.3138,
                    "rating": 7.1
                  },
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Atlético Madrid",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.2667,
                    "rating": 5.7
                  },
                  {
                    "match_date": "2026-08-22",
                    "opponent": "Athletic Club",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.2267,
                    "rating": 7.3
                  },
                  {
                    "match_date": "2026-08-15",
                    "opponent": "Rayo Vallecano",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.1927,
                    "rating": 7.3
                  }
                ],
                "feature_row": {
                  "history_matches": 4.0,
                  "is_starting_11": 1.0,
                  "sweeper_actions_p90": 0.6993,
                  "touches": 35.3593,
                  "totalOwnHalfPasses": 11.4521,
                  "punches": 0.3138,
                  "distribution_accuracy": 0.861,
                  "accurateKeeperSweeper": 0.6993
                },
                "per_target": [
                  {
                    "target": "saves",
                    "predicted": 2.899885654449463,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "sweeper_actions_p90",
                        "importance": 0.0587
                      },
                      {
                        "name": "accurateKeeperSweeper",
                        "importance": 0.0534
                      },
                      {
                        "name": "touches",
                        "importance": 0.0497
                      },
                      {
                        "name": "totalOwnHalfPasses",
                        "importance": 0.049
                      },
                      {
                        "name": "distribution_accuracy",
                        "importance": 0.043
                      }
                    ]
                  },
                  {
                    "target": "goalsPrevented",
                    "predicted": 0.0,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "sweeper_actions_p90",
                        "importance": 0.053
                      },
                      {
                        "name": "punches",
                        "importance": 0.051
                      },
                      {
                        "name": "touches",
                        "importance": 0.0482
                      },
                      {
                        "name": "accurateLongBalls",
                        "importance": 0.0468
                      },
                      {
                        "name": "passValueNormalized",
                        "importance": 0.0432
                      }
                    ]
                  },
                  {
                    "target": "rating",
                    "predicted": 6.893818378448486,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "sweeper_actions_p90",
                        "importance": 0.0593
                      },
                      {
                        "name": "touches",
                        "importance": 0.0495
                      },
                      {
                        "name": "distribution_accuracy",
                        "importance": 0.0484
                      },
                      {
                        "name": "savedShotsFromInsideTheBox",
                        "importance": 0.0468
                      },
                      {
                        "name": "punches",
                        "importance": 0.0464
                      }
                    ]
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9820, quality 0.440)",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0,
                "rating": 6.7696,
                "minutes": 88,
                "total_pass": 27,
                "accurate_pass": 14,
                "duels_won": 0,
                "total_long_balls": 18,
                "accurate_long_balls": 6,
                "touches": 35,
                "clearances": 0,
                "ball_recovery": 9,
                "high_claims": 0,
                "punches": 0.0,
                "aerial_won": 0,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 1,
                "possession_lost": 12.5202,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 12,
                "accurate_own_half_passes": 10
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0722)",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0,
                "rating": 6.7696,
                "minutes": 88,
                "total_pass": 27,
                "accurate_pass": 14,
                "duels_won": 0,
                "total_long_balls": 18,
                "accurate_long_balls": 6,
                "touches": 35,
                "clearances": 0,
                "ball_recovery": 9,
                "high_claims": 0,
                "punches": 0.0,
                "aerial_won": 0,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 1,
                "possession_lost": 12.5202,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 12,
                "accurate_own_half_passes": 10,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 1.67,
                "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": 66.7,
                "cleanSheetPct": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.33
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0,
                "rating": 6.7696,
                "minutes": 88,
                "total_pass": 27,
                "accurate_pass": 14,
                "duels_won": 0,
                "total_long_balls": 18,
                "accurate_long_balls": 6,
                "touches": 35,
                "clearances": 0,
                "ball_recovery": 9,
                "high_claims": 0,
                "punches": 0.0,
                "aerial_won": 0,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 1,
                "possession_lost": 12.5202,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 12,
                "accurate_own_half_passes": 10,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 1.67,
                "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": 66.7,
                "cleanSheetPct": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.33
              }
            },
            {
              "step": "enriched_model_output",
              "description": "Model output after duel-context enrichment (pre router post-processing)",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0,
                "rating": 6.7696,
                "minutes": 88,
                "total_pass": 27,
                "accurate_pass": 14,
                "duels_won": 0,
                "total_long_balls": 18,
                "accurate_long_balls": 6,
                "touches": 35,
                "clearances": 0,
                "ball_recovery": 9,
                "high_claims": 0,
                "punches": 0.0,
                "aerial_won": 0,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 1,
                "possession_lost": 12.5202,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 12,
                "accurate_own_half_passes": 10,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 1.67,
                "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": 66.7,
                "cleanSheetPct": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.33,
                "expected_saves": 0.77,
                "high_pressure_saves": 0.29,
                "shots_faced": 1.7,
                "opponent_faced": "Pierre-Emerick Aubameyang, Marc Casadó",
                "matchup_zone": "Goalkeeper shot-stopping context",
                "antagonist_source": "formation_fallback"
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.02 (squad xG sum 0.7402, xG scale 1.3780)",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0,
                "rating": 6.7696,
                "minutes": 88,
                "total_pass": 27,
                "accurate_pass": 14,
                "duels_won": 0,
                "total_long_balls": 18,
                "accurate_long_balls": 6,
                "touches": 35,
                "clearances": 0,
                "ball_recovery": 9,
                "high_claims": 0,
                "punches": 0.0,
                "aerial_won": 0,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 1,
                "possession_lost": 12.5202,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 12,
                "accurate_own_half_passes": 10,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 1.67,
                "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": 66.7,
                "cleanSheetPct": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.33,
                "expected_saves": 0.77,
                "high_pressure_saves": 0.29,
                "shots_faced": 1.7,
                "opponent_faced": "Pierre-Emerick Aubameyang, Marc Casadó",
                "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 15, fifa_overall 79.0)",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.0,
                "rating": 6.7696,
                "minutes": 88,
                "total_pass": 27,
                "accurate_pass": 14,
                "duels_won": 0,
                "total_long_balls": 18,
                "accurate_long_balls": 6,
                "touches": 35,
                "clearances": 0,
                "ball_recovery": 9,
                "high_claims": 0,
                "punches": 0.0,
                "aerial_won": 0,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 1,
                "possession_lost": 12.5202,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 12,
                "accurate_own_half_passes": 10,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 1.67,
                "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": 66.7,
                "cleanSheetPct": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.33,
                "expected_saves": 0.77,
                "high_pressure_saves": 0.29,
                "shots_faced": 1.7,
                "opponent_faced": "Pierre-Emerick Aubameyang, Marc Casadó",
                "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.0,
                "rating": 6.7696,
                "minutes": 88,
                "total_pass": 27,
                "accurate_pass": 14,
                "duels_won": 0,
                "total_long_balls": 18,
                "accurate_long_balls": 6,
                "touches": 35,
                "clearances": 0,
                "ball_recovery": 9,
                "high_claims": 0,
                "punches": 0.0,
                "aerial_won": 0,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 1,
                "possession_lost": 12.5202,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 12,
                "accurate_own_half_passes": 10,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 1.67,
                "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": 66.7,
                "cleanSheetPct": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.33,
                "expected_saves": 0.77,
                "high_pressure_saves": 0.29,
                "shots_faced": 1.7,
                "opponent_faced": "Pierre-Emerick Aubameyang, Marc Casadó",
                "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.0,
                "rating": 6.7696,
                "minutes": 88,
                "total_pass": 27,
                "accurate_pass": 14,
                "duels_won": 0,
                "total_long_balls": 18,
                "accurate_long_balls": 6,
                "touches": 35,
                "clearances": 0,
                "ball_recovery": 9,
                "high_claims": 0,
                "punches": 0.0,
                "aerial_won": 0,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 1,
                "possession_lost": 12.5202,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 12,
                "accurate_own_half_passes": 10,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "total_shots": 0,
                "shots_on_target": 0,
                "goalsAgainst": 1.67,
                "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": 66.7,
                "cleanSheetPct": 0.0,
                "minutesPct": 100.0,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.33,
                "expected_saves": 0.77,
                "high_pressure_saves": 0.29,
                "shots_faced": 1.7,
                "opponent_faced": "Pierre-Emerick Aubameyang, Marc Casadó",
                "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
              }
            }
          ]
        }
      },
      "bench_players": {
        "Fran González": {
          "player_id": 1493226,
          "position": "G",
          "position_depth": "G_BENCH",
          "is_starter": false,
          "shirt_number": 13,
          "height": 199,
          "market_value": 2700000,
          "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.739,
            "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": 65.0
          },
          "latest_10_games": [],
          "ranking": {
            "global_player_rank": 7595,
            "combined_rank_score": 6011.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": null,
            "sofascore_rating": null,
            "sofascore_appearances": 0.0,
            "fifa_rank": 11814.0,
            "fifa_overall": 65.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 16,
            "squad_role": "substitute",
            "projected_match_rating": 6.8,
            "source_file": "data/player_rankings.csv",
            "player_name": "Fran González",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Tonny Vilhena",
                  "ranking": 7590
                },
                {
                  "player_name": "Etienne Camara",
                  "ranking": 7591
                },
                {
                  "player_name": "Zinedin Smajlović",
                  "ranking": 7592
                },
                {
                  "player_name": "Anthony Uribe",
                  "ranking": 7593
                },
                {
                  "player_name": "James McClean",
                  "ranking": 7594
                }
              ],
              "lower": [
                {
                  "player_name": "Michael Duffy",
                  "ranking": 7596
                },
                {
                  "player_name": "Rommell Ibarra",
                  "ranking": 7597
                },
                {
                  "player_name": "Dani Pacheco",
                  "ranking": 7598
                },
                {
                  "player_name": "Fredrik Ulvestad",
                  "ranking": 7599
                },
                {
                  "player_name": "Radosław Murawski",
                  "ranking": 7600
                }
              ]
            }
          },
          "data_sources": [
            "market_value"
          ],
          "data_confidence": 0.25,
          "history_matches": 0,
          "xgboost_reasoning": {
            "model_source": "market_value_prior",
            "position_service": "G_service",
            "features_evaluated": [],
            "targets_predicted": [],
            "history_matches": 0,
            "data_confidence": 0.25,
            "data_sources": [
              "market_value"
            ],
            "bench_expected_minutes": 4.392222187561249,
            "bench_appearance_prob": 0.10873737216187492,
            "market_value_adjustment": 0.4374,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection from market-value prior (€2,700,000) scaled to 4.4 expected mins."
          },
          "stat_evolution": [
            {
              "step": "market_value_prior",
              "description": "Market-value baseline for position G (quality 0.44)",
              "stats": {
                "saves": 3,
                "goals_prevented": 0.45,
                "rating": 6.8,
                "minutes": 90,
                "total_pass": 27,
                "accurate_pass": 20,
                "total_long_balls": 8,
                "accurate_long_balls": 4,
                "touches": 32,
                "clearances": 1,
                "ball_recovery": 1,
                "high_claims": 0,
                "punches": 0.3,
                "aerial_won": 1,
                "sweeper_actions": 1,
                "sweeper_accurate": 1,
                "saves_inside_box": 1,
                "possession_lost": 2.4,
                "duels_won": 0,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 21,
                "accurate_own_half_passes": 16
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 4.4 expected minutes (appearance prob 0.11)",
              "stats": {
                "saves": 0,
                "goals_prevented": 0.022,
                "rating": 6.8,
                "minutes": 4,
                "total_pass": 1,
                "accurate_pass": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "touches": 2,
                "clearances": 0,
                "ball_recovery": 0,
                "high_claims": 0,
                "punches": 0.0146,
                "aerial_won": 0,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 0,
                "possession_lost": 0.1171,
                "duels_won": 0,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "bench_appearance_probability": 0.109,
                "bench_expected_minutes": 4.39
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "saves": 0,
                "goals_prevented": 0.022,
                "rating": 6.8,
                "minutes": 4,
                "total_pass": 1,
                "accurate_pass": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "touches": 2,
                "clearances": 0,
                "ball_recovery": 0,
                "high_claims": 0,
                "punches": 0.0146,
                "aerial_won": 0,
                "sweeper_actions": 0,
                "sweeper_accurate": 0,
                "saves_inside_box": 0,
                "possession_lost": 0.1171,
                "duels_won": 0,
                "duels_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "bench_appearance_probability": 0.109,
                "bench_expected_minutes": 4.39
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 16, fifa_overall 65.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.739,
                "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": 65.0
              }
            }
          ]
        },
        "José Ángel Carmona": {
          "player_id": 1015240,
          "position": "D",
          "position_depth": "D_BENCH",
          "is_starter": false,
          "shirt_number": 22,
          "height": 183,
          "market_value": 11100000,
          "stats": {
            "interceptions": 0,
            "tackles": 0,
            "tackles_won": 0,
            "clearances": 0,
            "aerial_won": 0,
            "rating": 5.616,
            "minutes": 14,
            "total_pass": 1,
            "accurate_pass": 0,
            "duels_won": 1,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_own_half_passes": 0,
            "accurate_own_half_passes": 0,
            "total_opp_half_passes": 0,
            "accurate_opp_half_passes": 0,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 2,
            "possession_lost": 0.7837,
            "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": 0,
            "blocks": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.0,
            "expected_assists": 0.0016,
            "total_shots": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0,
            "ball_carries": 0,
            "total_progression": 0,
            "progressive_carries": 0,
            "key_pass": 0,
            "bench_appearance_probability": 0.316,
            "bench_expected_minutes": 13.96,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 2.739,
            "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": 80.0
          },
          "latest_10_games": [
            {
              "match_id": 16416323.0,
              "match_date": "2026-09-06",
              "home_team": "Espanyol",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 19,
                "rating": 6.4,
                "assists": 0,
                "expected_assists": 0.0298,
                "total_shots": 0,
                "total_pass": 4,
                "accurate_pass": 1,
                "key_pass": 1,
                "duels_won": 2,
                "ball_recovery": 1
              },
              "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": 16416301.0,
              "match_date": "2026-08-22",
              "home_team": "Athletic Club",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 22,
                "rating": 6.9,
                "assists": 0,
                "expected_assists": 0.0001,
                "total_shots": 0,
                "total_pass": 3,
                "accurate_pass": 1,
                "interceptions": 1,
                "clearances": 1
              },
              "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": 995,
            "combined_rank_score": 607.5,
            "ranking_source": "sofascore_plus_fifa_csv_filled",
            "ranking_status": "combined",
            "sofascore_rank": 445.0,
            "sofascore_rating": 6.9,
            "sofascore_appearances": 1.0,
            "fifa_rank": 770.0,
            "fifa_overall": 80.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 6,
            "squad_role": "substitute",
            "projected_match_rating": 5.616,
            "source_file": "data/player_rankings.csv",
            "player_name": "José Ángel Carmona",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Saúl Ñíguez",
                  "ranking": 990
                },
                {
                  "player_name": "Abduvokhid Gulomov",
                  "ranking": 991
                },
                {
                  "player_name": "Danila Forov",
                  "ranking": 992
                },
                {
                  "player_name": "Bradley Lyons",
                  "ranking": 993
                },
                {
                  "player_name": "Dario Šarić",
                  "ranking": 994
                }
              ],
              "lower": [
                {
                  "player_name": "José Luis Gayà",
                  "ranking": 996
                },
                {
                  "player_name": "Rafael Bauzà",
                  "ranking": 997
                },
                {
                  "player_name": "Asier Osambela",
                  "ranking": 998
                },
                {
                  "player_name": "Nurbek Sarsenbaev",
                  "ranking": 999
                },
                {
                  "player_name": "Diyorbek Mamataliev",
                  "ranking": 1000
                }
              ]
            }
          },
          "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": 13.959767603318316,
            "bench_appearance_prob": 0.31635307287810527,
            "market_value_adjustment": 1.0106,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection scaled from XGBoost D_service (2 historical appearances) to 14.0 expected mins (appearance prob 0.32)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 6 target models",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 0,
                "clearances": 1,
                "aerial_won": 1,
                "rating": 5.5572,
                "minutes": 20,
                "total_pass": 4,
                "accurate_pass": 1,
                "duels_won": 4,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 2,
                "accurate_own_half_passes": 1,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 12,
                "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": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.01,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "key_pass": 0
              },
              "trace": {
                "model": {
                  "position_service": "D",
                  "schema_version": 3,
                  "trained_at": "2026-09-15T10:01:44.724055+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 374,
                    "rows": 1289
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Espanyol",
                    "minutes": 19.0,
                    "is_starting": false,
                    "weight": 0.5405,
                    "rating": 6.4
                  },
                  {
                    "match_date": "2026-08-22",
                    "opponent": "Athletic Club",
                    "minutes": 22.0,
                    "is_starting": false,
                    "weight": 0.4595,
                    "rating": 6.9
                  }
                ],
                "feature_row": {
                  "history_matches": 2.0,
                  "is_starting_11": 0.0,
                  "accuratePass": 1.0,
                  "touches_p90": 52.7628,
                  "possessionLostCtrl": 5.0811,
                  "totalClearance": 0.4595,
                  "aerialWon": 0.0
                },
                "per_target": [
                  {
                    "target": "interceptionWon",
                    "predicted": 0.6575584411621094,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0944
                      },
                      {
                        "name": "duel_win_rate",
                        "importance": 0.0353
                      },
                      {
                        "name": "duelWon_p90",
                        "importance": 0.0341
                      },
                      {
                        "name": "interceptionWon_p90",
                        "importance": 0.0326
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0322
                      }
                    ]
                  },
                  {
                    "target": "totalTackle",
                    "predicted": 0.9912921786308289,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "history_matches",
                        "importance": 0.0588
                      },
                      {
                        "name": "duelLost",
                        "importance": 0.0461
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0446
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0406
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0401
                      }
                    ]
                  },
                  {
                    "target": "wonTackle",
                    "predicted": 0.49022340774536133,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "history_matches",
                        "importance": 0.0565
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0432
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0353
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0347
                      },
                      {
                        "name": "wonTackle",
                        "importance": 0.0329
                      }
                    ]
                  },
                  {
                    "target": "totalClearance",
                    "predicted": 0.9427280426025391,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.11
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0506
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.0425
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0417
                      },
                      {
                        "name": "tackle_success_rate",
                        "importance": 0.0343
                      }
                    ]
                  },
                  {
                    "target": "aerialWon",
                    "predicted": 0.7169091105461121,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0798
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0597
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0439
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0426
                      },
                      {
                        "name": "errorLeadToAShot",
                        "importance": 0.0411
                      }
                    ]
                  },
                  {
                    "target": "rating",
                    "predicted": 5.557190895080566,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "touches_p90",
                        "importance": 0.0708
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0705
                      },
                      {
                        "name": "totalLongBalls",
                        "importance": 0.0537
                      },
                      {
                        "name": "pass_accuracy",
                        "importance": 0.0518
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0478
                      }
                    ]
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0106, quality 0.535)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 0,
                "clearances": 1,
                "aerial_won": 1,
                "rating": 5.616,
                "minutes": 21,
                "total_pass": 4,
                "accurate_pass": 1,
                "duels_won": 4,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 2,
                "accurate_own_half_passes": 1,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 12,
                "possession_lost": 5.0529,
                "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": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0101,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "key_pass": 0
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 14.0 expected minutes (appearance prob 0.32)",
              "stats": {
                "interceptions": 0,
                "tackles": 0,
                "tackles_won": 0,
                "clearances": 0,
                "aerial_won": 0,
                "rating": 5.616,
                "minutes": 14,
                "total_pass": 1,
                "accurate_pass": 0,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 2,
                "possession_lost": 0.7837,
                "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": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0016,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "key_pass": 0,
                "bench_appearance_probability": 0.316,
                "bench_expected_minutes": 13.96
              }
            },
            {
              "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": 5.616,
                "minutes": 14,
                "total_pass": 1,
                "accurate_pass": 0,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 2,
                "possession_lost": 0.7837,
                "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": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0016,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "key_pass": 0,
                "bench_appearance_probability": 0.316,
                "bench_expected_minutes": 13.96
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 6, fifa_overall 80.0)",
              "stats": {
                "interceptions": 0,
                "tackles": 0,
                "tackles_won": 0,
                "clearances": 0,
                "aerial_won": 0,
                "rating": 5.616,
                "minutes": 14,
                "total_pass": 1,
                "accurate_pass": 0,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 0,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 2,
                "possession_lost": 0.7837,
                "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": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0016,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 0,
                "total_progression": 0,
                "progressive_carries": 0,
                "key_pass": 0,
                "bench_appearance_probability": 0.316,
                "bench_expected_minutes": 13.96,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.739,
                "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": 80.0
              }
            }
          ]
        },
        "Arouna Sangante": {
          "player_id": 1035988,
          "position": "D",
          "position_depth": "D_BENCH",
          "is_starter": false,
          "shirt_number": 12,
          "height": 189,
          "market_value": 7700000,
          "stats": {
            "interceptions": 0,
            "tackles": 0,
            "tackles_won": 0,
            "clearances": 0,
            "aerial_won": 0,
            "rating": 6.6509,
            "minutes": 14,
            "total_pass": 6,
            "accurate_pass": 4,
            "duels_won": 1,
            "total_long_balls": 1,
            "accurate_long_balls": 0,
            "total_own_half_passes": 3,
            "accurate_own_half_passes": 3,
            "total_opp_half_passes": 2,
            "accurate_opp_half_passes": 1,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 7,
            "possession_lost": 1.4285,
            "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": 0,
            "blocks": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "assists": 0,
            "expected_goals": 0.0,
            "expected_assists": 0.0,
            "total_shots": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "big_chances_created": 0,
            "xgot": 0.0,
            "ball_carries": 2,
            "total_progression": 7,
            "progressive_carries": 0,
            "key_pass": 0,
            "offsides": 1,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "minutesPct": 58.1,
            "pointsPerMatch": 3.0,
            "netGoalDifferencePer90": 2.29,
            "bench_appearance_probability": 0.222,
            "bench_expected_minutes": 13.8,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 2.739,
            "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": 74.0
          },
          "latest_10_games": [
            {
              "match_id": 16416323.0,
              "match_date": "2026-09-06",
              "home_team": "Espanyol",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 56,
                "rating": 5.9,
                "assists": 0,
                "expected_assists": 0.004,
                "total_shots": 0,
                "total_pass": 26,
                "accurate_pass": 19,
                "interceptions": 1,
                "clearances": 1,
                "aerial_won": 1,
                "duels_won": 2,
                "ball_recovery": 2
              },
              "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": 16416301.0,
              "match_date": "2026-08-22",
              "home_team": "Athletic Club",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 68,
                "rating": 6.9,
                "assists": 0,
                "expected_assists": 0.0015,
                "total_shots": 0,
                "total_pass": 39,
                "accurate_pass": 30,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 6,
                "aerial_won": 4,
                "duels_won": 5,
                "ball_recovery": 1
              },
              "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": 16421052.0,
              "match_date": "2026-08-15",
              "home_team": "Sevilla",
              "away_team": "Rayo Vallecano",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Rayo Vallecano",
              "stats": {
                "minutes": 90,
                "rating": 6.3,
                "assists": 0,
                "expected_assists": 0.0039,
                "total_shots": 0,
                "total_pass": 47,
                "accurate_pass": 39,
                "tackles": 1,
                "interceptions": 3,
                "clearances": 4,
                "aerial_won": 4,
                "duels_won": 5,
                "ball_recovery": 3
              },
              "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": 3868,
            "combined_rank_score": 1861.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 822.0,
            "sofascore_rating": 6.6,
            "sofascore_appearances": 2.0,
            "fifa_rank": 2900.0,
            "fifa_overall": 74.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 7,
            "squad_role": "substitute",
            "projected_match_rating": 6.6509,
            "source_file": "data/player_rankings.csv",
            "player_name": "Arouna Sangante",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Dimitris Giannoulis",
                  "ranking": 3863
                },
                {
                  "player_name": "Marcelino Núñez",
                  "ranking": 3864
                },
                {
                  "player_name": "Finn Dahmen",
                  "ranking": 3865
                },
                {
                  "player_name": "Keven Schlotterbeck",
                  "ranking": 3866
                },
                {
                  "player_name": "Paulo Díaz",
                  "ranking": 3867
                }
              ],
              "lower": [
                {
                  "player_name": "Han-Noah Massengo",
                  "ranking": 3869
                },
                {
                  "player_name": "Eduardo Salvio",
                  "ranking": 3870
                },
                {
                  "player_name": "Amos Pieper",
                  "ranking": 3871
                },
                {
                  "player_name": "Victor Boniface",
                  "ranking": 3872
                },
                {
                  "player_name": "Matt Doherty",
                  "ranking": 3873
                }
              ]
            }
          },
          "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"
            ],
            "bench_expected_minutes": 13.80051075650989,
            "bench_appearance_prob": 0.222,
            "market_value_adjustment": 0.9985,
            "fbref_prior_metrics": {
              "squad": "Sevilla",
              "competition": "La Liga",
              "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 D_service (3 historical appearances) to 13.8 expected mins (appearance prob 0.22); FBref playing time empirical prior: 0.0 sub appearances, 0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost D_service raw output over 6 target models",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 2,
                "aerial_won": 1,
                "rating": 6.6607,
                "minutes": 71,
                "total_pass": 37,
                "accurate_pass": 29,
                "duels_won": 4,
                "total_long_balls": 6,
                "accurate_long_balls": 0,
                "total_own_half_passes": 22,
                "accurate_own_half_passes": 20,
                "total_opp_half_passes": 15,
                "accurate_opp_half_passes": 9,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 47,
                "possession_lost": 9.33,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 13,
                "total_progression": 45,
                "progressive_carries": 1,
                "key_pass": 0
              },
              "trace": {
                "model": {
                  "position_service": "D",
                  "schema_version": 3,
                  "trained_at": "2026-09-15T10:01:44.724055+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 374,
                    "rows": 1289
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Espanyol",
                    "minutes": 56.0,
                    "is_starting": true,
                    "weight": 0.3887,
                    "rating": 5.9
                  },
                  {
                    "match_date": "2026-08-22",
                    "opponent": "Athletic Club",
                    "minutes": 68.0,
                    "is_starting": true,
                    "weight": 0.3304,
                    "rating": 6.9
                  },
                  {
                    "match_date": "2026-08-15",
                    "opponent": "Rayo Vallecano",
                    "minutes": 90.0,
                    "is_starting": true,
                    "weight": 0.2809,
                    "rating": 6.3
                  }
                ],
                "feature_row": {
                  "history_matches": 3.0,
                  "is_starting_11": 0.0,
                  "accuratePass": 28.2517,
                  "touches_p90": 58.5845,
                  "possessionLostCtrl": 9.2225,
                  "totalClearance": 3.4947,
                  "aerialWon": 2.8338
                },
                "per_target": [
                  {
                    "target": "interceptionWon",
                    "predicted": 0.7744086384773254,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0944
                      },
                      {
                        "name": "duel_win_rate",
                        "importance": 0.0353
                      },
                      {
                        "name": "duelWon_p90",
                        "importance": 0.0341
                      },
                      {
                        "name": "interceptionWon_p90",
                        "importance": 0.0326
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0322
                      }
                    ]
                  },
                  {
                    "target": "totalTackle",
                    "predicted": 1.112882137298584,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "history_matches",
                        "importance": 0.0588
                      },
                      {
                        "name": "duelLost",
                        "importance": 0.0461
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0446
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0406
                      },
                      {
                        "name": "defensive_actions",
                        "importance": 0.0401
                      }
                    ]
                  },
                  {
                    "target": "wonTackle",
                    "predicted": 0.5251222848892212,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "history_matches",
                        "importance": 0.0565
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0432
                      },
                      {
                        "name": "challengeLost",
                        "importance": 0.0353
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0347
                      },
                      {
                        "name": "wonTackle",
                        "importance": 0.0329
                      }
                    ]
                  },
                  {
                    "target": "totalClearance",
                    "predicted": 1.5515987873077393,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.11
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0506
                      },
                      {
                        "name": "totalClearance_p90",
                        "importance": 0.0425
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0417
                      },
                      {
                        "name": "tackle_success_rate",
                        "importance": 0.0343
                      }
                    ]
                  },
                  {
                    "target": "aerialWon",
                    "predicted": 0.7635591626167297,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0798
                      },
                      {
                        "name": "aerialWon",
                        "importance": 0.0597
                      },
                      {
                        "name": "totalClearance",
                        "importance": 0.0439
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0426
                      },
                      {
                        "name": "errorLeadToAShot",
                        "importance": 0.0411
                      }
                    ]
                  },
                  {
                    "target": "rating",
                    "predicted": 6.660732746124268,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "touches_p90",
                        "importance": 0.0708
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0705
                      },
                      {
                        "name": "totalLongBalls",
                        "importance": 0.0537
                      },
                      {
                        "name": "pass_accuracy",
                        "importance": 0.0518
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0478
                      }
                    ]
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9985, quality 0.495)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 2,
                "aerial_won": 1,
                "rating": 6.6509,
                "minutes": 71,
                "total_pass": 37,
                "accurate_pass": 29,
                "duels_won": 4,
                "total_long_balls": 6,
                "accurate_long_balls": 0,
                "total_own_half_passes": 22,
                "accurate_own_half_passes": 20,
                "total_opp_half_passes": 15,
                "accurate_opp_half_passes": 9,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 47,
                "possession_lost": 9.3162,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 13,
                "total_progression": 45,
                "progressive_carries": 1,
                "key_pass": 0
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0460)",
              "stats": {
                "interceptions": 1,
                "tackles": 1,
                "tackles_won": 1,
                "clearances": 2,
                "aerial_won": 1,
                "rating": 6.6509,
                "minutes": 71,
                "total_pass": 37,
                "accurate_pass": 29,
                "duels_won": 4,
                "total_long_balls": 6,
                "accurate_long_balls": 0,
                "total_own_half_passes": 22,
                "accurate_own_half_passes": 20,
                "total_opp_half_passes": 15,
                "accurate_opp_half_passes": 9,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 47,
                "possession_lost": 9.3162,
                "dispossessed": 0.0,
                "duels_lost": 3,
                "aerial_lost": 0,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 2,
                "challenges_lost": 0,
                "fouls": 1,
                "fouls_drawn": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 13,
                "total_progression": 45,
                "progressive_carries": 1,
                "key_pass": 0,
                "offsides": 1,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 58.1,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 2.29
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 13.8 expected minutes (appearance prob 0.22)",
              "stats": {
                "interceptions": 0,
                "tackles": 0,
                "tackles_won": 0,
                "clearances": 0,
                "aerial_won": 0,
                "rating": 6.6509,
                "minutes": 14,
                "total_pass": 6,
                "accurate_pass": 4,
                "duels_won": 1,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 3,
                "accurate_own_half_passes": 3,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 7,
                "possession_lost": 1.4285,
                "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": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 2,
                "total_progression": 7,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 1,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 58.1,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 2.29,
                "bench_appearance_probability": 0.222,
                "bench_expected_minutes": 13.8
              }
            },
            {
              "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.6509,
                "minutes": 14,
                "total_pass": 6,
                "accurate_pass": 4,
                "duels_won": 1,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 3,
                "accurate_own_half_passes": 3,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 7,
                "possession_lost": 1.4285,
                "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": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 2,
                "total_progression": 7,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 1,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 58.1,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 2.29,
                "bench_appearance_probability": 0.222,
                "bench_expected_minutes": 13.8
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 7, fifa_overall 74.0)",
              "stats": {
                "interceptions": 0,
                "tackles": 0,
                "tackles_won": 0,
                "clearances": 0,
                "aerial_won": 0,
                "rating": 6.6509,
                "minutes": 14,
                "total_pass": 6,
                "accurate_pass": 4,
                "duels_won": 1,
                "total_long_balls": 1,
                "accurate_long_balls": 0,
                "total_own_half_passes": 3,
                "accurate_own_half_passes": 3,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 7,
                "possession_lost": 1.4285,
                "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": 0,
                "blocks": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "assists": 0,
                "expected_goals": 0.0,
                "expected_assists": 0.0,
                "total_shots": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "big_chances_created": 0,
                "xgot": 0.0,
                "ball_carries": 2,
                "total_progression": 7,
                "progressive_carries": 0,
                "key_pass": 0,
                "offsides": 1,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "minutesPct": 58.1,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 2.29,
                "bench_appearance_probability": 0.222,
                "bench_expected_minutes": 13.8,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.739,
                "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": 74.0
              }
            }
          ]
        },
        "Youssouf Fofana": {
          "player_id": 945062,
          "position": "M",
          "position_depth": "M_BENCH",
          "is_starter": false,
          "shirt_number": 19,
          "height": 185,
          "market_value": 25000000,
          "stats": {
            "key_pass": 0,
            "expected_assists": 0.0111,
            "assists": 0,
            "expected_goals": 0.013,
            "rating": 7.0779,
            "minutes": 23,
            "total_pass": 2,
            "accurate_pass": 1,
            "duels_won": 1,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_own_half_passes": 1,
            "accurate_own_half_passes": 1,
            "total_opp_half_passes": 1,
            "accurate_opp_half_passes": 1,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 4,
            "possession_lost": 1.073,
            "dispossessed": 1.0532,
            "duels_lost": 1,
            "aerial_won": 0,
            "aerial_lost": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 1,
            "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": 4,
            "progressive_carries": 0,
            "bench_appearance_probability": 0.542,
            "bench_expected_minutes": 22.92,
            "projected_substitution_order": 4,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 2.739,
            "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": 80.0
          },
          "latest_10_games": [
            {
              "match_type": "played",
              "match_id": 16416330.0,
              "match_date": "2026-09-11 19:00:00 UTC",
              "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",
              "home_team": "Sevilla",
              "away_team": "Valencia",
              "home_score_current": 1.0,
              "away_score_current": 0.0,
              "team_side": "home",
              "status_code": 100.0,
              "status_type": "finished",
              "status_description": "Ended",
              "player_status": "starter",
              "is_starting_11": true,
              "team": "Sevilla",
              "opponent": "Valencia",
              "stats": {},
              "has_player_stats": false,
              "source": "depth_chart.csv"
            },
            {
              "match_id": 16416323.0,
              "match_date": "2026-09-06",
              "home_team": "Espanyol",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 36,
                "rating": 6.2,
                "assists": 0,
                "expected_goals": 0.0082,
                "expected_assists": 0.0318,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 6,
                "accurate_pass": 5,
                "clearances": 2,
                "ball_recovery": 3
              },
              "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": 857,
            "combined_rank_score": 406.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": null,
            "sofascore_rating": null,
            "sofascore_appearances": 0.0,
            "fifa_rank": 739.0,
            "fifa_overall": 80.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 1,
            "squad_role": "substitute",
            "projected_match_rating": 7.0779,
            "source_file": "data/player_rankings.csv",
            "player_name": "Youssouf Fofana",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Leandro Trossard",
                  "ranking": 852
                },
                {
                  "player_name": "André-Franck Zambo Anguissa",
                  "ranking": 853
                },
                {
                  "player_name": "Igor Thiago",
                  "ranking": 854
                },
                {
                  "player_name": "Mukhammadali Alikulov",
                  "ranking": 855
                },
                {
                  "player_name": "Jamal Musiala",
                  "ranking": 856
                }
              ],
              "lower": [
                {
                  "player_name": "Connor Chapman",
                  "ranking": 858
                },
                {
                  "player_name": "Brad Tapp",
                  "ranking": 859
                },
                {
                  "player_name": "Éderson",
                  "ranking": 860
                },
                {
                  "player_name": "Machop Chol",
                  "ranking": 861
                },
                {
                  "player_name": "Jong-hyun Ko",
                  "ranking": 862
                }
              ]
            }
          },
          "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": 22.922107450251776,
            "bench_appearance_prob": 0.5419139750114443,
            "market_value_adjustment": 1.0532,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection scaled from XGBoost M_service (1 historical appearances) to 22.9 expected mins (appearance prob 0.54)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 5 target models",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0413,
                "assists": 0,
                "expected_goals": 0.0351,
                "rating": 6.7205,
                "minutes": 36,
                "total_pass": 6,
                "accurate_pass": 5,
                "duels_won": 4,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 2,
                "accurate_own_half_passes": 2,
                "total_opp_half_passes": 4,
                "accurate_opp_half_passes": 3,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 16,
                "possession_lost": 4.0,
                "dispossessed": 1.0,
                "duels_lost": 4,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 2,
                "total_contest": 1,
                "won_contest": 0,
                "challenges_lost": 1,
                "fouls": 1,
                "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": 2,
                "total_progression": 13,
                "progressive_carries": 0
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 3,
                  "trained_at": "2026-09-15T10:01:48.236605+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 461,
                    "rows": 1422
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Espanyol",
                    "minutes": 36.0,
                    "is_starting": false,
                    "weight": 1.0,
                    "rating": 6.2
                  }
                ],
                "feature_row": {
                  "history_matches": 1.0,
                  "is_starting_11": 0.0,
                  "ballRecovery_p90": 7.5,
                  "ballRecovery": 3.0,
                  "intensity_index": 4.817,
                  "expectedAssists": 0.0318,
                  "kilometersCovered": 4.39
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 0.5002637505531311,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0551
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0489
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0393
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.035
                      },
                      {
                        "name": "accurateCross",
                        "importance": 0.0319
                      }
                    ]
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.04134318232536316,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "cross_creative_contribution",
                        "importance": 0.0714
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0375
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0361
                      },
                      {
                        "name": "accurateCross",
                        "importance": 0.0356
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.0345
                      }
                    ]
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.07266411185264587,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0442
                      },
                      {
                        "name": "keyPass_p90",
                        "importance": 0.0378
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0368
                      },
                      {
                        "name": "cross_accuracy",
                        "importance": 0.036
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0315
                      }
                    ]
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.035064946860075,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.077
                      },
                      {
                        "name": "intensity_index",
                        "importance": 0.0622
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0454
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0399
                      },
                      {
                        "name": "numberOfSprints",
                        "importance": 0.0384
                      }
                    ]
                  },
                  {
                    "target": "rating",
                    "predicted": 6.720456600189209,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "ballRecovery_p90",
                        "importance": 0.0847
                      },
                      {
                        "name": "ballRecovery",
                        "importance": 0.0836
                      },
                      {
                        "name": "kilometersCovered",
                        "importance": 0.0597
                      },
                      {
                        "name": "defensive_midfield_actions",
                        "importance": 0.05
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0441
                      }
                    ]
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0532, quality 0.677)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0435,
                "assists": 0,
                "expected_goals": 0.0369,
                "rating": 7.0779,
                "minutes": 38,
                "total_pass": 6,
                "accurate_pass": 5,
                "duels_won": 4,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 2,
                "accurate_own_half_passes": 2,
                "total_opp_half_passes": 4,
                "accurate_opp_half_passes": 3,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 17,
                "possession_lost": 4.2128,
                "dispossessed": 1.0532,
                "duels_lost": 4,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 2,
                "total_contest": 1,
                "won_contest": 0,
                "challenges_lost": 1,
                "fouls": 1,
                "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": 2,
                "total_progression": 14,
                "progressive_carries": 0
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 22.9 expected minutes (appearance prob 0.54)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0111,
                "assists": 0,
                "expected_goals": 0.0094,
                "rating": 7.0779,
                "minutes": 23,
                "total_pass": 2,
                "accurate_pass": 1,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 4,
                "possession_lost": 1.073,
                "dispossessed": 1.0532,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 1,
                "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": 4,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.542,
                "bench_expected_minutes": 22.92
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0111,
                "assists": 0,
                "expected_goals": 0.0094,
                "rating": 7.0779,
                "minutes": 23,
                "total_pass": 2,
                "accurate_pass": 1,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 4,
                "possession_lost": 1.073,
                "dispossessed": 1.0532,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 1,
                "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": 4,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.542,
                "bench_expected_minutes": 22.92
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.02 (squad xG sum 0.7402, xG scale 1.3780)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0111,
                "assists": 0,
                "expected_goals": 0.013,
                "rating": 7.0779,
                "minutes": 23,
                "total_pass": 2,
                "accurate_pass": 1,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 4,
                "possession_lost": 1.073,
                "dispossessed": 1.0532,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 1,
                "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": 4,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.542,
                "bench_expected_minutes": 22.92,
                "projected_substitution_order": 4,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.739,
                "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 1, fifa_overall 80.0)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0111,
                "assists": 0,
                "expected_goals": 0.013,
                "rating": 7.0779,
                "minutes": 23,
                "total_pass": 2,
                "accurate_pass": 1,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 4,
                "possession_lost": 1.073,
                "dispossessed": 1.0532,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 1,
                "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": 4,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.542,
                "bench_expected_minutes": 22.92,
                "projected_substitution_order": 4,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.739,
                "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": 80.0
              }
            }
          ]
        },
        "Rubén Vargas": {
          "player_id": 872919,
          "position": "M",
          "position_depth": "M_BENCH",
          "is_starter": false,
          "shirt_number": 11,
          "height": 179,
          "market_value": 13900000,
          "stats": {
            "key_pass": 0,
            "expected_assists": 0.0084,
            "assists": 0,
            "expected_goals": 0.0142,
            "rating": 6.8168,
            "minutes": 22,
            "total_pass": 1,
            "accurate_pass": 0,
            "duels_won": 0,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_own_half_passes": 0,
            "accurate_own_half_passes": 0,
            "total_opp_half_passes": 1,
            "accurate_opp_half_passes": 0,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 2,
            "possession_lost": 1.2281,
            "dispossessed": 0.0,
            "duels_lost": 0,
            "aerial_won": 0,
            "aerial_lost": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "total_contest": 0,
            "won_contest": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "ball_carries": 1,
            "total_progression": 1,
            "progressive_carries": 0,
            "total_shots": 1,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 0.0,
            "shotConversion": 0.0,
            "minutesPct": 7.8,
            "pointsPerMatch": 3.0,
            "netGoalDifferencePer90": 4.29,
            "bench_appearance_probability": 0.702,
            "bench_expected_minutes": 21.67,
            "projected_substitution_order": 1,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 2.739,
            "projected_substitution_game_state_adjustment": 1,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 78.0
          },
          "latest_10_games": [
            {
              "match_id": 16421052.0,
              "match_date": "2026-08-15",
              "home_team": "Sevilla",
              "away_team": "Rayo Vallecano",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Rayo Vallecano",
              "stats": {
                "minutes": 20,
                "rating": 6.5,
                "assists": 0,
                "expected_goals": 0.0705,
                "expected_assists": 0.0065,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 6,
                "accurate_pass": 2,
                "tackles": 1,
                "clearances": 1,
                "duels_won": 1,
                "ball_recovery": 2
              },
              "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": 1980,
            "combined_rank_score": 765.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 292.0,
            "sofascore_rating": 7.05,
            "sofascore_appearances": 6.0,
            "fifa_rank": 1238.0,
            "fifa_overall": 78.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 5,
            "squad_role": "substitute",
            "projected_match_rating": 6.8168,
            "source_file": "data/player_rankings.csv",
            "player_name": "Rubén Vargas",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Damien Da Silva",
                  "ranking": 1975
                },
                {
                  "player_name": "Joe Rodon",
                  "ranking": 1976
                },
                {
                  "player_name": "Senny Mayulu",
                  "ranking": 1977
                },
                {
                  "player_name": "Gerard Gumbau",
                  "ranking": 1978
                },
                {
                  "player_name": "Malik Tillman",
                  "ranking": 1979
                }
              ],
              "lower": [
                {
                  "player_name": "Norman Rodríguez",
                  "ranking": 1981
                },
                {
                  "player_name": "Elzio Lohan Alves Lucio",
                  "ranking": 1982
                },
                {
                  "player_name": "Byong-oh Kim",
                  "ranking": 1983
                },
                {
                  "player_name": "Irakli Bughridze",
                  "ranking": 1984
                },
                {
                  "player_name": "Axel Alfonzo",
                  "ranking": 1985
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.314,
          "history_matches": 1,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "M_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "keyPass",
              "expectedAssists",
              "totalCross",
              "accurateCross",
              "duelWon",
              "duelLost",
              "aerialWon",
              "ballRecovery",
              "touches",
              "interceptionWon",
              "wonTackle",
              "possessionLostCtrl",
              "dispossessed",
              "numberOfSprints",
              "kilometersCovered",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "creative_index",
              "touches_p90",
              "totalPass_p90",
              "keyPass_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "ballCarriesCount_p90",
              "creative_efficiency",
              "cross_accuracy",
              "cross_creative_contribution",
              "defensive_midfield_actions",
              "press_vulnerability",
              "progressive_carries_p90",
              "intensity_index",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "rating"
            ],
            "history_matches": 1,
            "data_confidence": 0.314,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 21.67,
            "bench_appearance_prob": 0.702,
            "market_value_adjustment": 1.0201,
            "fbref_prior_metrics": {
              "squad": "Sevilla",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 1.0,
              "starts": 0.0,
              "sub_appearances": 1.0,
              "minutes_per_sub": 21.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "prior_reliability": 0.0133
            },
            "rationale": "Bench projection scaled from XGBoost M_service (1 historical appearances) to 21.7 expected mins (appearance prob 0.70); FBref playing time empirical prior: 1.0 sub appearances, 21.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.0342,
                "assists": 0,
                "expected_goals": 0.0418,
                "rating": 6.6823,
                "minutes": 20,
                "total_pass": 6,
                "accurate_pass": 2,
                "duels_won": 1,
                "total_long_balls": 2,
                "accurate_long_balls": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 5,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 10,
                "possession_lost": 5.0,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 1,
                "total_contest": 1,
                "won_contest": 0,
                "challenges_lost": 0,
                "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": 4,
                "total_progression": 3,
                "progressive_carries": 0
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 3,
                  "trained_at": "2026-09-15T10:01:48.236605+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 461,
                    "rows": 1422
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-08-15",
                    "opponent": "Rayo Vallecano",
                    "minutes": 20.0,
                    "is_starting": false,
                    "weight": 1.0,
                    "rating": 6.5
                  }
                ],
                "feature_row": {
                  "history_matches": 1.0,
                  "is_starting_11": 0.0,
                  "ballRecovery_p90": 9.0,
                  "ballRecovery": 2.0,
                  "intensity_index": 3.325,
                  "expectedAssists": 0.0065,
                  "kilometersCovered": 2.75
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 0.5100430250167847,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0551
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0489
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0393
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.035
                      },
                      {
                        "name": "accurateCross",
                        "importance": 0.0319
                      }
                    ]
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.03423307463526726,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "cross_creative_contribution",
                        "importance": 0.0714
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0375
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0361
                      },
                      {
                        "name": "accurateCross",
                        "importance": 0.0356
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.0345
                      }
                    ]
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.06477060168981552,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0442
                      },
                      {
                        "name": "keyPass_p90",
                        "importance": 0.0378
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0368
                      },
                      {
                        "name": "cross_accuracy",
                        "importance": 0.036
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0315
                      }
                    ]
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.041801370680332184,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.077
                      },
                      {
                        "name": "intensity_index",
                        "importance": 0.0622
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0454
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0399
                      },
                      {
                        "name": "numberOfSprints",
                        "importance": 0.0384
                      }
                    ]
                  },
                  {
                    "target": "rating",
                    "predicted": 6.682306289672852,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "ballRecovery_p90",
                        "importance": 0.0847
                      },
                      {
                        "name": "ballRecovery",
                        "importance": 0.0836
                      },
                      {
                        "name": "kilometersCovered",
                        "importance": 0.0597
                      },
                      {
                        "name": "defensive_midfield_actions",
                        "importance": 0.05
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0441
                      }
                    ]
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0201, quality 0.567)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0349,
                "assists": 0,
                "expected_goals": 0.0426,
                "rating": 6.8168,
                "minutes": 20,
                "total_pass": 6,
                "accurate_pass": 2,
                "duels_won": 1,
                "total_long_balls": 2,
                "accurate_long_balls": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 5,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 10,
                "possession_lost": 5.1006,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 1,
                "total_contest": 1,
                "won_contest": 0,
                "challenges_lost": 0,
                "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": 4,
                "total_progression": 3,
                "progressive_carries": 0
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0072)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0349,
                "assists": 0,
                "expected_goals": 0.0426,
                "rating": 6.8168,
                "minutes": 20,
                "total_pass": 6,
                "accurate_pass": 2,
                "duels_won": 1,
                "total_long_balls": 2,
                "accurate_long_balls": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 5,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 10,
                "possession_lost": 5.1006,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 1,
                "total_contest": 1,
                "won_contest": 0,
                "challenges_lost": 0,
                "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": 4,
                "total_progression": 3,
                "progressive_carries": 0,
                "total_shots": 4,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 7.8,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 4.29
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 21.7 expected minutes (appearance prob 0.70)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0084,
                "assists": 0,
                "expected_goals": 0.0103,
                "rating": 6.8168,
                "minutes": 22,
                "total_pass": 1,
                "accurate_pass": 0,
                "duels_won": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 2,
                "possession_lost": 1.2281,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 1,
                "total_progression": 1,
                "progressive_carries": 0,
                "total_shots": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 7.8,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 4.29,
                "bench_appearance_probability": 0.702,
                "bench_expected_minutes": 21.67
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0084,
                "assists": 0,
                "expected_goals": 0.0103,
                "rating": 6.8168,
                "minutes": 22,
                "total_pass": 1,
                "accurate_pass": 0,
                "duels_won": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 2,
                "possession_lost": 1.2281,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 1,
                "total_progression": 1,
                "progressive_carries": 0,
                "total_shots": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 7.8,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 4.29,
                "bench_appearance_probability": 0.702,
                "bench_expected_minutes": 21.67
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.02 (squad xG sum 0.7402, xG scale 1.3780)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0084,
                "assists": 0,
                "expected_goals": 0.0142,
                "rating": 6.8168,
                "minutes": 22,
                "total_pass": 1,
                "accurate_pass": 0,
                "duels_won": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 2,
                "possession_lost": 1.2281,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 1,
                "total_progression": 1,
                "progressive_carries": 0,
                "total_shots": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 7.8,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 4.29,
                "bench_appearance_probability": 0.702,
                "bench_expected_minutes": 21.67,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.739,
                "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 5, fifa_overall 78.0)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0084,
                "assists": 0,
                "expected_goals": 0.0142,
                "rating": 6.8168,
                "minutes": 22,
                "total_pass": 1,
                "accurate_pass": 0,
                "duels_won": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 2,
                "possession_lost": 1.2281,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 1,
                "total_progression": 1,
                "progressive_carries": 0,
                "total_shots": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 7.8,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 4.29,
                "bench_appearance_probability": 0.702,
                "bench_expected_minutes": 21.67,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.739,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 78.0
              }
            }
          ]
        },
        "Lucas Stassin": {
          "player_id": 1126521,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 9,
          "height": 184,
          "market_value": 15700000,
          "stats": {
            "expected_goals": 0.0664,
            "goal_rate": 0.1107,
            "goals": 0,
            "shots_on_target": 0,
            "expected_assists": 0.0068,
            "key_pass": 0,
            "rating": 7.1799,
            "minutes": 26,
            "total_pass": 2,
            "accurate_pass": 1,
            "duels_won": 1,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 1,
            "accurate_opp_half_passes": 0,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 4,
            "possession_lost": 1.4754,
            "dispossessed": 1.026,
            "duels_lost": 1,
            "aerial_lost": 3,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 0,
            "challenges_lost": 1,
            "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.2626,
            "offsides": 0,
            "ball_carries": 1,
            "total_progression": 2,
            "progressive_carries": 0,
            "bench_appearance_probability": 0.586,
            "bench_expected_minutes": 25.88,
            "projected_substitution_order": 3,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 2.739,
            "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": 74.0
          },
          "latest_10_games": [
            {
              "match_type": "played",
              "match_id": 16416330.0,
              "match_date": "2026-09-11 19:00:00 UTC",
              "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",
              "home_team": "Sevilla",
              "away_team": "Valencia",
              "home_score_current": 1.0,
              "away_score_current": 0.0,
              "team_side": "home",
              "status_code": 100.0,
              "status_type": "finished",
              "status_description": "Ended",
              "player_status": "starter",
              "is_starting_11": true,
              "team": "Sevilla",
              "opponent": "Valencia",
              "stats": {},
              "has_player_stats": false,
              "source": "depth_chart.csv"
            },
            {
              "match_id": 16416323.0,
              "match_date": "2026-09-06",
              "home_team": "Espanyol",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 36,
                "rating": 7.4,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.3995,
                "expected_assists": 0.0007,
                "total_shots": 2,
                "shots_on_target": 2,
                "total_pass": 6,
                "accurate_pass": 4,
                "aerial_won": 2,
                "duels_won": 3,
                "ball_recovery": 1
              },
              "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": 3440,
            "combined_rank_score": 1429.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": null,
            "sofascore_rating": null,
            "sofascore_appearances": 0.0,
            "fifa_rank": 2751.0,
            "fifa_overall": 74.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 2,
            "squad_role": "substitute",
            "projected_match_rating": 7.1799,
            "source_file": "data/player_rankings.csv",
            "player_name": "Lucas Stassin",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Sebastiaan Bornauw",
                  "ranking": 3435
                },
                {
                  "player_name": "Lorenzo Melgarejo",
                  "ranking": 3436
                },
                {
                  "player_name": "Tomáš Chorý",
                  "ranking": 3437
                },
                {
                  "player_name": "Ferran Jutglà",
                  "ranking": 3438
                },
                {
                  "player_name": "César Tárrega",
                  "ranking": 3439
                }
              ],
              "lower": [
                {
                  "player_name": "Nelson Deossa",
                  "ranking": 3441
                },
                {
                  "player_name": "Filip Jörgensen",
                  "ranking": 3442
                },
                {
                  "player_name": "Luis Muriel",
                  "ranking": 3443
                },
                {
                  "player_name": "Ethan Nwaneri",
                  "ranking": 3444
                },
                {
                  "player_name": "Lucas Martínez Quarta",
                  "ranking": 3445
                }
              ]
            }
          },
          "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": 25.88355663750985,
            "bench_appearance_prob": 0.5856162107959023,
            "market_value_adjustment": 1.026,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection scaled from XGBoost F_service (1 historical appearances) to 25.9 expected mins (appearance prob 0.59)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 6 target models",
              "stats": {
                "expected_goals": 0.1632,
                "goal_rate": 0.3753,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0231,
                "key_pass": 0,
                "rating": 6.9978,
                "minutes": 36,
                "total_pass": 6,
                "accurate_pass": 4,
                "duels_won": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 3,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 12,
                "possession_lost": 5.0,
                "dispossessed": 1.0,
                "duels_lost": 5,
                "aerial_lost": 3,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 1,
                "challenges_lost": 1,
                "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": 1,
                "xgot": 0.89,
                "offsides": 0,
                "ball_carries": 5,
                "total_progression": 8,
                "progressive_carries": 0
              },
              "trace": {
                "model": {
                  "position_service": "F",
                  "schema_version": 3,
                  "trained_at": "2026-09-15T10:01:52.318462+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 278,
                    "rows": 769
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Espanyol",
                    "minutes": 36.0,
                    "is_starting": false,
                    "weight": 1.0,
                    "rating": 7.4
                  }
                ],
                "feature_row": {
                  "history_matches": 1.0,
                  "is_starting_11": 0.0,
                  "onTargetScoringAttempt": 2.0,
                  "totalShots": 2.0,
                  "minutesPlayed": 36.0,
                  "touches": 12.0,
                  "dribbleValueNormalized": 0.13
                },
                "per_target": [
                  {
                    "target": "expectedGoals",
                    "predicted": 0.16321280598640442,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "minutesPlayed",
                        "importance": 0.093
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0745
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0545
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.043
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0314
                      }
                    ]
                  },
                  {
                    "target": "goals",
                    "predicted": 0.37525153160095215,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.1
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0715
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0371
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0298
                      },
                      {
                        "name": "passValueNormalized",
                        "importance": 0.0268
                      }
                    ]
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.6198486089706421,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0703
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0583
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0486
                      },
                      {
                        "name": "touches",
                        "importance": 0.0401
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0347
                      }
                    ]
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.023066043853759766,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "touches",
                        "importance": 0.0802
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0621
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0547
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0537
                      },
                      {
                        "name": "numberOfSprints",
                        "importance": 0.0397
                      }
                    ]
                  },
                  {
                    "target": "keyPass",
                    "predicted": 0.42072466015815735,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0738
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0657
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0615
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0458
                      },
                      {
                        "name": "aerialLost",
                        "importance": 0.0313
                      }
                    ]
                  },
                  {
                    "target": "rating",
                    "predicted": 6.997787952423096,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "speed_threat",
                        "importance": 0.0598
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0489
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0439
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0425
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0404
                      }
                    ]
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0260, quality 0.587)",
              "stats": {
                "expected_goals": 0.1675,
                "goal_rate": 0.385,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0237,
                "key_pass": 0,
                "rating": 7.1799,
                "minutes": 37,
                "total_pass": 6,
                "accurate_pass": 4,
                "duels_won": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 3,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 12,
                "possession_lost": 5.1301,
                "dispossessed": 1.026,
                "duels_lost": 5,
                "aerial_lost": 3,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 1,
                "challenges_lost": 1,
                "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": 1,
                "xgot": 0.9132,
                "offsides": 0,
                "ball_carries": 5,
                "total_progression": 8,
                "progressive_carries": 0
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 25.9 expected minutes (appearance prob 0.59)",
              "stats": {
                "expected_goals": 0.0482,
                "goal_rate": 0.1107,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0068,
                "key_pass": 0,
                "rating": 7.1799,
                "minutes": 26,
                "total_pass": 2,
                "accurate_pass": 1,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 4,
                "possession_lost": 1.4754,
                "dispossessed": 1.026,
                "duels_lost": 1,
                "aerial_lost": 3,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 1,
                "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.2626,
                "offsides": 0,
                "ball_carries": 1,
                "total_progression": 2,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.586,
                "bench_expected_minutes": 25.88
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.0482,
                "goal_rate": 0.1107,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0068,
                "key_pass": 0,
                "rating": 7.1799,
                "minutes": 26,
                "total_pass": 2,
                "accurate_pass": 1,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 4,
                "possession_lost": 1.4754,
                "dispossessed": 1.026,
                "duels_lost": 1,
                "aerial_lost": 3,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 1,
                "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.2626,
                "offsides": 0,
                "ball_carries": 1,
                "total_progression": 2,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.586,
                "bench_expected_minutes": 25.88
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.02 (squad xG sum 0.7402, xG scale 1.3780)",
              "stats": {
                "expected_goals": 0.0664,
                "goal_rate": 0.1107,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0068,
                "key_pass": 0,
                "rating": 7.1799,
                "minutes": 26,
                "total_pass": 2,
                "accurate_pass": 1,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 4,
                "possession_lost": 1.4754,
                "dispossessed": 1.026,
                "duels_lost": 1,
                "aerial_lost": 3,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 1,
                "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.2626,
                "offsides": 0,
                "ball_carries": 1,
                "total_progression": 2,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.586,
                "bench_expected_minutes": 25.88,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.739,
                "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 74.0)",
              "stats": {
                "expected_goals": 0.0664,
                "goal_rate": 0.1107,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0068,
                "key_pass": 0,
                "rating": 7.1799,
                "minutes": 26,
                "total_pass": 2,
                "accurate_pass": 1,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 4,
                "possession_lost": 1.4754,
                "dispossessed": 1.026,
                "duels_lost": 1,
                "aerial_lost": 3,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 1,
                "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.2626,
                "offsides": 0,
                "ball_carries": 1,
                "total_progression": 2,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.586,
                "bench_expected_minutes": 25.88,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.739,
                "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": 74.0
              }
            }
          ]
        },
        "Isaac Romero": {
          "player_id": 1018190,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 16,
          "height": 184,
          "market_value": 5200000,
          "stats": {
            "expected_goals": 0.0423,
            "goal_rate": 0.0747,
            "goals": 0,
            "shots_on_target": 0,
            "expected_assists": 0.0078,
            "key_pass": 0,
            "rating": 6.6997,
            "minutes": 30,
            "total_pass": 3,
            "accurate_pass": 2,
            "duels_won": 1,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 2,
            "accurate_opp_half_passes": 1,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 6,
            "possession_lost": 2.5405,
            "dispossessed": 0.0,
            "duels_lost": 2,
            "aerial_lost": 2,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "assists": 0,
            "shots_off_target": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "offsides": 0,
            "ball_carries": 2,
            "total_progression": 4,
            "progressive_carries": 0,
            "total_shots": 1,
            "yellowCards": 1.5385,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 33.3,
            "shotConversion": 0.33,
            "minutesPct": 41.9,
            "pointsPerMatch": 2.0,
            "netGoalDifferencePer90": 0.0,
            "bench_appearance_probability": 0.593,
            "bench_expected_minutes": 30.13,
            "projected_substitution_order": 2,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 2.739,
            "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": 74.0
          },
          "latest_10_games": [
            {
              "match_id": 16416316.0,
              "match_date": "2026-08-29",
              "home_team": "Sevilla",
              "away_team": "Atlético Madrid",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Atlético Madrid",
              "stats": {
                "minutes": 22,
                "rating": 6.2,
                "assists": 0,
                "expected_assists": 0.0027,
                "total_shots": 0,
                "total_pass": 6,
                "accurate_pass": 4,
                "aerial_won": 1,
                "duels_won": 1
              },
              "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": 16416301.0,
              "match_date": "2026-08-22",
              "home_team": "Athletic Club",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 45,
                "rating": 8.1,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 1,
                "expected_goals": 0.1863,
                "expected_assists": 0.0039,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 7,
                "accurate_pass": 5,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 3,
                "aerial_won": 3,
                "duels_won": 6,
                "ball_recovery": 1
              },
              "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": 16421052.0,
              "match_date": "2026-08-15",
              "home_team": "Sevilla",
              "away_team": "Rayo Vallecano",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Rayo Vallecano",
              "stats": {
                "minutes": 45,
                "rating": 6.3,
                "assists": 0,
                "expected_goals": 0.143,
                "expected_assists": 0.0071,
                "total_shots": 2,
                "shots_off_target": 2,
                "total_pass": 13,
                "accurate_pass": 8,
                "aerial_won": 3,
                "duels_won": 3,
                "ball_recovery": 1
              },
              "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": 3715,
            "combined_rank_score": 1682.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 490.0,
            "sofascore_rating": 6.8667,
            "sofascore_appearances": 3.0,
            "fifa_rank": 2874.0,
            "fifa_overall": 74.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 10,
            "squad_role": "substitute",
            "projected_match_rating": 6.6997,
            "source_file": "data/player_rankings.csv",
            "player_name": "Isaac Romero",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Lucas Beltrán",
                  "ranking": 3710
                },
                {
                  "player_name": "Niclas Eliasson",
                  "ranking": 3711
                },
                {
                  "player_name": "Orri Óskarsson",
                  "ranking": 3712
                },
                {
                  "player_name": "Santiago Núñez",
                  "ranking": 3713
                },
                {
                  "player_name": "Viktor Johansson",
                  "ranking": 3714
                }
              ],
              "lower": [
                {
                  "player_name": "Roman Yaremchuk",
                  "ranking": 3716
                },
                {
                  "player_name": "Joe Gelhardt",
                  "ranking": 3717
                },
                {
                  "player_name": "Liam Kitching",
                  "ranking": 3718
                },
                {
                  "player_name": "Andreas Tetteh",
                  "ranking": 3719
                },
                {
                  "player_name": "Kiril Despodov",
                  "ranking": 3720
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.451,
          "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.451,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 30.13,
            "bench_appearance_prob": 0.593,
            "market_value_adjustment": 0.9894,
            "fbref_prior_metrics": {
              "squad": "Sevilla",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 3.0,
              "starts": 1.0,
              "sub_appearances": 2.0,
              "minutes_per_sub": 34.0,
              "goals_per90": 0.7692307692307692,
              "assists_per90": 0.7692307692307692,
              "prior_reliability": 0.0867
            },
            "rationale": "Bench projection scaled from XGBoost F_service (3 historical appearances) to 30.1 expected mins (appearance prob 0.59); FBref playing time empirical prior: 2.0 sub appearances, 34.0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 6 target models",
              "stats": {
                "expected_goals": 0.0925,
                "goal_rate": 0.2054,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0236,
                "key_pass": 0,
                "rating": 6.7715,
                "minutes": 37,
                "total_pass": 9,
                "accurate_pass": 6,
                "duels_won": 3,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 4,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 19,
                "possession_lost": 7.67,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 5,
                "total_progression": 11,
                "progressive_carries": 0
              },
              "trace": {
                "model": {
                  "position_service": "F",
                  "schema_version": 3,
                  "trained_at": "2026-09-15T10:01:52.318462+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 278,
                    "rows": 769
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Atlético Madrid",
                    "minutes": 22.0,
                    "is_starting": false,
                    "weight": 0.3887,
                    "rating": 6.2
                  },
                  {
                    "match_date": "2026-08-22",
                    "opponent": "Athletic Club",
                    "minutes": 45.0,
                    "is_starting": false,
                    "weight": 0.3304,
                    "rating": 8.1
                  },
                  {
                    "match_date": "2026-08-15",
                    "opponent": "Rayo Vallecano",
                    "minutes": 45.0,
                    "is_starting": true,
                    "weight": 0.2809,
                    "rating": 6.3
                  }
                ],
                "feature_row": {
                  "history_matches": 3.0,
                  "is_starting_11": 0.0,
                  "onTargetScoringAttempt": 0.3304,
                  "totalShots": 0.8921,
                  "minutesPlayed": 36.0593,
                  "touches": 17.8299,
                  "dribbleValueNormalized": 0.031
                },
                "per_target": [
                  {
                    "target": "expectedGoals",
                    "predicted": 0.09254942089319229,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "minutesPlayed",
                        "importance": 0.093
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0745
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0545
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.043
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0314
                      }
                    ]
                  },
                  {
                    "target": "goals",
                    "predicted": 0.20536155998706818,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.1
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0715
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0371
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0298
                      },
                      {
                        "name": "passValueNormalized",
                        "importance": 0.0268
                      }
                    ]
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.49406471848487854,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0703
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0583
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0486
                      },
                      {
                        "name": "touches",
                        "importance": 0.0401
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0347
                      }
                    ]
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.0235803984105587,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "touches",
                        "importance": 0.0802
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0621
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0547
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0537
                      },
                      {
                        "name": "numberOfSprints",
                        "importance": 0.0397
                      }
                    ]
                  },
                  {
                    "target": "keyPass",
                    "predicted": 0.3961634337902069,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0738
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0657
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0615
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0458
                      },
                      {
                        "name": "aerialLost",
                        "importance": 0.0313
                      }
                    ]
                  },
                  {
                    "target": "rating",
                    "predicted": 6.771543025970459,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "speed_threat",
                        "importance": 0.0598
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0489
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0439
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0425
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0404
                      }
                    ]
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9894, quality 0.465)",
              "stats": {
                "expected_goals": 0.0916,
                "goal_rate": 0.2032,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0233,
                "key_pass": 0,
                "rating": 6.6997,
                "minutes": 37,
                "total_pass": 9,
                "accurate_pass": 6,
                "duels_won": 3,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 4,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 18,
                "possession_lost": 7.5886,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 5,
                "total_progression": 11,
                "progressive_carries": 0
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0352)",
              "stats": {
                "expected_goals": 0.0916,
                "goal_rate": 0.2231,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0233,
                "key_pass": 0,
                "rating": 6.6997,
                "minutes": 37,
                "total_pass": 9,
                "accurate_pass": 6,
                "duels_won": 3,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 4,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 18,
                "possession_lost": 7.5886,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 5,
                "total_progression": 11,
                "progressive_carries": 0,
                "total_shots": 2,
                "yellowCards": 1.5385,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 33.3,
                "shotConversion": 0.33,
                "minutesPct": 41.9,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.0
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 30.1 expected minutes (appearance prob 0.59)",
              "stats": {
                "expected_goals": 0.0307,
                "goal_rate": 0.0747,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0078,
                "key_pass": 0,
                "rating": 6.6997,
                "minutes": 30,
                "total_pass": 3,
                "accurate_pass": 2,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 6,
                "possession_lost": 2.5405,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 2,
                "total_progression": 4,
                "progressive_carries": 0,
                "total_shots": 1,
                "yellowCards": 1.5385,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 33.3,
                "shotConversion": 0.33,
                "minutesPct": 41.9,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.593,
                "bench_expected_minutes": 30.13
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.0307,
                "goal_rate": 0.0747,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0078,
                "key_pass": 0,
                "rating": 6.6997,
                "minutes": 30,
                "total_pass": 3,
                "accurate_pass": 2,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 6,
                "possession_lost": 2.5405,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 2,
                "total_progression": 4,
                "progressive_carries": 0,
                "total_shots": 1,
                "yellowCards": 1.5385,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 33.3,
                "shotConversion": 0.33,
                "minutesPct": 41.9,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.593,
                "bench_expected_minutes": 30.13
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.02 (squad xG sum 0.7402, xG scale 1.3780)",
              "stats": {
                "expected_goals": 0.0423,
                "goal_rate": 0.0747,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0078,
                "key_pass": 0,
                "rating": 6.6997,
                "minutes": 30,
                "total_pass": 3,
                "accurate_pass": 2,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 6,
                "possession_lost": 2.5405,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 2,
                "total_progression": 4,
                "progressive_carries": 0,
                "total_shots": 1,
                "yellowCards": 1.5385,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 33.3,
                "shotConversion": 0.33,
                "minutesPct": 41.9,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.593,
                "bench_expected_minutes": 30.13,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.739,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 10, fifa_overall 74.0)",
              "stats": {
                "expected_goals": 0.0423,
                "goal_rate": 0.0747,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0078,
                "key_pass": 0,
                "rating": 6.6997,
                "minutes": 30,
                "total_pass": 3,
                "accurate_pass": 2,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 6,
                "possession_lost": 2.5405,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 2,
                "total_progression": 4,
                "progressive_carries": 0,
                "total_shots": 1,
                "yellowCards": 1.5385,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 33.3,
                "shotConversion": 0.33,
                "minutesPct": 41.9,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.593,
                "bench_expected_minutes": 30.13,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.739,
                "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": 74.0
              }
            }
          ]
        }
      },
      "substitutes": {
        "Rubén Vargas": {
          "player_id": 872919,
          "position": "M",
          "position_depth": "M_BENCH",
          "is_starter": false,
          "shirt_number": 11,
          "height": 179,
          "market_value": 13900000,
          "stats": {
            "key_pass": 0,
            "expected_assists": 0.0084,
            "assists": 0,
            "expected_goals": 0.0142,
            "rating": 6.8168,
            "minutes": 22,
            "total_pass": 1,
            "accurate_pass": 0,
            "duels_won": 0,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_own_half_passes": 0,
            "accurate_own_half_passes": 0,
            "total_opp_half_passes": 1,
            "accurate_opp_half_passes": 0,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 2,
            "possession_lost": 1.2281,
            "dispossessed": 0.0,
            "duels_lost": 0,
            "aerial_won": 0,
            "aerial_lost": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "total_contest": 0,
            "won_contest": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "goal_rate": 0.0,
            "goals": 0,
            "shots_on_target": 0,
            "shots_off_target": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "ball_carries": 1,
            "total_progression": 1,
            "progressive_carries": 0,
            "total_shots": 1,
            "offsides": 0,
            "yellowCards": 0.0,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 0.0,
            "shotConversion": 0.0,
            "minutesPct": 7.8,
            "pointsPerMatch": 3.0,
            "netGoalDifferencePer90": 4.29,
            "bench_appearance_probability": 0.702,
            "bench_expected_minutes": 21.67,
            "projected_substitution_order": 1,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 2.739,
            "projected_substitution_game_state_adjustment": 1,
            "substitution_usage": "projected_used_substitute",
            "projected_goals": 0,
            "goal_probability": 0.0,
            "projected_assists": 0,
            "assist_probability": 0.0,
            "fifa_overall": 78.0
          },
          "latest_10_games": [
            {
              "match_id": 16421052.0,
              "match_date": "2026-08-15",
              "home_team": "Sevilla",
              "away_team": "Rayo Vallecano",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Rayo Vallecano",
              "stats": {
                "minutes": 20,
                "rating": 6.5,
                "assists": 0,
                "expected_goals": 0.0705,
                "expected_assists": 0.0065,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 6,
                "accurate_pass": 2,
                "tackles": 1,
                "clearances": 1,
                "duels_won": 1,
                "ball_recovery": 2
              },
              "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": 1980,
            "combined_rank_score": 765.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 292.0,
            "sofascore_rating": 7.05,
            "sofascore_appearances": 6.0,
            "fifa_rank": 1238.0,
            "fifa_overall": 78.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 5,
            "squad_role": "substitute",
            "projected_match_rating": 6.8168,
            "source_file": "data/player_rankings.csv",
            "player_name": "Rubén Vargas",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Damien Da Silva",
                  "ranking": 1975
                },
                {
                  "player_name": "Joe Rodon",
                  "ranking": 1976
                },
                {
                  "player_name": "Senny Mayulu",
                  "ranking": 1977
                },
                {
                  "player_name": "Gerard Gumbau",
                  "ranking": 1978
                },
                {
                  "player_name": "Malik Tillman",
                  "ranking": 1979
                }
              ],
              "lower": [
                {
                  "player_name": "Norman Rodríguez",
                  "ranking": 1981
                },
                {
                  "player_name": "Elzio Lohan Alves Lucio",
                  "ranking": 1982
                },
                {
                  "player_name": "Byong-oh Kim",
                  "ranking": 1983
                },
                {
                  "player_name": "Irakli Bughridze",
                  "ranking": 1984
                },
                {
                  "player_name": "Axel Alfonzo",
                  "ranking": 1985
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.314,
          "history_matches": 1,
          "xgboost_reasoning": {
            "model_source": "xgboost_regressor",
            "position_service": "M_service",
            "features_evaluated": [
              "minutesPlayed",
              "is_starting_11",
              "totalPass",
              "accuratePass",
              "totalOppositionHalfPasses",
              "accurateOppositionHalfPasses",
              "totalShots",
              "keyPass",
              "expectedAssists",
              "totalCross",
              "accurateCross",
              "duelWon",
              "duelLost",
              "aerialWon",
              "ballRecovery",
              "touches",
              "interceptionWon",
              "wonTackle",
              "possessionLostCtrl",
              "dispossessed",
              "numberOfSprints",
              "kilometersCovered",
              "passValueNormalized",
              "dribbleValueNormalized",
              "defensiveValueNormalized",
              "shotValueNormalized",
              "ballCarriesCount",
              "totalProgression",
              "progressiveBallCarriesCount",
              "pass_accuracy",
              "duel_win_rate",
              "opp_half_pass_pct",
              "creative_index",
              "touches_p90",
              "totalPass_p90",
              "keyPass_p90",
              "duelWon_p90",
              "ballRecovery_p90",
              "ballCarriesCount_p90",
              "creative_efficiency",
              "cross_accuracy",
              "cross_creative_contribution",
              "defensive_midfield_actions",
              "press_vulnerability",
              "progressive_carries_p90",
              "intensity_index",
              "history_matches"
            ],
            "targets_predicted": [
              "keyPass",
              "expectedAssists",
              "goalAssist",
              "expectedGoals",
              "rating"
            ],
            "history_matches": 1,
            "data_confidence": 0.314,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 21.67,
            "bench_appearance_prob": 0.702,
            "market_value_adjustment": 1.0201,
            "fbref_prior_metrics": {
              "squad": "Sevilla",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 1.0,
              "starts": 0.0,
              "sub_appearances": 1.0,
              "minutes_per_sub": 21.0,
              "goals_per90": 0.0,
              "assists_per90": 0.0,
              "prior_reliability": 0.0133
            },
            "rationale": "Bench projection scaled from XGBoost M_service (1 historical appearances) to 21.7 expected mins (appearance prob 0.70); FBref playing time empirical prior: 1.0 sub appearances, 21.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.0342,
                "assists": 0,
                "expected_goals": 0.0418,
                "rating": 6.6823,
                "minutes": 20,
                "total_pass": 6,
                "accurate_pass": 2,
                "duels_won": 1,
                "total_long_balls": 2,
                "accurate_long_balls": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 5,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 10,
                "possession_lost": 5.0,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 1,
                "total_contest": 1,
                "won_contest": 0,
                "challenges_lost": 0,
                "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": 4,
                "total_progression": 3,
                "progressive_carries": 0
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 3,
                  "trained_at": "2026-09-15T10:01:48.236605+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 461,
                    "rows": 1422
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-08-15",
                    "opponent": "Rayo Vallecano",
                    "minutes": 20.0,
                    "is_starting": false,
                    "weight": 1.0,
                    "rating": 6.5
                  }
                ],
                "feature_row": {
                  "history_matches": 1.0,
                  "is_starting_11": 0.0,
                  "ballRecovery_p90": 9.0,
                  "ballRecovery": 2.0,
                  "intensity_index": 3.325,
                  "expectedAssists": 0.0065,
                  "kilometersCovered": 2.75
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 0.5100430250167847,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0551
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0489
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0393
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.035
                      },
                      {
                        "name": "accurateCross",
                        "importance": 0.0319
                      }
                    ]
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.03423307463526726,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "cross_creative_contribution",
                        "importance": 0.0714
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0375
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0361
                      },
                      {
                        "name": "accurateCross",
                        "importance": 0.0356
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.0345
                      }
                    ]
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.06477060168981552,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0442
                      },
                      {
                        "name": "keyPass_p90",
                        "importance": 0.0378
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0368
                      },
                      {
                        "name": "cross_accuracy",
                        "importance": 0.036
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0315
                      }
                    ]
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.041801370680332184,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.077
                      },
                      {
                        "name": "intensity_index",
                        "importance": 0.0622
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0454
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0399
                      },
                      {
                        "name": "numberOfSprints",
                        "importance": 0.0384
                      }
                    ]
                  },
                  {
                    "target": "rating",
                    "predicted": 6.682306289672852,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "ballRecovery_p90",
                        "importance": 0.0847
                      },
                      {
                        "name": "ballRecovery",
                        "importance": 0.0836
                      },
                      {
                        "name": "kilometersCovered",
                        "importance": 0.0597
                      },
                      {
                        "name": "defensive_midfield_actions",
                        "importance": 0.05
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0441
                      }
                    ]
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0201, quality 0.567)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0349,
                "assists": 0,
                "expected_goals": 0.0426,
                "rating": 6.8168,
                "minutes": 20,
                "total_pass": 6,
                "accurate_pass": 2,
                "duels_won": 1,
                "total_long_balls": 2,
                "accurate_long_balls": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 5,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 10,
                "possession_lost": 5.1006,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 1,
                "total_contest": 1,
                "won_contest": 0,
                "challenges_lost": 0,
                "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": 4,
                "total_progression": 3,
                "progressive_carries": 0
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0072)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0349,
                "assists": 0,
                "expected_goals": 0.0426,
                "rating": 6.8168,
                "minutes": 20,
                "total_pass": 6,
                "accurate_pass": 2,
                "duels_won": 1,
                "total_long_balls": 2,
                "accurate_long_balls": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 5,
                "accurate_opp_half_passes": 2,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 10,
                "possession_lost": 5.1006,
                "dispossessed": 0.0,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 1,
                "clearances": 1,
                "total_contest": 1,
                "won_contest": 0,
                "challenges_lost": 0,
                "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": 4,
                "total_progression": 3,
                "progressive_carries": 0,
                "total_shots": 4,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 7.8,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 4.29
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 21.7 expected minutes (appearance prob 0.70)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0084,
                "assists": 0,
                "expected_goals": 0.0103,
                "rating": 6.8168,
                "minutes": 22,
                "total_pass": 1,
                "accurate_pass": 0,
                "duels_won": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 2,
                "possession_lost": 1.2281,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 1,
                "total_progression": 1,
                "progressive_carries": 0,
                "total_shots": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 7.8,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 4.29,
                "bench_appearance_probability": 0.702,
                "bench_expected_minutes": 21.67
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0084,
                "assists": 0,
                "expected_goals": 0.0103,
                "rating": 6.8168,
                "minutes": 22,
                "total_pass": 1,
                "accurate_pass": 0,
                "duels_won": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 2,
                "possession_lost": 1.2281,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 1,
                "total_progression": 1,
                "progressive_carries": 0,
                "total_shots": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 7.8,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 4.29,
                "bench_appearance_probability": 0.702,
                "bench_expected_minutes": 21.67
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.02 (squad xG sum 0.7402, xG scale 1.3780)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0084,
                "assists": 0,
                "expected_goals": 0.0142,
                "rating": 6.8168,
                "minutes": 22,
                "total_pass": 1,
                "accurate_pass": 0,
                "duels_won": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 2,
                "possession_lost": 1.2281,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 1,
                "total_progression": 1,
                "progressive_carries": 0,
                "total_shots": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 7.8,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 4.29,
                "bench_appearance_probability": 0.702,
                "bench_expected_minutes": 21.67,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.739,
                "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 5, fifa_overall 78.0)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0084,
                "assists": 0,
                "expected_goals": 0.0142,
                "rating": 6.8168,
                "minutes": 22,
                "total_pass": 1,
                "accurate_pass": 0,
                "duels_won": 0,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 0,
                "accurate_own_half_passes": 0,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 2,
                "possession_lost": 1.2281,
                "dispossessed": 0.0,
                "duels_lost": 0,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "total_contest": 0,
                "won_contest": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "goal_rate": 0.0,
                "goals": 0,
                "shots_on_target": 0,
                "shots_off_target": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "ball_carries": 1,
                "total_progression": 1,
                "progressive_carries": 0,
                "total_shots": 1,
                "offsides": 0,
                "yellowCards": 0.0,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 0.0,
                "shotConversion": 0.0,
                "minutesPct": 7.8,
                "pointsPerMatch": 3.0,
                "netGoalDifferencePer90": 4.29,
                "bench_appearance_probability": 0.702,
                "bench_expected_minutes": 21.67,
                "projected_substitution_order": 1,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.739,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0,
                "fifa_overall": 78.0
              }
            }
          ]
        },
        "Isaac Romero": {
          "player_id": 1018190,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 16,
          "height": 184,
          "market_value": 5200000,
          "stats": {
            "expected_goals": 0.0423,
            "goal_rate": 0.0747,
            "goals": 0,
            "shots_on_target": 0,
            "expected_assists": 0.0078,
            "key_pass": 0,
            "rating": 6.6997,
            "minutes": 30,
            "total_pass": 3,
            "accurate_pass": 2,
            "duels_won": 1,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 2,
            "accurate_opp_half_passes": 1,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 6,
            "possession_lost": 2.5405,
            "dispossessed": 0.0,
            "duels_lost": 2,
            "aerial_lost": 2,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 0,
            "challenges_lost": 0,
            "fouls": 0,
            "fouls_drawn": 0,
            "assists": 0,
            "shots_off_target": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 0,
            "blocks": 0,
            "big_chances_created": 0,
            "big_chances_missed": 0,
            "xgot": 0.0,
            "offsides": 0,
            "ball_carries": 2,
            "total_progression": 4,
            "progressive_carries": 0,
            "total_shots": 1,
            "yellowCards": 1.5385,
            "redCards": 0.0,
            "ownGoals": 0.0,
            "shotAccuracy": 33.3,
            "shotConversion": 0.33,
            "minutesPct": 41.9,
            "pointsPerMatch": 2.0,
            "netGoalDifferencePer90": 0.0,
            "bench_appearance_probability": 0.593,
            "bench_expected_minutes": 30.13,
            "projected_substitution_order": 2,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 2.739,
            "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": 74.0
          },
          "latest_10_games": [
            {
              "match_id": 16416316.0,
              "match_date": "2026-08-29",
              "home_team": "Sevilla",
              "away_team": "Atlético Madrid",
              "team_side": "home",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Atlético Madrid",
              "stats": {
                "minutes": 22,
                "rating": 6.2,
                "assists": 0,
                "expected_assists": 0.0027,
                "total_shots": 0,
                "total_pass": 6,
                "accurate_pass": 4,
                "aerial_won": 1,
                "duels_won": 1
              },
              "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": 16416301.0,
              "match_date": "2026-08-22",
              "home_team": "Athletic Club",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Athletic Club",
              "stats": {
                "minutes": 45,
                "rating": 8.1,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 1,
                "expected_goals": 0.1863,
                "expected_assists": 0.0039,
                "total_shots": 1,
                "shots_on_target": 1,
                "total_pass": 7,
                "accurate_pass": 5,
                "key_pass": 1,
                "tackles": 1,
                "tackles_won": 1,
                "interceptions": 1,
                "clearances": 3,
                "aerial_won": 3,
                "duels_won": 6,
                "ball_recovery": 1
              },
              "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": 16421052.0,
              "match_date": "2026-08-15",
              "home_team": "Sevilla",
              "away_team": "Rayo Vallecano",
              "team_side": "home",
              "is_starting_11": 1,
              "team": "Sevilla",
              "opponent": "Rayo Vallecano",
              "stats": {
                "minutes": 45,
                "rating": 6.3,
                "assists": 0,
                "expected_goals": 0.143,
                "expected_assists": 0.0071,
                "total_shots": 2,
                "shots_off_target": 2,
                "total_pass": 13,
                "accurate_pass": 8,
                "aerial_won": 3,
                "duels_won": 3,
                "ball_recovery": 1
              },
              "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": 3715,
            "combined_rank_score": 1682.0,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": 490.0,
            "sofascore_rating": 6.8667,
            "sofascore_appearances": 3.0,
            "fifa_rank": 2874.0,
            "fifa_overall": 74.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 10,
            "squad_role": "substitute",
            "projected_match_rating": 6.6997,
            "source_file": "data/player_rankings.csv",
            "player_name": "Isaac Romero",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Lucas Beltrán",
                  "ranking": 3710
                },
                {
                  "player_name": "Niclas Eliasson",
                  "ranking": 3711
                },
                {
                  "player_name": "Orri Óskarsson",
                  "ranking": 3712
                },
                {
                  "player_name": "Santiago Núñez",
                  "ranking": 3713
                },
                {
                  "player_name": "Viktor Johansson",
                  "ranking": 3714
                }
              ],
              "lower": [
                {
                  "player_name": "Roman Yaremchuk",
                  "ranking": 3716
                },
                {
                  "player_name": "Joe Gelhardt",
                  "ranking": 3717
                },
                {
                  "player_name": "Liam Kitching",
                  "ranking": 3718
                },
                {
                  "player_name": "Andreas Tetteh",
                  "ranking": 3719
                },
                {
                  "player_name": "Kiril Despodov",
                  "ranking": 3720
                }
              ]
            }
          },
          "data_sources": [
            "match_history",
            "market_value",
            "fbref_season"
          ],
          "data_confidence": 0.451,
          "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.451,
            "data_sources": [
              "match_history",
              "market_value",
              "fbref_season"
            ],
            "bench_expected_minutes": 30.13,
            "bench_appearance_prob": 0.593,
            "market_value_adjustment": 0.9894,
            "fbref_prior_metrics": {
              "squad": "Sevilla",
              "competition": "La Liga",
              "season": "2026-2027",
              "appearances": 3.0,
              "starts": 1.0,
              "sub_appearances": 2.0,
              "minutes_per_sub": 34.0,
              "goals_per90": 0.7692307692307692,
              "assists_per90": 0.7692307692307692,
              "prior_reliability": 0.0867
            },
            "rationale": "Bench projection scaled from XGBoost F_service (3 historical appearances) to 30.1 expected mins (appearance prob 0.59); FBref playing time empirical prior: 2.0 sub appearances, 34.0 mins/sub."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 6 target models",
              "stats": {
                "expected_goals": 0.0925,
                "goal_rate": 0.2054,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0236,
                "key_pass": 0,
                "rating": 6.7715,
                "minutes": 37,
                "total_pass": 9,
                "accurate_pass": 6,
                "duels_won": 3,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 4,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 19,
                "possession_lost": 7.67,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 5,
                "total_progression": 11,
                "progressive_carries": 0
              },
              "trace": {
                "model": {
                  "position_service": "F",
                  "schema_version": 3,
                  "trained_at": "2026-09-15T10:01:52.318462+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 278,
                    "rows": 769
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-08-29",
                    "opponent": "Atlético Madrid",
                    "minutes": 22.0,
                    "is_starting": false,
                    "weight": 0.3887,
                    "rating": 6.2
                  },
                  {
                    "match_date": "2026-08-22",
                    "opponent": "Athletic Club",
                    "minutes": 45.0,
                    "is_starting": false,
                    "weight": 0.3304,
                    "rating": 8.1
                  },
                  {
                    "match_date": "2026-08-15",
                    "opponent": "Rayo Vallecano",
                    "minutes": 45.0,
                    "is_starting": true,
                    "weight": 0.2809,
                    "rating": 6.3
                  }
                ],
                "feature_row": {
                  "history_matches": 3.0,
                  "is_starting_11": 0.0,
                  "onTargetScoringAttempt": 0.3304,
                  "totalShots": 0.8921,
                  "minutesPlayed": 36.0593,
                  "touches": 17.8299,
                  "dribbleValueNormalized": 0.031
                },
                "per_target": [
                  {
                    "target": "expectedGoals",
                    "predicted": 0.09254942089319229,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "minutesPlayed",
                        "importance": 0.093
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0745
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0545
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.043
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0314
                      }
                    ]
                  },
                  {
                    "target": "goals",
                    "predicted": 0.20536155998706818,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.1
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0715
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0371
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0298
                      },
                      {
                        "name": "passValueNormalized",
                        "importance": 0.0268
                      }
                    ]
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.49406471848487854,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0703
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0583
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0486
                      },
                      {
                        "name": "touches",
                        "importance": 0.0401
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0347
                      }
                    ]
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.0235803984105587,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "touches",
                        "importance": 0.0802
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0621
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0547
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0537
                      },
                      {
                        "name": "numberOfSprints",
                        "importance": 0.0397
                      }
                    ]
                  },
                  {
                    "target": "keyPass",
                    "predicted": 0.3961634337902069,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0738
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0657
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0615
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0458
                      },
                      {
                        "name": "aerialLost",
                        "importance": 0.0313
                      }
                    ]
                  },
                  {
                    "target": "rating",
                    "predicted": 6.771543025970459,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "speed_threat",
                        "importance": 0.0598
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0489
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0439
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0425
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0404
                      }
                    ]
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 0.9894, quality 0.465)",
              "stats": {
                "expected_goals": 0.0916,
                "goal_rate": 0.2032,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0233,
                "key_pass": 0,
                "rating": 6.6997,
                "minutes": 37,
                "total_pass": 9,
                "accurate_pass": 6,
                "duels_won": 3,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 4,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 18,
                "possession_lost": 7.5886,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 5,
                "total_progression": 11,
                "progressive_carries": 0
              }
            },
            {
              "step": "fbref_prior_blend",
              "description": "FBref 2026-27 prior blended (weight 0.0352)",
              "stats": {
                "expected_goals": 0.0916,
                "goal_rate": 0.2231,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0233,
                "key_pass": 0,
                "rating": 6.6997,
                "minutes": 37,
                "total_pass": 9,
                "accurate_pass": 6,
                "duels_won": 3,
                "total_long_balls": 1,
                "accurate_long_balls": 1,
                "total_opp_half_passes": 7,
                "accurate_opp_half_passes": 4,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 18,
                "possession_lost": 7.5886,
                "dispossessed": 0.0,
                "duels_lost": 5,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 5,
                "total_progression": 11,
                "progressive_carries": 0,
                "total_shots": 2,
                "yellowCards": 1.5385,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 33.3,
                "shotConversion": 0.33,
                "minutesPct": 41.9,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.0
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 30.1 expected minutes (appearance prob 0.59)",
              "stats": {
                "expected_goals": 0.0307,
                "goal_rate": 0.0747,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0078,
                "key_pass": 0,
                "rating": 6.6997,
                "minutes": 30,
                "total_pass": 3,
                "accurate_pass": 2,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 6,
                "possession_lost": 2.5405,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 2,
                "total_progression": 4,
                "progressive_carries": 0,
                "total_shots": 1,
                "yellowCards": 1.5385,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 33.3,
                "shotConversion": 0.33,
                "minutesPct": 41.9,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.593,
                "bench_expected_minutes": 30.13
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.0307,
                "goal_rate": 0.0747,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0078,
                "key_pass": 0,
                "rating": 6.6997,
                "minutes": 30,
                "total_pass": 3,
                "accurate_pass": 2,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 6,
                "possession_lost": 2.5405,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 2,
                "total_progression": 4,
                "progressive_carries": 0,
                "total_shots": 1,
                "yellowCards": 1.5385,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 33.3,
                "shotConversion": 0.33,
                "minutesPct": 41.9,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.593,
                "bench_expected_minutes": 30.13
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.02 (squad xG sum 0.7402, xG scale 1.3780)",
              "stats": {
                "expected_goals": 0.0423,
                "goal_rate": 0.0747,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0078,
                "key_pass": 0,
                "rating": 6.6997,
                "minutes": 30,
                "total_pass": 3,
                "accurate_pass": 2,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 6,
                "possession_lost": 2.5405,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 2,
                "total_progression": 4,
                "progressive_carries": 0,
                "total_shots": 1,
                "yellowCards": 1.5385,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 33.3,
                "shotConversion": 0.33,
                "minutesPct": 41.9,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.593,
                "bench_expected_minutes": 30.13,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.739,
                "projected_substitution_game_state_adjustment": 1,
                "substitution_usage": "projected_used_substitute",
                "projected_goals": 0,
                "goal_probability": 0.0,
                "projected_assists": 0,
                "assist_probability": 0.0
              }
            },
            {
              "step": "rankings_attached",
              "description": "Global ranking attached (match squad rank 10, fifa_overall 74.0)",
              "stats": {
                "expected_goals": 0.0423,
                "goal_rate": 0.0747,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0078,
                "key_pass": 0,
                "rating": 6.6997,
                "minutes": 30,
                "total_pass": 3,
                "accurate_pass": 2,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 2,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 6,
                "possession_lost": 2.5405,
                "dispossessed": 0.0,
                "duels_lost": 2,
                "aerial_lost": 2,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 0,
                "fouls": 0,
                "fouls_drawn": 0,
                "assists": 0,
                "shots_off_target": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 0,
                "blocks": 0,
                "big_chances_created": 0,
                "big_chances_missed": 0,
                "xgot": 0.0,
                "offsides": 0,
                "ball_carries": 2,
                "total_progression": 4,
                "progressive_carries": 0,
                "total_shots": 1,
                "yellowCards": 1.5385,
                "redCards": 0.0,
                "ownGoals": 0.0,
                "shotAccuracy": 33.3,
                "shotConversion": 0.33,
                "minutesPct": 41.9,
                "pointsPerMatch": 2.0,
                "netGoalDifferencePer90": 0.0,
                "bench_appearance_probability": 0.593,
                "bench_expected_minutes": 30.13,
                "projected_substitution_order": 2,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.739,
                "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": 74.0
              }
            }
          ]
        },
        "Lucas Stassin": {
          "player_id": 1126521,
          "position": "F",
          "position_depth": "F_BENCH",
          "is_starter": false,
          "shirt_number": 9,
          "height": 184,
          "market_value": 15700000,
          "stats": {
            "expected_goals": 0.0664,
            "goal_rate": 0.1107,
            "goals": 0,
            "shots_on_target": 0,
            "expected_assists": 0.0068,
            "key_pass": 0,
            "rating": 7.1799,
            "minutes": 26,
            "total_pass": 2,
            "accurate_pass": 1,
            "duels_won": 1,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_opp_half_passes": 1,
            "accurate_opp_half_passes": 0,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 4,
            "possession_lost": 1.4754,
            "dispossessed": 1.026,
            "duels_lost": 1,
            "aerial_lost": 3,
            "total_contest": 0,
            "won_contest": 0,
            "ball_recovery": 0,
            "challenges_lost": 1,
            "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.2626,
            "offsides": 0,
            "ball_carries": 1,
            "total_progression": 2,
            "progressive_carries": 0,
            "bench_appearance_probability": 0.586,
            "bench_expected_minutes": 25.88,
            "projected_substitution_order": 3,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 2.739,
            "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": 74.0
          },
          "latest_10_games": [
            {
              "match_type": "played",
              "match_id": 16416330.0,
              "match_date": "2026-09-11 19:00:00 UTC",
              "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",
              "home_team": "Sevilla",
              "away_team": "Valencia",
              "home_score_current": 1.0,
              "away_score_current": 0.0,
              "team_side": "home",
              "status_code": 100.0,
              "status_type": "finished",
              "status_description": "Ended",
              "player_status": "starter",
              "is_starting_11": true,
              "team": "Sevilla",
              "opponent": "Valencia",
              "stats": {},
              "has_player_stats": false,
              "source": "depth_chart.csv"
            },
            {
              "match_id": 16416323.0,
              "match_date": "2026-09-06",
              "home_team": "Espanyol",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 36,
                "rating": 7.4,
                "goal_rate": 1.0,
                "goals": 1,
                "assists": 0,
                "expected_goals": 0.3995,
                "expected_assists": 0.0007,
                "total_shots": 2,
                "shots_on_target": 2,
                "total_pass": 6,
                "accurate_pass": 4,
                "aerial_won": 2,
                "duels_won": 3,
                "ball_recovery": 1
              },
              "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": 3440,
            "combined_rank_score": 1429.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": null,
            "sofascore_rating": null,
            "sofascore_appearances": 0.0,
            "fifa_rank": 2751.0,
            "fifa_overall": 74.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 2,
            "squad_role": "substitute",
            "projected_match_rating": 7.1799,
            "source_file": "data/player_rankings.csv",
            "player_name": "Lucas Stassin",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Sebastiaan Bornauw",
                  "ranking": 3435
                },
                {
                  "player_name": "Lorenzo Melgarejo",
                  "ranking": 3436
                },
                {
                  "player_name": "Tomáš Chorý",
                  "ranking": 3437
                },
                {
                  "player_name": "Ferran Jutglà",
                  "ranking": 3438
                },
                {
                  "player_name": "César Tárrega",
                  "ranking": 3439
                }
              ],
              "lower": [
                {
                  "player_name": "Nelson Deossa",
                  "ranking": 3441
                },
                {
                  "player_name": "Filip Jörgensen",
                  "ranking": 3442
                },
                {
                  "player_name": "Luis Muriel",
                  "ranking": 3443
                },
                {
                  "player_name": "Ethan Nwaneri",
                  "ranking": 3444
                },
                {
                  "player_name": "Lucas Martínez Quarta",
                  "ranking": 3445
                }
              ]
            }
          },
          "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": 25.88355663750985,
            "bench_appearance_prob": 0.5856162107959023,
            "market_value_adjustment": 1.026,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection scaled from XGBoost F_service (1 historical appearances) to 25.9 expected mins (appearance prob 0.59)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost F_service raw output over 6 target models",
              "stats": {
                "expected_goals": 0.1632,
                "goal_rate": 0.3753,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0231,
                "key_pass": 0,
                "rating": 6.9978,
                "minutes": 36,
                "total_pass": 6,
                "accurate_pass": 4,
                "duels_won": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 3,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 12,
                "possession_lost": 5.0,
                "dispossessed": 1.0,
                "duels_lost": 5,
                "aerial_lost": 3,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 1,
                "challenges_lost": 1,
                "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": 1,
                "xgot": 0.89,
                "offsides": 0,
                "ball_carries": 5,
                "total_progression": 8,
                "progressive_carries": 0
              },
              "trace": {
                "model": {
                  "position_service": "F",
                  "schema_version": 3,
                  "trained_at": "2026-09-15T10:01:52.318462+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 278,
                    "rows": 769
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Espanyol",
                    "minutes": 36.0,
                    "is_starting": false,
                    "weight": 1.0,
                    "rating": 7.4
                  }
                ],
                "feature_row": {
                  "history_matches": 1.0,
                  "is_starting_11": 0.0,
                  "onTargetScoringAttempt": 2.0,
                  "totalShots": 2.0,
                  "minutesPlayed": 36.0,
                  "touches": 12.0,
                  "dribbleValueNormalized": 0.13
                },
                "per_target": [
                  {
                    "target": "expectedGoals",
                    "predicted": 0.16321280598640442,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "minutesPlayed",
                        "importance": 0.093
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0745
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0545
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.043
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0314
                      }
                    ]
                  },
                  {
                    "target": "goals",
                    "predicted": 0.37525153160095215,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.1
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0715
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0371
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0298
                      },
                      {
                        "name": "passValueNormalized",
                        "importance": 0.0268
                      }
                    ]
                  },
                  {
                    "target": "onTargetScoringAttempt",
                    "predicted": 0.6198486089706421,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0703
                      },
                      {
                        "name": "totalShots",
                        "importance": 0.0583
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0486
                      },
                      {
                        "name": "touches",
                        "importance": 0.0401
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0347
                      }
                    ]
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.023066043853759766,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "touches",
                        "importance": 0.0802
                      },
                      {
                        "name": "accuratePass",
                        "importance": 0.0621
                      },
                      {
                        "name": "accurateOppositionHalfPasses",
                        "importance": 0.0547
                      },
                      {
                        "name": "totalPass",
                        "importance": 0.0537
                      },
                      {
                        "name": "numberOfSprints",
                        "importance": 0.0397
                      }
                    ]
                  },
                  {
                    "target": "keyPass",
                    "predicted": 0.42072466015815735,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0738
                      },
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0657
                      },
                      {
                        "name": "ballCarriesCount",
                        "importance": 0.0615
                      },
                      {
                        "name": "keyPass",
                        "importance": 0.0458
                      },
                      {
                        "name": "aerialLost",
                        "importance": 0.0313
                      }
                    ]
                  },
                  {
                    "target": "rating",
                    "predicted": 6.997787952423096,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "speed_threat",
                        "importance": 0.0598
                      },
                      {
                        "name": "is_starting_11",
                        "importance": 0.0489
                      },
                      {
                        "name": "opp_half_pass_pct",
                        "importance": 0.0439
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0425
                      },
                      {
                        "name": "onTargetScoringAttempt",
                        "importance": 0.0404
                      }
                    ]
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0260, quality 0.587)",
              "stats": {
                "expected_goals": 0.1675,
                "goal_rate": 0.385,
                "goals": 0,
                "shots_on_target": 1,
                "expected_assists": 0.0237,
                "key_pass": 0,
                "rating": 7.1799,
                "minutes": 37,
                "total_pass": 6,
                "accurate_pass": 4,
                "duels_won": 3,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 3,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 12,
                "possession_lost": 5.1301,
                "dispossessed": 1.026,
                "duels_lost": 5,
                "aerial_lost": 3,
                "total_contest": 1,
                "won_contest": 1,
                "ball_recovery": 1,
                "challenges_lost": 1,
                "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": 1,
                "xgot": 0.9132,
                "offsides": 0,
                "ball_carries": 5,
                "total_progression": 8,
                "progressive_carries": 0
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 25.9 expected minutes (appearance prob 0.59)",
              "stats": {
                "expected_goals": 0.0482,
                "goal_rate": 0.1107,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0068,
                "key_pass": 0,
                "rating": 7.1799,
                "minutes": 26,
                "total_pass": 2,
                "accurate_pass": 1,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 4,
                "possession_lost": 1.4754,
                "dispossessed": 1.026,
                "duels_lost": 1,
                "aerial_lost": 3,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 1,
                "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.2626,
                "offsides": 0,
                "ball_carries": 1,
                "total_progression": 2,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.586,
                "bench_expected_minutes": 25.88
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "expected_goals": 0.0482,
                "goal_rate": 0.1107,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0068,
                "key_pass": 0,
                "rating": 7.1799,
                "minutes": 26,
                "total_pass": 2,
                "accurate_pass": 1,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 4,
                "possession_lost": 1.4754,
                "dispossessed": 1.026,
                "duels_lost": 1,
                "aerial_lost": 3,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 1,
                "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.2626,
                "offsides": 0,
                "ball_carries": 1,
                "total_progression": 2,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.586,
                "bench_expected_minutes": 25.88
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.02 (squad xG sum 0.7402, xG scale 1.3780)",
              "stats": {
                "expected_goals": 0.0664,
                "goal_rate": 0.1107,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0068,
                "key_pass": 0,
                "rating": 7.1799,
                "minutes": 26,
                "total_pass": 2,
                "accurate_pass": 1,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 4,
                "possession_lost": 1.4754,
                "dispossessed": 1.026,
                "duels_lost": 1,
                "aerial_lost": 3,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 1,
                "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.2626,
                "offsides": 0,
                "ball_carries": 1,
                "total_progression": 2,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.586,
                "bench_expected_minutes": 25.88,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.739,
                "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 74.0)",
              "stats": {
                "expected_goals": 0.0664,
                "goal_rate": 0.1107,
                "goals": 0,
                "shots_on_target": 0,
                "expected_assists": 0.0068,
                "key_pass": 0,
                "rating": 7.1799,
                "minutes": 26,
                "total_pass": 2,
                "accurate_pass": 1,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 0,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 4,
                "possession_lost": 1.4754,
                "dispossessed": 1.026,
                "duels_lost": 1,
                "aerial_lost": 3,
                "total_contest": 0,
                "won_contest": 0,
                "ball_recovery": 0,
                "challenges_lost": 1,
                "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.2626,
                "offsides": 0,
                "ball_carries": 1,
                "total_progression": 2,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.586,
                "bench_expected_minutes": 25.88,
                "projected_substitution_order": 3,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.739,
                "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": 74.0
              }
            }
          ]
        },
        "Youssouf Fofana": {
          "player_id": 945062,
          "position": "M",
          "position_depth": "M_BENCH",
          "is_starter": false,
          "shirt_number": 19,
          "height": 185,
          "market_value": 25000000,
          "stats": {
            "key_pass": 0,
            "expected_assists": 0.0111,
            "assists": 0,
            "expected_goals": 0.013,
            "rating": 7.0779,
            "minutes": 23,
            "total_pass": 2,
            "accurate_pass": 1,
            "duels_won": 1,
            "total_long_balls": 0,
            "accurate_long_balls": 0,
            "total_own_half_passes": 1,
            "accurate_own_half_passes": 1,
            "total_opp_half_passes": 1,
            "accurate_opp_half_passes": 1,
            "crosses_total": 0,
            "crosses_accurate": 0,
            "touches": 4,
            "possession_lost": 1.073,
            "dispossessed": 1.0532,
            "duels_lost": 1,
            "aerial_won": 0,
            "aerial_lost": 0,
            "interceptions": 0,
            "tackles_won": 0,
            "tackles": 0,
            "clearances": 1,
            "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": 4,
            "progressive_carries": 0,
            "bench_appearance_probability": 0.542,
            "bench_expected_minutes": 22.92,
            "projected_substitution_order": 4,
            "substitution_rule_cap": 5,
            "projected_team_substitution_count": 4,
            "projected_substitution_expected_count": 2.739,
            "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": 80.0
          },
          "latest_10_games": [
            {
              "match_type": "played",
              "match_id": 16416330.0,
              "match_date": "2026-09-11 19:00:00 UTC",
              "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",
              "home_team": "Sevilla",
              "away_team": "Valencia",
              "home_score_current": 1.0,
              "away_score_current": 0.0,
              "team_side": "home",
              "status_code": 100.0,
              "status_type": "finished",
              "status_description": "Ended",
              "player_status": "starter",
              "is_starting_11": true,
              "team": "Sevilla",
              "opponent": "Valencia",
              "stats": {},
              "has_player_stats": false,
              "source": "depth_chart.csv"
            },
            {
              "match_id": 16416323.0,
              "match_date": "2026-09-06",
              "home_team": "Espanyol",
              "away_team": "Sevilla",
              "team_side": "away",
              "is_starting_11": 0,
              "team": "Sevilla",
              "opponent": "Espanyol",
              "stats": {
                "minutes": 36,
                "rating": 6.2,
                "assists": 0,
                "expected_goals": 0.0082,
                "expected_assists": 0.0318,
                "total_shots": 1,
                "shots_off_target": 1,
                "total_pass": 6,
                "accurate_pass": 5,
                "clearances": 2,
                "ball_recovery": 3
              },
              "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": 857,
            "combined_rank_score": 406.5,
            "ranking_source": "sofascore_plus_fifa_csv",
            "ranking_status": "combined",
            "sofascore_rank": null,
            "sofascore_rating": null,
            "sofascore_appearances": 0.0,
            "fifa_rank": 739.0,
            "fifa_overall": 80.0,
            "fifa_source": "EA SPORTS FC official ratings",
            "match_squad_rank": 1,
            "squad_role": "substitute",
            "projected_match_rating": 7.0779,
            "source_file": "data/player_rankings.csv",
            "player_name": "Youssouf Fofana",
            "ranking_neighbors": {
              "upper": [
                {
                  "player_name": "Leandro Trossard",
                  "ranking": 852
                },
                {
                  "player_name": "André-Franck Zambo Anguissa",
                  "ranking": 853
                },
                {
                  "player_name": "Igor Thiago",
                  "ranking": 854
                },
                {
                  "player_name": "Mukhammadali Alikulov",
                  "ranking": 855
                },
                {
                  "player_name": "Jamal Musiala",
                  "ranking": 856
                }
              ],
              "lower": [
                {
                  "player_name": "Connor Chapman",
                  "ranking": 858
                },
                {
                  "player_name": "Brad Tapp",
                  "ranking": 859
                },
                {
                  "player_name": "Éderson",
                  "ranking": 860
                },
                {
                  "player_name": "Machop Chol",
                  "ranking": 861
                },
                {
                  "player_name": "Jong-hyun Ko",
                  "ranking": 862
                }
              ]
            }
          },
          "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": 22.922107450251776,
            "bench_appearance_prob": 0.5419139750114443,
            "market_value_adjustment": 1.0532,
            "fbref_prior_metrics": null,
            "rationale": "Bench projection scaled from XGBoost M_service (1 historical appearances) to 22.9 expected mins (appearance prob 0.54)."
          },
          "stat_evolution": [
            {
              "step": "xgboost_raw",
              "description": "XGBoost M_service raw output over 5 target models",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0413,
                "assists": 0,
                "expected_goals": 0.0351,
                "rating": 6.7205,
                "minutes": 36,
                "total_pass": 6,
                "accurate_pass": 5,
                "duels_won": 4,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 2,
                "accurate_own_half_passes": 2,
                "total_opp_half_passes": 4,
                "accurate_opp_half_passes": 3,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 16,
                "possession_lost": 4.0,
                "dispossessed": 1.0,
                "duels_lost": 4,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 2,
                "total_contest": 1,
                "won_contest": 0,
                "challenges_lost": 1,
                "fouls": 1,
                "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": 2,
                "total_progression": 13,
                "progressive_carries": 0
              },
              "trace": {
                "model": {
                  "position_service": "M",
                  "schema_version": 3,
                  "trained_at": "2026-09-15T10:01:48.236605+00:00",
                  "trained_on": {
                    "matches": 93,
                    "players": 461,
                    "rows": 1422
                  }
                },
                "player_history": [
                  {
                    "match_date": "2026-09-06",
                    "opponent": "Espanyol",
                    "minutes": 36.0,
                    "is_starting": false,
                    "weight": 1.0,
                    "rating": 6.2
                  }
                ],
                "feature_row": {
                  "history_matches": 1.0,
                  "is_starting_11": 0.0,
                  "ballRecovery_p90": 7.5,
                  "ballRecovery": 3.0,
                  "intensity_index": 4.817,
                  "expectedAssists": 0.0318,
                  "kilometersCovered": 4.39
                },
                "per_target": [
                  {
                    "target": "keyPass",
                    "predicted": 0.5002637505531311,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "is_starting_11",
                        "importance": 0.0551
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0489
                      },
                      {
                        "name": "creative_efficiency",
                        "importance": 0.0393
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.035
                      },
                      {
                        "name": "accurateCross",
                        "importance": 0.0319
                      }
                    ]
                  },
                  {
                    "target": "expectedAssists",
                    "predicted": 0.04134318232536316,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "cross_creative_contribution",
                        "importance": 0.0714
                      },
                      {
                        "name": "totalOppositionHalfPasses",
                        "importance": 0.0375
                      },
                      {
                        "name": "expectedAssists",
                        "importance": 0.0361
                      },
                      {
                        "name": "accurateCross",
                        "importance": 0.0356
                      },
                      {
                        "name": "creative_index",
                        "importance": 0.0345
                      }
                    ]
                  },
                  {
                    "target": "goalAssist",
                    "predicted": 0.07266411185264587,
                    "scale": "count per match",
                    "top_features": [
                      {
                        "name": "dribbleValueNormalized",
                        "importance": 0.0442
                      },
                      {
                        "name": "keyPass_p90",
                        "importance": 0.0378
                      },
                      {
                        "name": "totalCross",
                        "importance": 0.0368
                      },
                      {
                        "name": "cross_accuracy",
                        "importance": 0.036
                      },
                      {
                        "name": "interceptionWon",
                        "importance": 0.0315
                      }
                    ]
                  },
                  {
                    "target": "expectedGoals",
                    "predicted": 0.035064946860075,
                    "scale": "per match (raw)",
                    "top_features": [
                      {
                        "name": "totalShots",
                        "importance": 0.077
                      },
                      {
                        "name": "intensity_index",
                        "importance": 0.0622
                      },
                      {
                        "name": "progressiveBallCarriesCount",
                        "importance": 0.0454
                      },
                      {
                        "name": "possessionLostCtrl",
                        "importance": 0.0399
                      },
                      {
                        "name": "numberOfSprints",
                        "importance": 0.0384
                      }
                    ]
                  },
                  {
                    "target": "rating",
                    "predicted": 6.720456600189209,
                    "scale": "0-10",
                    "top_features": [
                      {
                        "name": "ballRecovery_p90",
                        "importance": 0.0847
                      },
                      {
                        "name": "ballRecovery",
                        "importance": 0.0836
                      },
                      {
                        "name": "kilometersCovered",
                        "importance": 0.0597
                      },
                      {
                        "name": "defensive_midfield_actions",
                        "importance": 0.05
                      },
                      {
                        "name": "minutesPlayed",
                        "importance": 0.0441
                      }
                    ]
                  }
                ],
                "caveat": "Raw XGBoost output: no per-90 normalization; minutesPlayed is the player's historical average."
              }
            },
            {
              "step": "market_value_boost",
              "description": "Market-value quality scaling (boost 1.0532, quality 0.677)",
              "stats": {
                "key_pass": 1,
                "expected_assists": 0.0435,
                "assists": 0,
                "expected_goals": 0.0369,
                "rating": 7.0779,
                "minutes": 38,
                "total_pass": 6,
                "accurate_pass": 5,
                "duels_won": 4,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 2,
                "accurate_own_half_passes": 2,
                "total_opp_half_passes": 4,
                "accurate_opp_half_passes": 3,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 17,
                "possession_lost": 4.2128,
                "dispossessed": 1.0532,
                "duels_lost": 4,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 2,
                "total_contest": 1,
                "won_contest": 0,
                "challenges_lost": 1,
                "fouls": 1,
                "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": 2,
                "total_progression": 14,
                "progressive_carries": 0
              }
            },
            {
              "step": "minutes_scale",
              "description": "Bench projection scaled to 22.9 expected minutes (appearance prob 0.54)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0111,
                "assists": 0,
                "expected_goals": 0.0094,
                "rating": 7.0779,
                "minutes": 23,
                "total_pass": 2,
                "accurate_pass": 1,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 4,
                "possession_lost": 1.073,
                "dispossessed": 1.0532,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 1,
                "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": 4,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.542,
                "bench_expected_minutes": 22.92
              }
            },
            {
              "step": "final_cap",
              "description": "Stats clamped to historical constraints and shot-component identity",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0111,
                "assists": 0,
                "expected_goals": 0.0094,
                "rating": 7.0779,
                "minutes": 23,
                "total_pass": 2,
                "accurate_pass": 1,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 4,
                "possession_lost": 1.073,
                "dispossessed": 1.0532,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 1,
                "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": 4,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.542,
                "bench_expected_minutes": 22.92
              }
            },
            {
              "step": "team_lambda_rescale",
              "description": "Player expected_goals/expected_assists rescaled so squad sum equals team lambda 1.02 (squad xG sum 0.7402, xG scale 1.3780)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0111,
                "assists": 0,
                "expected_goals": 0.013,
                "rating": 7.0779,
                "minutes": 23,
                "total_pass": 2,
                "accurate_pass": 1,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 4,
                "possession_lost": 1.073,
                "dispossessed": 1.0532,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 1,
                "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": 4,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.542,
                "bench_expected_minutes": 22.92,
                "projected_substitution_order": 4,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.739,
                "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 1, fifa_overall 80.0)",
              "stats": {
                "key_pass": 0,
                "expected_assists": 0.0111,
                "assists": 0,
                "expected_goals": 0.013,
                "rating": 7.0779,
                "minutes": 23,
                "total_pass": 2,
                "accurate_pass": 1,
                "duels_won": 1,
                "total_long_balls": 0,
                "accurate_long_balls": 0,
                "total_own_half_passes": 1,
                "accurate_own_half_passes": 1,
                "total_opp_half_passes": 1,
                "accurate_opp_half_passes": 1,
                "crosses_total": 0,
                "crosses_accurate": 0,
                "touches": 4,
                "possession_lost": 1.073,
                "dispossessed": 1.0532,
                "duels_lost": 1,
                "aerial_won": 0,
                "aerial_lost": 0,
                "interceptions": 0,
                "tackles_won": 0,
                "tackles": 0,
                "clearances": 1,
                "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": 4,
                "progressive_carries": 0,
                "bench_appearance_probability": 0.542,
                "bench_expected_minutes": 22.92,
                "projected_substitution_order": 4,
                "substitution_rule_cap": 5,
                "projected_team_substitution_count": 4,
                "projected_substitution_expected_count": 2.739,
                "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": 80.0
              }
            }
          ]
        }
      },
      "team_totals": {
        "projected_goals": 0,
        "expected_goals": 1.02,
        "expected_assists": 0.55,
        "total_shots": 14,
        "shots_on_target": 2,
        "total_passes": 277,
        "interceptions": 4,
        "tackles": 11,
        "avg_rating": 6.71,
        "possession_estimated_pct": 49.4,
        "pressing_actions_per_90": 6.4
      }
    }
  },
  "antagonist_report": {
    "home_attacking_duels": [
      {
        "attacker": "Mario Soriano",
        "attacker_role": "LW",
        "attacker_market_value": 4600000,
        "attacker_height": 163,
        "attacker_skill_quality": 0.457,
        "defenders": [
          "Kike Salas"
        ],
        "defender_roles": [
          "RB"
        ],
        "def_skill_quality_avg": 0.584,
        "duel_zone": "Left Wing vs Right Back — Flank Battle",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.363,
        "xg_contribution": 0.0312,
        "shots_in_zone": 1.7,
        "dribbles_attempted": 3,
        "dribbles_successful": 1.0,
        "aerial_duels": 2,
        "aerial_won": 0.6,
        "crosses_in_zone": 1.9,
        "fouls_drawn": 1.2,
        "pressing_intensity_on_attacker": "LOW",
        "defender_stats": [
          {
            "player": "Kike Salas",
            "role": "RB",
            "market_value": 15400000,
            "tackles_attempted": 2.1,
            "tackles_won": 1.9,
            "fouls_committed": 0.5,
            "interceptions_in_zone": 0.9,
            "clearances_in_zone": 0.8,
            "aerial_duels_won": 1.4,
            "defensive_success_rate": 0.637
          }
        ],
        "duel_analysis": "Mario Soriano (LW) faces tough defensive resistance against Kike Salas in a direct 1v1 contest. Duel win probability: 36%.  Projected xG contribution: 0.031 — and is restricted in space and time on the ball."
      },
      {
        "attacker": "Pierre-Emerick Aubameyang",
        "attacker_role": "ST",
        "attacker_market_value": 2400000,
        "attacker_height": 187,
        "attacker_skill_quality": 0.43,
        "defenders": [
          "Andrés Castrin",
          "Juan Iglesias"
        ],
        "defender_roles": [
          "CB",
          "CB"
        ],
        "def_skill_quality_avg": 0.47,
        "duel_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "numerical_situation": "1v2",
        "duel_win_rate": 0.184,
        "xg_contribution": 0.2909,
        "shots_in_zone": 2.0,
        "dribbles_attempted": 2,
        "dribbles_successful": 0.3,
        "aerial_duels": 3,
        "aerial_won": 1.8,
        "crosses_in_zone": 0.0,
        "fouls_drawn": 1.4,
        "pressing_intensity_on_attacker": "LOW",
        "defender_stats": [
          {
            "player": "Andrés Castrin",
            "role": "CB",
            "market_value": 6500000,
            "tackles_attempted": 1.0,
            "tackles_won": 1.1,
            "fouls_committed": 0.6,
            "interceptions_in_zone": 0.8,
            "clearances_in_zone": 0.7,
            "aerial_duels_won": 0.6,
            "defensive_success_rate": 0.816
          },
          {
            "player": "Juan Iglesias",
            "role": "CB",
            "market_value": 4800000,
            "tackles_attempted": 1.0,
            "tackles_won": 1.1,
            "fouls_committed": 0.6,
            "interceptions_in_zone": 0.7,
            "clearances_in_zone": 0.6,
            "aerial_duels_won": 0.6,
            "defensive_success_rate": 0.816
          }
        ],
        "duel_analysis": "Pierre-Emerick Aubameyang (ST) is heavily outmatched defensively against Andrés Castrin and Juan Iglesias in a 2-defender block. Duel win probability: 18%.  Projected xG contribution: 0.291 — with very limited chance creation expected."
      },
      {
        "attacker": "Marc Casadó",
        "attacker_role": "CDM",
        "attacker_market_value": 17400000,
        "attacker_height": 172,
        "attacker_skill_quality": 0.605,
        "defenders": [
          "Lucien Agoumé"
        ],
        "defender_roles": [
          "CM"
        ],
        "def_skill_quality_avg": 0.585,
        "duel_zone": "Holding Mid vs Central Mid — Midfield Anchor Duel",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.357,
        "xg_contribution": 0.0454,
        "shots_in_zone": 0.9,
        "dribbles_attempted": 2,
        "dribbles_successful": 0.6,
        "aerial_duels": 2,
        "aerial_won": 0.8,
        "crosses_in_zone": 0.0,
        "fouls_drawn": 1.4,
        "pressing_intensity_on_attacker": "LOW",
        "defender_stats": [
          {
            "player": "Lucien Agoumé",
            "role": "CM",
            "market_value": 15500000,
            "tackles_attempted": 2.1,
            "tackles_won": 1.9,
            "fouls_committed": 0.5,
            "interceptions_in_zone": 0.9,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 1.1,
            "defensive_success_rate": 0.643
          }
        ],
        "duel_analysis": "Marc Casadó (CDM) faces tough defensive resistance against Lucien Agoumé in a direct 1v1 contest. Duel win probability: 36%.  Projected xG contribution: 0.045 — and is restricted in space and time on the ball."
      }
    ],
    "away_attacking_duels": [
      {
        "attacker": "Robbie Ure",
        "attacker_role": "ST",
        "attacker_market_value": 4800000,
        "attacker_height": 189,
        "attacker_skill_quality": 0.46,
        "defenders": [
          "José María Giménez",
          "Lucas Noubi"
        ],
        "defender_roles": [
          "CB",
          "CB"
        ],
        "def_skill_quality_avg": 0.462,
        "duel_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "numerical_situation": "1v2",
        "duel_win_rate": 0.217,
        "xg_contribution": 0.159,
        "shots_in_zone": 2.2,
        "dribbles_attempted": 2,
        "dribbles_successful": 0.4,
        "aerial_duels": 3,
        "aerial_won": 1.9,
        "crosses_in_zone": 0.0,
        "fouls_drawn": 1.4,
        "pressing_intensity_on_attacker": "LOW",
        "defender_stats": [
          {
            "player": "José María Giménez",
            "role": "CB",
            "market_value": 8600000,
            "tackles_attempted": 1.0,
            "tackles_won": 1.1,
            "fouls_committed": 0.5,
            "interceptions_in_zone": 0.8,
            "clearances_in_zone": 0.7,
            "aerial_duels_won": 0.5,
            "defensive_success_rate": 0.783
          },
          {
            "player": "Lucas Noubi",
            "role": "CB",
            "market_value": 1500000,
            "tackles_attempted": 1.0,
            "tackles_won": 1.0,
            "fouls_committed": 0.6,
            "interceptions_in_zone": 0.7,
            "clearances_in_zone": 0.6,
            "aerial_duels_won": 0.5,
            "defensive_success_rate": 0.783
          }
        ],
        "duel_analysis": "Robbie Ure (ST) is heavily outmatched defensively against José María Giménez and Lucas Noubi in a 2-defender block. Duel win probability: 22%.  Projected xG contribution: 0.159 — with very limited chance creation expected."
      },
      {
        "attacker": "Jon Guridi",
        "attacker_role": "LM",
        "attacker_market_value": 1700000,
        "attacker_height": 179,
        "attacker_skill_quality": 0.421,
        "defenders": [
          "Ximo Navarro"
        ],
        "defender_roles": [
          "RB"
        ],
        "def_skill_quality_avg": 0.401,
        "duel_zone": "Left Mid vs Right Back — Wide Channel",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.481,
        "xg_contribution": 0.042,
        "shots_in_zone": 1.6,
        "dribbles_attempted": 3,
        "dribbles_successful": 1.3,
        "aerial_duels": 2,
        "aerial_won": 1.0,
        "crosses_in_zone": 2.0,
        "fouls_drawn": 1.0,
        "pressing_intensity_on_attacker": "LOW",
        "defender_stats": [
          {
            "player": "Ximo Navarro",
            "role": "RB",
            "market_value": 95000,
            "tackles_attempted": 1.9,
            "tackles_won": 1.6,
            "fouls_committed": 0.6,
            "interceptions_in_zone": 0.6,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 1.0,
            "defensive_success_rate": 0.519
          }
        ],
        "duel_analysis": "Jon Guridi (LM) is evenly matched against Ximo Navarro in a direct 1v1 contest. Duel win probability: 48%.  Projected xG contribution: 0.042 — with neither side clearly dominant."
      },
      {
        "attacker": "Giorgi Kochorashvili",
        "attacker_role": "RM",
        "attacker_market_value": 3800000,
        "attacker_height": 176,
        "attacker_skill_quality": 0.447,
        "defenders": [
          "Giacomo Quagliata"
        ],
        "defender_roles": [
          "LB"
        ],
        "def_skill_quality_avg": 0.426,
        "duel_zone": "Right Mid vs Left Back — Wide Channel",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.466,
        "xg_contribution": 0.0463,
        "shots_in_zone": 1.6,
        "dribbles_attempted": 3,
        "dribbles_successful": 1.2,
        "aerial_duels": 2,
        "aerial_won": 0.9,
        "crosses_in_zone": 2.0,
        "fouls_drawn": 1.1,
        "pressing_intensity_on_attacker": "LOW",
        "defender_stats": [
          {
            "player": "Giacomo Quagliata",
            "role": "LB",
            "market_value": 2100000,
            "tackles_attempted": 1.9,
            "tackles_won": 1.6,
            "fouls_committed": 0.6,
            "interceptions_in_zone": 0.7,
            "clearances_in_zone": 0.5,
            "aerial_duels_won": 1.1,
            "defensive_success_rate": 0.534
          }
        ],
        "duel_analysis": "Giorgi Kochorashvili (RM) is evenly matched against Giacomo Quagliata in a direct 1v1 contest. Duel win probability: 47%.  Projected xG contribution: 0.046 — with neither side clearly dominant."
      },
      {
        "attacker": "Lucien Agoumé",
        "attacker_role": "CM",
        "attacker_market_value": 15500000,
        "attacker_height": 185,
        "attacker_skill_quality": 0.585,
        "defenders": [
          "Marc Casadó"
        ],
        "defender_roles": [
          "CDM"
        ],
        "def_skill_quality_avg": 0.605,
        "duel_zone": "Central Mid vs Defensive Mid — Pressing/Creation Duel",
        "numerical_situation": "1v1",
        "duel_win_rate": 0.493,
        "xg_contribution": 0.0562,
        "shots_in_zone": 1.7,
        "dribbles_attempted": 2,
        "dribbles_successful": 0.9,
        "aerial_duels": 2,
        "aerial_won": 1.2,
        "crosses_in_zone": 0.0,
        "fouls_drawn": 1.2,
        "pressing_intensity_on_attacker": "LOW",
        "defender_stats": [
          {
            "player": "Marc Casadó",
            "role": "CDM",
            "market_value": 17400000,
            "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": 0.8,
            "defensive_success_rate": 0.507
          }
        ],
        "duel_analysis": "Lucien Agoumé (CM) is evenly matched against Marc Casadó in a direct 1v1 contest. Duel win probability: 49%.  Projected xG contribution: 0.056 — with neither side clearly dominant."
      }
    ],
    "midfield_battle": {
      "home_midfield_power": 0.521,
      "away_midfield_power": 0.489,
      "home_creative_power": 0.451,
      "away_creative_power": 0.361,
      "home_defensive_power": 0.493,
      "away_defensive_power": 0.439,
      "home_dominance_ratio": 0.516,
      "home_midfield_count": 3,
      "away_midfield_count": 4,
      "home_midfield_players": [
        "Mario Soriano",
        "Marc Casadó",
        "Lorenzo Amatucci"
      ],
      "away_midfield_players": [
        "Jon Guridi",
        "Giorgi Kochorashvili",
        "Lucien Agoumé",
        "Miguel Sierra"
      ],
      "possession_advantage": "neutral",
      "estimated_possession_home_pct": 50.6,
      "estimated_possession_away_pct": 49.4,
      "home_pressing_actions_per_90": 6.7,
      "away_pressing_actions_per_90": 6.4,
      "home_key_passes_projected": 4.2,
      "away_key_passes_projected": 3.7,
      "home_throughball_threat": 2.0,
      "away_throughball_threat": 1.7,
      "key_personal_duel": "Marc Casadó vs Lucien Agoumé",
      "midfield_lambda_factor_home": 1.004,
      "midfield_lambda_factor_away": 0.986
    },
    "formation_analysis": {
      "home_formation": "4-2-3-1",
      "away_formation": "4-4-2",
      "home_tactical_bonus": 0.07,
      "away_tactical_bonus": -0.04,
      "formation_verdict": "4-2-3-1 creates structural superiority against 4-4-2. Home team should exploit wider spaces and numerical advantages in transition."
    },
    "home_lambda": 1.363,
    "away_lambda": 1.02,
    "home_top_threat_zones": [
      "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
      "Holding Mid vs Central Mid — Midfield Anchor Duel"
    ],
    "away_top_threat_zones": [
      "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
      "Central Mid vs Defensive Mid — Pressing/Creation Duel"
    ],
    "home_player_antagonists": {
      "Mario Soriano": {
        "opponents": [
          "Kike Salas",
          "Jon Guridi"
        ],
        "primary_zone": "Left Wing vs Right Back — Flank Battle",
        "source": "attacking_duel, midfield_pairing"
      },
      "Pierre-Emerick Aubameyang": {
        "opponents": [
          "Andrés Castrin",
          "Juan Iglesias"
        ],
        "primary_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "source": "attacking_duel"
      },
      "Marc Casadó": {
        "opponents": [
          "Lucien Agoumé",
          "Giorgi Kochorashvili"
        ],
        "primary_zone": "Holding Mid vs Central Mid — Midfield Anchor Duel",
        "source": "attacking_duel, defensive_duel, midfield_pairing"
      },
      "José María Giménez": {
        "opponents": [
          "Robbie Ure"
        ],
        "primary_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "source": "defensive_duel"
      },
      "Lucas Noubi": {
        "opponents": [
          "Robbie Ure"
        ],
        "primary_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "source": "defensive_duel"
      },
      "Ximo Navarro": {
        "opponents": [
          "Jon Guridi"
        ],
        "primary_zone": "Left Mid vs Right Back — Wide Channel",
        "source": "defensive_duel"
      },
      "Giacomo Quagliata": {
        "opponents": [
          "Giorgi Kochorashvili"
        ],
        "primary_zone": "Right Mid vs Left Back — Wide Channel",
        "source": "defensive_duel"
      },
      "Lorenzo Amatucci": {
        "opponents": [
          "Miguel Sierra"
        ],
        "primary_zone": "Midfield lane",
        "source": "midfield_pairing"
      },
      "Leo Román": {
        "opponents": [
          "Chidera Ejuke",
          "Robbie Ure"
        ],
        "primary_zone": "Shape fallback",
        "source": "formation_fallback"
      },
      "Yeremay Hernández": {
        "opponents": [
          "Gabriel Suazo",
          "Kike Salas"
        ],
        "primary_zone": "Shape fallback",
        "source": "formation_fallback"
      },
      "Adama Traoré": {
        "opponents": [
          "Gabriel Suazo",
          "Andrés Castrin"
        ],
        "primary_zone": "Shape fallback",
        "source": "formation_fallback"
      }
    },
    "away_player_antagonists": {
      "Kike Salas": {
        "opponents": [
          "Mario Soriano"
        ],
        "primary_zone": "Left Wing vs Right Back — Flank Battle",
        "source": "defensive_duel"
      },
      "Andrés Castrin": {
        "opponents": [
          "Pierre-Emerick Aubameyang"
        ],
        "primary_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "source": "defensive_duel"
      },
      "Juan Iglesias": {
        "opponents": [
          "Pierre-Emerick Aubameyang"
        ],
        "primary_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "source": "defensive_duel"
      },
      "Lucien Agoumé": {
        "opponents": [
          "Marc Casadó"
        ],
        "primary_zone": "Holding Mid vs Central Mid — Midfield Anchor Duel",
        "source": "defensive_duel, attacking_duel, midfield_pairing"
      },
      "Robbie Ure": {
        "opponents": [
          "José María Giménez",
          "Lucas Noubi"
        ],
        "primary_zone": "Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle",
        "source": "attacking_duel"
      },
      "Jon Guridi": {
        "opponents": [
          "Ximo Navarro",
          "Mario Soriano"
        ],
        "primary_zone": "Left Mid vs Right Back — Wide Channel",
        "source": "attacking_duel, midfield_pairing"
      },
      "Giorgi Kochorashvili": {
        "opponents": [
          "Giacomo Quagliata",
          "Marc Casadó"
        ],
        "primary_zone": "Right Mid vs Left Back — Wide Channel",
        "source": "attacking_duel, midfield_pairing"
      },
      "Miguel Sierra": {
        "opponents": [
          "Lorenzo Amatucci"
        ],
        "primary_zone": "Midfield lane",
        "source": "midfield_pairing"
      },
      "Odysseas Vlachodimos": {
        "opponents": [
          "Yeremay Hernández",
          "Adama Traoré"
        ],
        "primary_zone": "Shape fallback",
        "source": "formation_fallback"
      },
      "Gabriel Suazo": {
        "opponents": [
          "Yeremay Hernández"
        ],
        "primary_zone": "Shape fallback",
        "source": "formation_fallback"
      },
      "Chidera Ejuke": {
        "opponents": [
          "José María Giménez",
          "Giacomo Quagliata"
        ],
        "primary_zone": "Shape fallback",
        "source": "formation_fallback"
      }
    },
    "key_tactical_insight": "Midfield is evenly contested — Marc Casadó vs Lucien Agoumé will be the pivotal duel. Total antagonist xG — Home: 0.37, Away: 0.30. Home danger zone: Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle. Away danger zone: Striker vs Two Centre Backs — 1v2 Aerial/Physical Battle.",
    "lambda_factors": {
      "home_gk_opposition_factor": 1.0096,
      "away_gk_opposition_factor": 0.9965,
      "home_set_piece_bonus": 0.031,
      "away_set_piece_bonus": 0.093,
      "home_defensive_solidity_vs": 0.9745,
      "away_defensive_solidity_vs": 1.0111,
      "home_midfield_factor": 1.004,
      "away_midfield_factor": 0.986,
      "stage_discount": 1.0,
      "quality_gap_applied": false,
      "home_avg_quality": 0.4875,
      "away_avg_quality": 0.4769,
      "avg_quality_gap": 0.0107,
      "squad_value_gap_log": 0.1337,
      "top5_value_gap_log": 0.2149,
      "attack_value_gap_log": 0.5823,
      "elite_count_gap": 0,
      "combined_quality_gap": 0.0459,
      "stronger_lambda_boost": 0.0,
      "weaker_lambda_suppression": 0.0,
      "home_bench_lambda_bonus": 0.0612,
      "away_bench_lambda_bonus": 0.064,
      "home_bench_players_modelled": 7,
      "away_bench_players_modelled": 7,
      "mismatch_score_pressure_applied": false,
      "competitive_underdog_floor_applied": true,
      "competitive_underdog_floor": 1.02,
      "pre_competitive_floor_home_lambda": 1.363,
      "pre_competitive_floor_away_lambda": 0.889,
      "pre_calibration_home_lambda": 1.3632,
      "pre_calibration_away_lambda": 0.889,
      "competition_calibration_applied": false,
      "competition_calibration_reason": "no_sofascore_matches_data",
      "competition_calibration_samples": 0,
      "competition_observed_total_goals": 0.0,
      "competition_calibration_scale": 1.0,
      "neutral_share_preserved": false,
      "final_home_lambda": 1.363,
      "final_away_lambda": 1.02
    }
  },
  "home_standing": {
    "available": true,
    "team_position": 5,
    "opponent_position": 7,
    "standing_lambda_multiplier": 1.3571,
    "attack_index": 1.666,
    "defense_concede_index": 1.249,
    "form_multiplier": 1.015,
    "team_attack_rate_contextual": 2.0,
    "opp_defense_rate_contextual": 1.5,
    "team_ppg": 2.0,
    "opponent_ppg": 1.75
  },
  "away_standing": {
    "available": true,
    "team_position": 7,
    "opponent_position": 5,
    "standing_lambda_multiplier": 1.1826,
    "attack_index": 1.458,
    "defense_concede_index": 1.041,
    "form_multiplier": 0.985,
    "team_attack_rate_contextual": 1.75,
    "opp_defense_rate_contextual": 1.25,
    "team_ppg": 1.75,
    "opponent_ppg": 2.0
  },
  "xgboost_reasoning": {
    "summary": "Antagonist + XGBoost match analysis for Deportivo vs Sevilla. 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-4-2 (duel lambdas: Home 1.363, Away 0.889). Final calibrated Poisson lambdas: Home 1.363, Away 1.020 (most likely score 1-0).",
    "competition": "LaLiga",
    "model_coverage": {
      "home_starters_count": 11,
      "home_xgboost_players": 11,
      "home_fbref_players": 9,
      "away_starters_count": 11,
      "away_xgboost_players": 11,
      "away_fbref_players": 8,
      "home_bench_modelled": 7,
      "away_bench_modelled": 7
    },
    "team_priors": {
      "applied": false,
      "reason": "Non-target league or squad priors not found"
    },
    "pipeline_stages": [
      "1. XGBoost player regressions for volume & event rates with market-value quality scaling",
      "2. Multi-source prior blending (FBref 2026-2027 tables + Sofascore season history)",
      "3. Antagonist formation duel matrix resolving 1v1 and zonal matchups",
      "4. Team-level prior calibration (FBref possession and attack/defense efficiencies)",
      "5. Bivariate Poisson matrix with Dixon-Coles low-score correction"
    ],
    "final_lambdas": {
      "home_lambda": 1.363,
      "away_lambda": 1.02,
      "micro_duel_home_lambda": 1.363,
      "micro_duel_away_lambda": 0.889
    },
    "calibration_and_pressure": {
      "competition_calibration_applied": false,
      "competition_calibration_scale": 1.0,
      "mismatch_pressure_applied": false,
      "underdog_floor_applied": true
    }
  },
  "timestamp": "2026-09-16T13:30:41Z"
}